- If current process is 64 bit?
returnIntPtr.Size == 8;
- If current OS has Wow64 function?
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public extern static IntPtrGetModuleHandle(string moduleName);
[DllImport("kernel32.dll", CharSet = CharSet.Ansi,BestFitMapping = false, SetLastError = true)]
public extern static IntPtrGetProcAddress(IntPtr hModule, string methodName);
return GetModuleHandle("kernel32.dll")!= IntPtr.Zero;
- If current OS is 64 bit?
[DllImport("kernel32.dll",SetLastError = true)]
[return:MarshalAs(UnmanagedType.Bool)]
public extern static boolIsWow64Process(IntPtr hProcess, [MarshalAs(UnmanagedType.Bool)] out boolisWow64);
[DllImport("kernel32.dll", CharSet = CharSet.Auto,SetLastError = true)]
public extern static IntPtrGetCurrentProcess();
bool is64Bit;
If(!IsWow64Process(GetCurrentProcess(),out is64Bit)) return is64Bit;
- If current computer is local?
return((String.Compare(computerName, "localhost",StringComparison.OrdinalIgnoreCase) == 0)
||(String.Compare(computerName, "127.0.0.1",StringComparison.OrdinalIgnoreCase) == 0)
||(String.Compare(computerName, "::1",StringComparison.OrdinalIgnoreCase) == 0)
||(String.Compare(computerName, Environment.MachineName,StringComparison.OrdinalIgnoreCase) == 0)
||(String.Compare(Dns.GetHostEntry(computerName).HostName ,Dns.GetHostEntry("localhost").HostName,StringComparison.OrdinalIgnoreCase)== 0));