Windows|如何判断当前是否运行在64位的Windows?

Windows|如何判断当前是否运行在64位的Windows?

文章图片

Windows|如何判断当前是否运行在64位的Windows?

如果你想使用代码的方式来判断一个32位的程序是否运行在一个64位的Windows系统上 , 你可以使用这个API: IsWow64Process 。 今天我们来仔细看看 。
请不要轻易详细网上其他人的一些说法 , 将64位处理器的列表硬编码到你的程序中 。
你可能会认为 , 在第一次修改64位处理器的硬编码列表(例如 , 将 x64 添加到 ia64 时)之后 , 人们会吸取教训 。
但是 , 如何从 64 位进程中以编程的方式检测是否在 64 位 Windows 上运行? 那其实简单的 。

为什么上面的代码直接返回了TRUE?
因为 , 你的 64 位程序正在运行这一事实意味着 , 你正在 64 位 Windows 上运行! 如果它是 32 位机器 , 程序将无法运行 。
这就好比 , 你的程序问了这样一个问题 , “电源打开了吗?” 如果没有电源 , 你的程序将无法提出问题 。
当然了 , 如果你想要一个既可以编译为 32 位程序又可以编译为 64 位程序的源代码库 , 需要做的工作量很少 。

如果你疯狂到仍然在编写 16 位 Windows 程序 , 我会为 16 位程序创建一个分支 。
哈哈哈 。
总结此技法确实好用 , 我一直在用 。 虽然 , 目前TopomelBox只发布了32位版本 , 但每日构建我都会生成32位和64位版本 。
所以 , 如果不幸地有一天 , 老大哥(Microsoft)决定完全废弃掉32位版本的支持 , 我也能很快的切换到64位版本上去 。
猿友们 , 要未雨绸缪 。
最后Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一 , 里面有很多关于Windows的小知识 , 对于广大Windows平台开发者来说 , 确实十分有帮助 。
本文来自:《How to detect programmatically whether you are running on 64-bit Windows》
【Windows|如何判断当前是否运行在64位的Windows?】

    相关经验推荐