问题描述
- 为什么SetEnvironmentVariable没有修改环境变量
-
PTSTR pszEnvironmentName = NULL; PTSTR pszEnvironmentValue = NULL; DWORD dwValueLength = 0; pszEnvironmentName = (PTSTR)malloc(MAX_PATH * sizeof(TCHAR)); GetDlgItemText(hDlg, IDD_EDIT_NAME, pszEnvironmentName, MAX_PATH); pszEnvironmentValue = (PTSTR)malloc(1024 * sizeof(TCHAR) * 3); GetDlgItemText(hDlg, IDD_EDIT_VALUE, pszEnvironmentValue, 1024 * sizeof(TCHAR) * 3); if (SetEnvironmentVariable(pszEnvironmentName, pszEnvironmentValue)) { MessageBox(hDlg, TEXT("修改成功!"), TEXT("成功"), MB_OK); } else { MessageBox(hDlg, TEXT("修改失败!"), TEXT("失败"), MB_OK); } //释放分配的内存 free(pszEnvironmentValue); free(pszEnvironmentName);
解决方案
参考:http://www.cnblogs.com/runliuv/p/3489427.html
解决方案二:
是修改的用户环境变量还是系统环境变量。你要查看一下。
时间: 2025-01-29 22:13:54