C++设置/获取环境变量

int main()
{
	// 获取环境变量
	char* pathVar = getenv("MyTemp1");
	if (pathVar != nullptr) {
		std::cout << pathVar << std::endl;
	}

	 
	//_putenv("MyTemp=test");
	//
	//char* pathVar1 = getenv("MyTemp");
	//std::cout << pathVar1 << std::endl;

	HKEY hKey;//句柄

	const char *key = "System\\CurrentControlSet\\Control\\Session Manager\\Environment"; //注册表路径


	RegOpenKeyEx(HKEY_LOCAL_MACHINE, key, 0, KEY_READ | KEY_WRITE, &hKey); //打开注册表

	const char*path = "test1";
	RegSetValueEx(hKey, "MyTemp1", NULL, REG_SZ, (const unsigned char*)path, strlen(path)); //设置注册表


	RegCloseKey(hKey); //关闭注册表

	//DWORD MsgResult;
	//SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, LPARAM("Environment"), SMTO_ABORTIFHUNG, 5000, &MsgResult);

	DWORD dwResult;
	SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, LPARAM(_T("Environment")), SMTO_ABORTIFHUNG, 15000, &dwResult);//广播立即执行  
	//SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) "Environment", SMTO_ABORTIFHUNG, 1000, NULL);
	//SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)L"Environment", SMTO_ABORTIFHUNG, 1000, NULL);

	//	char* pathVar2 = getenv("MyTemp1");
	//std::cout << pathVar2 << std::endl;

}

猜你喜欢

转载自blog.csdn.net/tianzhiyi1989sq/article/details/110502380