gpt4 book ai didi

c# - System32 文件夹的 Environment.GetFolderPath(Environment.SpecialFolder.System) 和 Environment.SystemDirectory 之间的区别

转载 作者:可可西里 更新时间:2023-11-01 14:43:53 29 4
gpt4 key购买 nike

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

最佳答案

你可能更喜欢使用

Environment.SystemDirectory

这是因为,.NET 框架已经知道您需要什么文件夹,并且在幕后直接调用

Win32Native.GetSystemDirectory

来自底层 kernerl32.dll..(然后进行快速权限检查)

如果你使用,

Environment.GetFolderPath

然后您必须传入一个枚举,而在幕后,GetFolderPath 必须进行快速枚举有效性检查。完成后,它会调用 native

Win32Native.SHGetFolderPath

传入与所需文件夹类型等效的整数。

这从 native shfolder.dll 调用底层方法并且此方法将再次根据请求的文件夹进行类似检查的开关/案例,并最终调用系统目录逻辑。

基于以上2个流程,

Environment.SystemDirectory

应该更适合您,而且可能更快。 (我没有真正测量过)

关于c# - System32 文件夹的 Environment.GetFolderPath(Environment.SpecialFolder.System) 和 Environment.SystemDirectory 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23327711/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com