需要注意是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,...