我想system32
在 32 位 Windows 和SysWOW64
64 位 Windows 上获取路径路径。两者都Environment.GetFolderPath(Environment.SpecialFolder.System)
工作Environment.SystemDirectory
正常。我应该更喜欢和使用哪一个?我正在使用 .NET 2.0
问问题
4670 次
1 回答
8
你可能更喜欢使用
Environment.SystemDirectory
这是因为,.NET 框架已经知道您需要什么文件夹,并且在幕后直接调用
Win32Native.GetSystemDirectory
从底层kernerl32.dll
..(然后进行快速权限检查)
如果你使用,
Environment.GetFolderPath
然后你必须通过一个枚举,并且在幕后GetFolderPath
必须做一个快速的枚举有效性检查。完成后,它会调用本机
Win32Native.SHGetFolderPath
传入与所需文件夹类型等效的整数。
这会从本机调用底层方法,shfolder.dll
并且此方法将再次根据请求的文件夹进行开关/案例检查,并最终调用系统目录逻辑。
基于上述 2 个流程,
Environment.SystemDirectory
应该更适合您,并且可能更快。(我还没有真正测量过)
于 2014-04-27T19:22:57.360 回答