delphi 判斷是64位系統還是32為作業系統

2021-05-24 13:19:27 字數 1522 閱讀 2662

需要注意是getnativesysteminfo 函式從windows xp 開始才有, 而 iswow64process 函式從 windows xp with sp2 以及 windows server 2003 with sp1 開始才有。 所以使用該函式的時候最好用getprocaddress 。

function iswin64: boolean;  

var 

kernel32handle: thandle;  

iswow64process: function(handle: windows.thandle; var res: windows.bool): windows.bool; stdcall;  

getnativesysteminfo: procedure(var lpsysteminfo: tsysteminfo); stdcall;  

iswow64: bool;  

systeminfo: tsysteminfo;  

const 

processor_architecture_amd64 = 9;  

processor_architecture_ia64 = 6;  

begin 

kernel32handle := getmodulehandle('kernel32.dll');  

if kernel32handle = 0 then 

kernel32handle := loadlibrary('kernel32.dll');  

if kernel32handle <> 0 then 

begin 

iswow64process := getprocaddress(kernel32handle,'iswow64process');  

getnativesysteminfo := getprocaddress(kernel32handle,'getnativesysteminfo');  

if assigned(iswow64process) then 

begin 

iswow64process(getcurrentprocess,iswow64);  

result := iswow64 and assigned(getnativesysteminfo);  

if result then 

begin 

getnativesysteminfo(systeminfo);  

result := (systeminfo.wprocessorarchitecture = processor_architecture_amd64) or 

(systeminfo.wprocessorarchitecture = processor_architecture_ia64);  

end;  

end 

else result := false;  

end 

else result := false;  

end; 

判斷是否是64位作業系統

在看乙個外國佬的 的時候,看到乙個api函式,然後隨手查了查msdn,原來是新加的用來判斷是否是win64位系統的,於是寫了乙個函式用來判斷是否是64位作業系統 1function iswin64 boolean 2var 3kernel32handle thandle 4iswow64proces...

如何判斷Linux系統是32位還是64位

如何判斷linux是32位還是64位 在終端輸入 getconf long bit命令。如果是32位機器,則結果為32 root localhost getconf long bit 32如果是64位機器,則結果為64 root localhost getconf long bit 64如果是64位...

如何判斷作業系統是32位還是64位

64位機器可以執行32 64位作業系統,而32位機器只能執行32位作業系統,這樣就有乙個問題,對於乙個64位機器,如何判斷作業系統究竟是32位還是64位呢?總結了一下,基本方法如下 1.linux file sbin init sbin init elf 32 bit lsb executable,...