zoukankan      html  css  js  c++  java
  • 判断是否是64位操作系统

    在看一个外国佬的代码的时候,看到一个API函数,然后随手查了查MSDN,原来是新加的用来判断是否是Win64位系统的,于是写了一个函数用来判断是否是64位操作系统:


    代码
     1 function IsWin64: Boolean;  
     2 var  
     3    Kernel32Handle: THandle;  
     4    IsWow64Process: function(Handle: Windows.THandle; var Res: Windows.BOOL): Windows.BOOL; stdcall;  
     5    GetNativeSystemInfo: procedure(var lpSystemInfo: TSystemInfo); stdcall;  
     6    isWoW64: Bool;  
     7    SystemInfo: TSystemInfo;  
     8 const  
     9    PROCESSOR_ARCHITECTURE_AMD64 = 9;  
    10    PROCESSOR_ARCHITECTURE_IA64 = 6;  
    11 begin  
    12   Kernel32Handle := GetModuleHandle('KERNEL32.DLL');  
    13   if Kernel32Handle = 0 then  
    14     Kernel32Handle := LoadLibrary('KERNEL32.DLL');  
    15   if Kernel32Handle <> 0 then  
    16   begin  
    17     IsWOW64Process := GetProcAddress(Kernel32Handle,'IsWow64Process');  
    18     GetNativeSystemInfo := GetProcAddress(Kernel32Handle,'GetNativeSystemInfo');  
    19     if Assigned(IsWow64Process) then  
    20     begin  
    21       IsWow64Process(GetCurrentProcess,isWoW64);  
    22       Result := isWoW64 and Assigned(GetNativeSystemInfo);  
    23       if Result then  
    24       begin  
    25         GetNativeSystemInfo(SystemInfo);  
    26         Result := (SystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or  
    27                   (SystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64);  
    28       end;  
    29     end  
    30     else Result := False;  
    31   end  
    32   else Result := False;  
    33 end;  


    需要注意是GetNativeSystemInfo 函数从Windows XP 开始才有, 而 IsWow64Process 函数从 Windows XP with SP2 以及 Windows Server 2003 with SP1 开始才有。 所以使用该函数的时候最好用GetProcAddress

  • 相关阅读:
    (转)软件架构设计
    (转)IDG副总裁楼军:顶级VC青睐什么样的创业者
    (转)使用Aspose.Cell控件实现Excel高难度报表的生成(一)
    (转)创业者应该有的5个正常心态
    (转)成功创业者的7个好习惯
    (转)SqlServer2008 数据库同步的两种方式 (发布、订阅)
    (转)Salesforce的440亿美金并购宣告企业软件市场进入3.0互联网化时代
    (转)创始人之间如何分股权:按贡献估值
    (转)各种大型网站技术架构
    使用FileSystem类进行文件读写及查看文件信息
  • 原文地址:https://www.cnblogs.com/DxSoft/p/1637656.html
Copyright © 2011-2022 走看看