Jak sprawdzić, czy moja aplikacja (skompilowana w Visual Studio 2008 jako Dowolny procesor) działa jako aplikacja 32-bitowa lub 64-bitowa?Jak sprawdzić, czy moja aplikacja działa jako aplikacja 32-bitowa czy 64-bitowa?
Odpowiedz
if (IntPtr.Size == 8)
{
// 64 bit machine
}
else if (IntPtr.Size == 4)
{
// 32 bit machine
}
znalazłem ten kod z Martijn Boven że załatwia sprawę:
public static bool Is64BitMode() {
return System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) == 8;
}
Jest wielce prawdopodobne, bardziej wydajne, aby zadzwonić IntPtr.Size zamiast Marshal.SizeOf (typeof (IntPtr)) – JaredPar
Chciałbym dać +1 do komentarza JaredPar za; tak bym to zrobił ... –
Jeśli używasz .NET 4.0, jest to jedna wkładka dla bieżącego procesu:
Environment.Is64BitProcess
Numer referencyjny: Environment.Is64BitProcess Property (MSDN)
Dzięki za przesłanie odpowiedzi, to świetnie wiedzieć. Nie zamierzam zmieniać obecnej zaakceptowanej odpowiedzi, ponieważ pierwotnie pytanie dotyczyło środowiska .NET 3.5, ale zachęcam ludzi do głosowania również na swoją odpowiedź. –
Ten przykładowy kod z Microsoft All-In-One ramowa Kod może odpowiedzieć na pytanie:
Detect the process running platform in C# (CSPlatformDetector)
Próbka Kod CSPlatformDetector wykazuje następujące zadania związane z wykrywaniem Platforma:
- Wykryj nazwę bieżącego systemu operacyjnego. (np. "Microsoft Windows 7 Enterprise")
- Wykryj wersję bieżącego systemu operacyjnego. (np. "Microsoft Windows NT 6.1.7600.0")
- Określa, czy bieżący system operacyjny jest 64-bitowym systemem operacyjnym.
- Sprawdź, czy bieżący proces jest procesem 64-bitowym.
- Określa, czy dowolny proces uruchomiony w systemie ma być 64-bitowy.
Jeśli chcesz tylko do określenia, czy aktualnie uruchomionego procesu jest 64-bitowy proces, można użyć właściwości Environment.Is64BitProcess, który jest nowością w .NET ramowej 4.
a jeśli aby wykryć, czy dowolna aplikacja działająca w systemie to proces 64-bit, trzeba określić bitness OS, a jeśli jest to 64-bitowy, wezwanie IsWow64Process()
z uchwytem procesu docelowa:
static bool Is64BitProcess(IntPtr hProcess)
{
bool flag = false;
if (Environment.Is64BitOperatingSystem)
{
// On 64-bit OS, if a process is not running under Wow64 mode,
// the process must be a 64-bit process.
flag = !(NativeMethods.IsWow64Process(hProcess, out flag) && flag);
}
return flag;
}
Może być użyteczną biblioteką, tylko trochę przesada w tym kontekście :). –
w .NET standardu można użyć System.Runtime.InteropServices.RuntimeInformation.OSArchitecture
- 1. Jak sprawdzić, czy moja aplikacja jest domyślnym programem uruchamiającym?
- 2. Jak mogę sprawdzić, czy moja aplikacja jest aktywna?
- 3. Jak sprawdzić, czy moja aplikacja może wyświetlać powiadomienia?
- 4. Jak wykryć, czy moja aplikacja jest piaskownica?
- 5. Sprawdź, czy moja aplikacja IOS jest zaktualizowana
- 6. Android: jak sprawdzić, czy aplikacja działa w tle
- 7. Sprawdź, czy aplikacja działa - InstallJammer
- 8. Wykryj, czy moja aplikacja działa pod IDE "Delphi 2007 .Net"
- 9. Jak sprawdzić, czy aplikacja jest uruchomiona
- 10. Jak sprawdzić, czy moja aplikacja jest ustawiona domyślnie, czy nie w systemie Android?
- 11. Jak sprawdzić, czy aplikacja YII działa z konsoli lub przeglądarki?
- 12. Jak mogę sprawdzić, czy aplikacja działa na systemie Android?
- 13. Jak sprawdzić programowo, czy aplikacja jest zainstalowana?
- 14. Czy moja aplikacja zareaguje na schemat adresu URL?
- 15. Sprawdź, czy aplikacja działa na symulatorze
- 16. Czy aplikacja C# monitoruje, jak długo działa?
- 17. Sprawdź, czy aplikacja działa na lądzie, czy nie.
- 18. Jak sprawdzić, jakie wymagania sprzętowe ma moja aplikacja na Androida?
- 19. Jak sprawdzić, czy inna aplikacja jest zminimalizowana, czy nie?
- 20. Czy aplikacja phonegap działa w tle?
- 21. iOS - wykrywanie, czy aplikacja działa pod Xcode
- 22. Jak sprawdzić programowo, czy aplikacja działa w trybie debugowania, czy nie?
- 23. Howto "sandbox" moja aplikacja Lion?
- 24. Sprawdź, czy aplikacja Qt C++ działa jako sudo
- 25. Jak sprawdzić, czy aplikacja iOS została niedawno zainstalowana lub zaktualizowana?
- 26. Najlepszy sposób sprawdzenia, czy aplikacja iPhone działa po raz pierwszy
- 27. Jak sprawdzić, czy moja aplikacja konsoli Delphi jest przekierowywana do pliku lub potoku?
- 28. Jak mogę sprawdzić, czy moja aplikacja dla Androida ma wyciek pamięci?
- 29. Jak mogę sprawdzić, czy moja aplikacja ma dostęp do galerii telefonu?
- 30. Czy moja aplikacja zostanie odrzucona, jeśli ikona ma zaokrąglone rogi?
Czy kompilator nie odgrywa żadnej roli pomiędzy? –