una software ruta resueltos para online metodo holgura hacer empresa ejemplos ejemplo critica cpm construccion como calcula c++ winapi path environment-variables

c++ - software - ruta critica online



¿Hay alguna manera de establecer la ruta del entorno mediante programación en C++ en Windows? (5)

¿Hay alguna manera de establecer la variable de entorno de la ruta global de Windows mediante programación (C ++)?

Por lo que puedo ver, putenv lo configura solo para la aplicación actual.
Cambiar directamente en el registro (HKLM/SYSTEM/CurrentControlSet/Control/Session Manager/Environment) también es una opción, aunque preferiría los métodos API si los hay?


No hay API: cambiar el registro es la manera de hacerlo. El valor modificado se usará para procesos que comiencen después de que se realizó el cambio.

Además: tenga en cuenta que las aplicaciones en ejecución deben procesar activamente el mensaje de configuración modificada y muchas (¿la mayoría?) No lo hacen.


Sí, estás en lo correcto. También necesita realizar estas configuraciones sin cerrar la sesión

Enviar mensaje de conversión de borad a todas las ventanas SETTINGCHANGE para el parámetro (LPARAM) "Entorno" con SMTO_ABORTIFHUNG durante algunos milisegundos (5000) mediante la API SendMessageTimeout.

Esto es lo que establece setX.exe con el recurso Kit.


Si desea hacerlo a través del registro, es posible que desee consultar el código fuente de este programa.

Microsoft también proporciona una pequeña utilidad de línea de comandos llamada setx con sus kits de herramientas de recursos , lo que le permitirá hacer esto. Por cierto, el comando set regular simplemente te permite definir variables de entorno locales, creo.


Como se señaló anteriormente, para cambiar la RUTA en el nivel de la máquina simplemente cambie esta entrada de registro:

HLM/SYSTEM/CurrentControlSet/Control/Session Manager/Environment

Pero también puede establecer la RUTA en el nivel de usuario cambiando esta entrada de registro:

HKEY_CURRENT_USER/Environment/Path

Y también puede establecer la RUTA en el nivel de la aplicación agregando los detalles de la aplicación / Ruta a esta entrada de registro:

HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/


MSDN dice :

Llamar a SetEnvironmentVariable no tiene ningún efecto en las variables de entorno del sistema. Para agregar o modificar mediante programación las variables de entorno del sistema, agréguelos a la clave de registro HKEY_LOCAL_MACHINE / System / CurrentControlSet / Control / Session Manager / Environment y luego transmita un mensaje WM_SETTINGCHANGE con lParam establecido en la cadena "Entorno". Esto permite que las aplicaciones, como el shell, recojan sus actualizaciones. Tenga en cuenta que los valores de las variables de entorno enumerados en esta clave están limitados a 1024 caracteres.