我不太想指定环境变量,因为我已经把系统的环境变量修改了
时间: 2023-10-08 08:07:51 浏览: 43
如果您已经修改了系统的环境变量,那么可以使用 ShellExecuteEx 函数来打开程序,并让它使用新的环境变量。ShellExecuteEx 函数可以继承当前进程的环境变量,并且也可以接受一个指定的环境变量块作为参数。以下是一个示例代码:
```cpp
#include <windows.h>
#include <shellapi.h>
int main()
{
// 定义并初始化变量
SHELLEXECUTEINFO sei = { sizeof(SHELLEXECUTEINFO) };
// 设置要启动的程序路径
sei.lpFile = "C:\\Path\\to\\your\\program.exe";
// 使用当前进程的环境变量
sei.lpEnvironment = NULL;
// 执行打开程序操作
BOOL success = ShellExecuteEx(&sei);
// 检查操作是否成功
if (success)
{
// 等待程序结束
WaitForSingleObject(sei.hProcess, INFINITE);
// 关闭进程句柄
CloseHandle(sei.hProcess);
}
else
{
// 操作失败,处理错误
DWORD error = GetLastError();
// ...
}
return 0;
}
```
您可以将示例代码中的 "C:\\Path\\to\\your\\program.exe" 替换为您要打开的程序的路径。请确保指定的路径正确无误。使用 ShellExecuteEx 函数打开程序时,它会继承当前进程的环境变量,包括您在系统中修改的环境变量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)