使用Delphi (运行在Windows 11 ARM上)检测ARM处理器体系结构的最可靠方法是什么?
发布于 2022-01-25 06:33:01
雷米上面的建议很好,但如果您想检测一个x86程序是否运行在ARM Windows上,我认为您可以这样做(未经测试,因为我没有访问ARM Windows的权限):
TYPE
TImageFileMachine = USHORT;
TIsWow64Process2 = FUNCTION(Handle : THandle ; VAR ProcessMachine,NativeMachine : TImageFileMachine) : LongBool; cdecl;
CONST
IMAGE_FILE_MACHINE_ARM64 = $AA64;
FUNCTION IsARM : BOOLEAN;
VAR
F : TIsWow64Process2;
P,N : TImageFileMachine;
H : THandle;
BEGIN
@F:=GetProcAddress(GetModuleHandle('kernel32.dll'),'IsWow64Process2');
IF NOT Assigned(F) THEN
Result:=FALSE
ELSE IF NOT F(GetCurrentProcess,P,N) THEN
Result:=FALSE
ELSE
Result:=(N=IMAGE_FILE_MACHINE_ARM64)
END;https://stackoverflow.com/questions/70839785
复制相似问题