文章图片
如果你想使用代码的方式来判断一个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?】
相关经验推荐
- 一加科技|一加Ace实际上手体验如何,是否值得入手?
- 无线耳机|弯道超车 国产真无线耳机是如何做到让人直呼真香的
- 笔记本|i7-1260p和i5-12500h怎么选?性能区别如何?参数对比评测
- 华为|我如何靠吸引力法则,三个月显化了负债翻转和笔记本电脑电脑?
- 软件|收藏!谷歌SEO如何获取关键词?
- 三星|vivo X80系列影像实力如何?这些细节你应该知道
- 游戏本|顶级游戏本如何选?神舟战神ZX10-DA5DP实力爆表
- 索尼|最好天玑8100手机体验如何?看了大V们测试一加Ace,心里有了答案
- iPhone|iPhone14系列如何选择?四大关键区分点很清晰!
- VR|如何用手机拍出哈苏相机感觉?分享下私藏的秘密,一般人我不告诉他