4

我想system32在 32 位 Windows 和SysWOW6464 位 Windows 上获取路径路径。两者都Environment.GetFolderPath(Environment.SpecialFolder.System)工作Environment.SystemDirectory正常。我应该更喜欢和使用哪一个?我正在使用 .NET 2.0

4

1 回答 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 回答