Ermitteln Bitness eines Betriebssystems


Einführung


Dieser Artikel beschreibt ein All-In-One-Framework Code-Beispiel, das verfügbar ist. Dieses Beispiel enthält eine schrittweise Anleitung zum Schreiben von Visual Basic, Visual c++.NET, Visual Basic oder Visual C#-Code um programmgesteuert zu bestimmen, ob das Betriebssystem des aktuellen Computers oder eines Remotecomputers ein 64-Bit-Betriebssystem ist System.

Informationen zum Download

Um dieses Codebeispiel klicken:


Technische Übersicht

Die Beispiele stellen zwei Projektmappen programmgesteuert erkennen, ob Sie auf einem 64-Bit-Betriebssystem oder nicht ausgeführt werden.

Lösung 1. Funktion IsWow64Process Bitness der laufenden System überprüfen.

Wenn laufende Prozess ein 64-Bit-Prozess ist, muss das aktuelle Betriebssystem ein 64-Bit-Betriebssystem.

#if defined(_WIN64)
return TRUE; // 64-bit programs run only on Win64

Ist der laufende Prozess 32-Bit-Prozess, können die IsWow64Process-Funktion Sie überprüfen, ob das aktuelle Betriebssystem ein 64-Bit-Betriebssystem ist.

#elif defined(_WIN32)
// 32-bit programs run on both 32-bit and 64-bit Windows
BOOL f64bitOS = FALSE;
return ((DoesWin32MethodExist(L"kernel32.dll", "IsWow64Process") &&
IsWow64Process(GetCurrentProcess(), &f64bitOS)) && f64bitOS);


Lösung 2. Mithilfe der AddressWidth-Eigenschaft der WMI-Klasse Win32_Processor Abfragen die Bitness der lokalen oder remote-Systeme.

Die AddressWidth-Eigenschaft der WMI-Klasse Win32_Processor bestimmt den aktuellen Modus des Prozessors. Auf einem 32-Bit-Betriebssystem wäre Win32_Processor.AddressWidth 32; auf einem 64-Bit-Betriebssystem wäre Win32_Processor.AddressWidth 64.

OSArchitecture-Eigenschaft der WMI-Klasse Win32_OperatingSystem kann auch Bitness OS sagen, aber die Eigenschaft ist nur in Windows Vista und neueren Betriebssystemen verfügbar.


HinweisWeitere Informationen zum Erstellen der beispielanwendung und zum Bereitstellen der Anwendung finden Sie unter Datei "Readme.txt", die im Download-Paket enthalten ist.

Kategorie

  • Windows-Basis

Sprachen

Dieses Codebeispiel enthält die folgenden Programmiersprachen:

SpracheProjektname
Visual C++CppCheckOSBitness
Visual C#CSCheckOSBitness
Visual Basic.NETVBCheckOSBitness

Voraussetzungen

  • Diese Anwendung wurde erstellt mit Microsoft Visual Studio 2008 Service Pack 1 installiert.


Weitere Informationen


Was ist All-In-One Code Framework?

All-In-One Code Rahmen zeigt die meisten Microsoft-Entwicklungstechniken mit Codebeispielen in verschiedenen Programmiersprachen. Jedes Beispiel ist sorgfältig ausgewählte zusammengesetzt und dokumentiert, um Code häufig anzeigen. Weitere Informationen zu All-In-One Code Framework finden Sie auf der folgenden Website:
http://1code.codeplex.com

So finden Sie weitere All-In-One Framework Code-Beispiele

Erfahren Sie mehr-One Framework Code Samples können Sie einfach den folgenden Link klicken:
http://support.microsoft.com/gp/gp_kbcodefx

Referenzen


Programmgesteuert ermitteln, ob Sie auf 64-Bit-Windows ausgeführt wird
http://blogs.msdn.com/oldnewthing/archive/2005/02/01/364563.aspx