【问题标题】:Is it safe to assume that the path C:\WINDOWS\system32 always exists?假设路径 C:\WINDOWS\system32 始终存在是否安全?
【发布时间】:2010-09-19 08:19:34
【问题描述】:

在 win 2000 或更高版本(任何语言)的操作系统上,我可以假设这条路径将始终存在吗? 例如,我知道在某些语言的 win xp 上,“程序文件”目录具有不同的名称。 System32 文件夹也是这样吗?

谢谢。 哦哈德。

【问题讨论】:

    标签: windows operating-system


    【解决方案1】:

    使用“windir”环境变量然后将“System32”附加到该路径的末尾可能会更安全。有时 windows 可能位于不同的文件夹或不同的驱动器下,因此“windir”会告诉你它在哪里。

    据我所知,system32文件夹应该一直存在于windows文件夹下。

    【讨论】:

      【解决方案2】:

      Windows 可以安装在不同的硬盘驱动器和/或不同的文件夹中。使用 %windir% 或 %systemroot% 环境变量将您带到 windows 文件夹并附加 system32。或者使用 %path% 变量,它通常是第一个入口,也是搜索 dlls AFAIK 等文件的首选方法。根据 cmets:不要过分依赖 system32 目录作为第一项。我确实认为可以安全地假设它在某个地方的 %path% 中。

      【讨论】:

      • 不要只取 %path% 中的第一项。许多程序喜欢将自身预先附加到 PATH 中,而不是后附加。 System32 在我的 LM PATH 中排在第 9 位。
      • 绝对正确,假设它在某个地方,我会编辑 :-)
      【解决方案3】:

      我会使用 GetWindowsDirectory Win32 API 来获取当前的 Windows 目录,将 System32 附加到它,然后检查它是否存在。

      【讨论】:

        【解决方案4】:

        不,你不能假设。

        Windows 可以安装到不同的路径。一种解决方案是通过调用 GetSystemDirectory(作为 Windows API 的一部分实现)来查找它。

        【讨论】:

          【解决方案5】:

          您绝对不能假设:Windows 可以安装在不同的驱动器号或不同的目录中。例如,在以前的工作 PC 上,Windows 安装在 D:\WINNT 中。

          简短的回答是使用 API 调用 GetSystemDirectory(),它会返回您所追求的路径。

          更长的答案是问:你真的需要知道这个吗?如果您使用它将文件复制到 Windows 目录中,我建议您询问您是否真的要这样做。不鼓励复制到 Windows 目录中,因为您很容易弄乱其他应用程序。如果您使用路径来查找 DLL,为什么不直接依靠操作系统来找到合适的,而不给出路径呢?如果您要深入研究操作系统文件的一部分,请考虑:将来会起作用吗?一般来说,如果您希望您的程序在未来的 Windows 版本上运行,最好不要在 Windows 目录中显式浏览。

          【讨论】:

          • 我投票赞成这个答案。我自己从其他人那里获得了更多的选票,但毫无疑问,这一选票更加完整和翔实。 Ohad42,请考虑将此标记为已接受的答案。
          • 谢谢大卫,很抱歉我花了这么长时间才接受答案。
          【解决方案6】:

          仅供参考,但在终端服务器环境(即 Citrix)中,GetWindowsDirectory() 可能会为远程用户返回唯一路径。

          link text

          随着越来越多的公司使用虚拟化桌面,开发人员需要牢记这一点。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-02-27
            • 1970-01-01
            • 2011-09-20
            • 2014-01-03
            • 1970-01-01
            • 1970-01-01
            • 2016-12-13
            • 1970-01-01
            相关资源
            最近更新 更多