GetEnvironmentVariable("CSIDL_COMMON_APPDATA")返回null

use*_*959 0 windows windows-7 c#-4.0

我正在尝试使用以下语句获取EnvironmentVariable"CSIDL_COMMON_APPDATA"

System.Environment.GetEnvironmentVariable("CSIDL_COMMON_APPDATA");
Run Code Online (Sandbox Code Playgroud)

我希望得到"C:\ ProgramData \".但我得到null我在Windows 7 32位机器上运行我的C#程序.请帮忙.

Han*_*ant 6

你距离正确的千里之外.它不是一个环境变量,它是一个传递给SHGetFolderPath()winapi函数的常量.您只能用母语编写那种代码.在C#中,您使用Environment.GetFolderPath()代替:

string path = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
Console.WriteLine(path);
Run Code Online (Sandbox Code Playgroud)

输出:

C:\ProgramData
Run Code Online (Sandbox Code Playgroud)