我正在尝试调用函数 CreateProcessAsUser。传递常量字符串很好。尝试使用 char* getenv(const char name) 获取环境变量给我带来了问题。
如果我使用以下内容,notepad.exe 将运行。
CreateProcessAsUser(hTokenDup, _T("c:\\windows\\notepad.exe"),
_T("c:\\windows\\notepad.exe"), NULL, NULL, FALSE,
dwCreationFlag, pEnvironment, NULL, &si, &pi);
但是,如果我使用以下内容,则不会运行。
CreateProcessAsUser(hTokenDup, _T("MyAppName"),
(LPTSTR)getenv("MYENVVAR"), NULL, NULL, FALSE,
dwCreationFlag, pEnvironment, NULL, &si, &pi);
我是否正确指定了 getenv 和 (LPTSTR)?
我尝试使用包含 c:\\windows\\notepad.exe 和 c:\windows\notepad.exe 的用户和系统环境变量。
谢谢!