windowsnt详解(一种最奇怪的检测Windows)
我的一位同事推荐了下面的代码为年度函数(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)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。我想:你值得拥有。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com