프로그램밍적으로 환경변수 등록하기
C-Runtime Library에 보면 환경 변수를 등록하고 가져오는 함수가 있다.
- #include "stdafx.h"
#include <Windows.h>
#include <cstdlib>
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR* pEnv = NULL ;
pEnv = _tgetenv(TEXT("path")) ; // 대소문자 구분없음
_tprintf(TEXT("%s\r\n\r\n"), pEnv) ;
_tputenv(TEXT("aa=myVal")) ;
pEnv = _tgetenv(TEXT("AA")) ;
_tprintf(TEXT("%s\r\n\r\n"), pEnv) ;
return 0;
}
이렇게 등록한 환경변수는 프로그램이 실행되는 동안에는 유지되는데 프로그램이 끝나도 환경변수가 유지되도록 하려면 레지스트리를 만지면 된다.
환경 변수들은 레지스트리 경로는 HKEY_CURRENT_USER\Environment 키와 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Session Manager\Environment 키의 하위 값으로 존재한다.
당연히 HKE_CRRET_UER\nvronmnt 키의 값들은 현재 사용자에 대한 사용자 변수이고 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Session Manager\Environment 키의 값들은 시스템 변수이다.
Comments (0)