1 Commits
Author SHA1 Message Date
tiennm99 a9a76fb541 Update InjectionManager.cs 2026-02-27 15:56:25 +07:00
+16 -5
View File
@@ -95,17 +95,28 @@ namespace TimeMocker.UI.Core
} }
} }
[DllImport("kernel32.dll", SetLastError = true)]
private static extern bool IsWow64Process2(
IntPtr hProcess,
out ushort pProcessMachine,
out ushort pNativeMachine);
private static bool Is64BitProcess(Process process) private static bool Is64BitProcess(Process process)
{ {
if (!Environment.Is64BitOperatingSystem) if (!Environment.Is64BitOperatingSystem)
return false; return false;
bool isWow64; ushort processMachine, nativeMachine;
if (!IsWow64Process(process.Handle, out isWow64)) if (IsWow64Process2(process.Handle, out processMachine, out nativeMachine))
return false; {
// IMAGE_FILE_MACHINE_UNKNOWN (0) means it's a native 64-bit process
// IMAGE_FILE_MACHINE_I386 (0x014c) means it's 32-bit on 64-bit Windows
return processMachine == 0x0000; // 0 = native, not emulated
}
// If IsWow64Process returns false, it's a 64-bit process // Fallback
// If it returns true, it's a 32-bit process running on 64-bit Windows bool isWow64;
IsWow64Process(process.Handle, out isWow64);
return !isWow64; return !isWow64;
} }