Frage

Ich möchte meine Benutzer korrekte Links zu einer aktualisierten Version meines Programms bieten, basierend auf welcher Plattform sie laufen auf, so muss ich wissen, ob ich zur Zeit auf einem x86-Betriebssystem oder ein x64 OS renne.

Das Beste, was ich gefunden habe, ist Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE"), aber ich würde denken, dass eine eingebaute in der Einrichtung hierfür wäre?

War es hilfreich?

Lösung

Environment.Is64BitOperatingSystem und Environment.Is64BitProcess werden eingeführt in .NET 4 für 2 .NET müssen Sie einige der anderen Antworten auszuprobieren.

Andere Tipps

Anruf IsWow64Process um herauszufinden, ob Ihr 32-Bit-Prozess wird in WOW64 auf einem 64-Bit-Betriebssystem ausgeführt wird. Sie können GetNativeSystemInfo rufen um genau herauszufinden, was es ist:. Die wProcessorArchitecture member von SYSTEM_INFO für 32-Bit-PROCESSOR_ARCHITECTURE_INTEL werden, PROCESSOR_ARCHITECTURE_AMD64 für x64 und PROCESSOR_ARCHITECTURE_IA64 für Intels Itanium

Überprüfen Sie die Größe von IntPtr mit Marshal.SizeOf. 32 Bit = 4 Bytes, 64-Bit = 8 Bytes.

Edit:. Ich bin nicht sicher, ob dies ist, was Sie suchen nach der Frage erneut zu lesen

Sie können eine Menge über Umgebungsvariablen bestimmen, wie in C # - wie Program Files (x86) unter Windows 64-Bit- [Und das geschah zu mir paßt besser als Mikes Antwort, die ich +1 gegeben bekommen, wie ich bei der Suche nach der interessiert sein passiere Program Files Verzeichnisname]

Überprüfen Sie nur IntPtr.Size. Sie müssen Zielplattform als AnyCPU haben.

von hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top