Si lo hago LoadLibrary("%windir%\\system32\\ole32.dll")
significa que Windows SOLO cargará desde "c: \ windows \ system32 \ ole32.dll"? También LoadLibrary() en C entiende la variable de entorno?¿LoadLibrary analiza las variables de entorno como% windir%
Respuesta
como dijo Serge y probado cuidadosamente, LoadLibrary no sustituye la variable de entorno en la ruta.
Sin embargo, hay una función en la API de Windows para reemplazar variables de entorno en cadenas: ExpandEnvironmentStrings()
. puede realizar la sustitución requerida en su ruta antes de llamar al LoadLibrary()
.
El docs for LoadLibrary establecen claramente que:
Si la cadena especifica una ruta completa, la función sólo busca en ese camino para el módulo.
Dicho esto, no mencionan el soporte para la sustitución de variables de entorno. Dudo seriamente que apoyen la sustitución de variables de entorno: es una característica de shell, no una API de kernel.
Por cierto, eso significa LoadLibrary()
consideraría como una ruta relativa ya que no comienza con una letra de unidad o una ruta UNC. Por lo tanto, miraría a través de toda la serie de directorios, buscando un subdirectorio llamado %windir%
, ¡que probablemente no encuentre!
Lo di una prueba rápida: confirma mi opinión. Error = 126: No se pudo encontrar el módulo especificado.
Sí, no expande variables de entorno. –
- 1. Eliminar ruta de las variables de entorno
- 2. cómo se evalúan las variables de entorno?
- 3. Imprime las variables de entorno usando environ
- 4. ResolvePath para VB6 - resolver variables de entorno
- 5. Obtener los valores reales de las variables de entorno en una máquina remota en .NET
- 6. ¿Cómo enumerar todas las variables de entorno en Vim?
- 7. Erlang: ¿Cómo acceder a las banderas de la CLI (argumentos) como variables de entorno de aplicaciones?
- 8. Comprobación de variables de entorno
- 9. ¿Cómo accedo a las variables de entorno en Vala?
- 10. ¿Cuáles son las otras variables de entorno heroku?
- 11. Cambiando las variables de entorno del proceso de llamada
- 12. Cómo enumerar todas las variables de entorno en Java
- 13. ¿Puedo confiar en las variables de mi entorno?
- 14. ¿Cómo obtengo el valor de las variables de entorno?
- 15. Imprimir la lista de TODAS las variables de entorno
- 16. ¿Dónde puedo ver las variables de entorno de WebSphere?
- 17. ¿El pasajero de Fusion no ve las variables de entorno?
- 18. Variables de entorno de Javascript
- 19. las variables de entorno en conjunto Engine Yard
- 20. Linux: ¿dónde se almacenan las variables de entorno?
- 21. ¿Dónde se almacenan las variables de entorno en el registro?
- 22. Eclipse no se abrirá debido a las variables de entorno
- 23. Imprimir todas las variables de entorno en C/C++
- 24. MSBuild requiere variables de entorno
- 25. Variables de entorno predefinidas de Delphi
- 26. claves SSH en variables de entorno
- 27. Linux - variables de entorno de seguridad
- 28. Variables de entorno de referencia en web.xml
- 29. ¿LoadLibrary crea instancias distintas?
- 30. Variables de entorno en enlaces simbólicos
No dos veces, no expande variables de entorno y no comprenderá los códigos de escape en su cadena. Y un programa de 32 bits estará sujeto a la redirección del sistema de archivos en un sistema operativo de 64 bits, cargando desde c: \ windows \ syswow64 en su lugar. –