一种最奇怪的检测Windows NT系统的方法
2023-09-14 09:10:44 时间
我的一位同事推荐了下面的代码为年度函数(Function of the Year),他也是第一个报告Windows Beta版本使用了一个值得怀疑的URL的人。
我不得不承认,这段代码确实令人印象深刻。和所有其他检查操作系统版本的方法相比,通过检测内存映射文件里的未公开实现细节来判断操作系统版本,确实是非常具有创造性。
请看代码
请不要诧异,这段函数并没有关闭映射文件句柄,并在你每次调用此函数时,会导致泄露了两个句柄资源和视图。
此外,如果内存管理器碰巧将第二个文件视图分配给下一个 64K 内存块,则此函数可能会在 Windows NT 机器上错误的报告FALSE。(它确实可以这样做,因为地址空间的颗粒度为64KB)
如果 MAIN.CPL 文件恰好小于 64K,或者如果你对该文件没有写权限,它也可能在 Windows 95 机器上错误地报告 TRUE。 (请注意,该程序请求对 MAIN.CPL 文件进行读写访问。)
另外,这段代码被许多流行的多媒体的标题栏使用。
检测一台电脑正在运行的是Windows 95系列还是Windows NT系列,最快捷的方法就是使用咱们的老朋友GetVersion这个函数,如下图所示:
最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《The strangest way of detecting Windows NT》
最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。
相关文章
- Windows net start mysql 启动MySQL服务报错 发生系统错误 5 解决方法
- Windows系统日志分析_windows系统事件日志
- Windows 系统 PostgreSQL 手工安装配置方法
- Crossover2023Mac切换Windows系统虚拟机兼容工具
- 记录两个mac与windows系统问题与解决方法
- 通过Windows批处理命令执行SQL Server数据库备份
- Oracle客户端版本及位数(Windows系统)查看方法
- windows对比分析:Linux与Windows系统(linuxvss)
- 的windows系统在Linux服务器上挂载Windows系统的操作步骤(linux挂载服务器上)
- Windows系统如何访问Linux共享文件夹(windows访问linux共享文件夹)
- 比较Windows和Linux:哪一个更好?(windows好还是linux好)
- Linux轻松访问Windows共享文件夹,搞定文件共享(linux访问windows共享文件夹)
- 利用Windows操作远程Linux系统(windows远程linux)
- 对比分析:Linux系统与Windows系统的异同(linux系统与windows系统的区别)
- Linux与Windows的异同:二者的对比分析(linux和windows的区别)
- Linux与Windows: 抉择难题(linux与windows区别)
- [下载] Mozilla Firefox v91.0正式版发布 现已支持Windows 10 SSO单点登录
- Windows下Nginx+PHP5的安装与配置方法
- Can'tcreate/writetofile'C:WINDOWSTEMP...MYSQL报错解决方法
- Windows和Linux系统下perl连接SQLServer数据库的方法
- Windows下PHP安装路径配置错误导致Apache无法启动的解决方法