Как определить разрядность операционной системы



Эта статья на английском языке:2060044

Введение эта ссылка может указывать на содержимое полностью или частично на английском языке


В статье образец кода Framework все В одном, доступных для загрузки. Этот пример включает пошаговые инструкции о способах написания кода на Visual Basic.NET Visual C++ .NET, Visual Basic.NET и Visual C# для программного определения является ли операционной системы локального компьютера или на удаленном компьютере с 64-разрядной операционной системой.

СВЕДЕНИЯ О ЗАГРУЗКЕ

Чтобы загрузить этот образец кода, щелкните следующую ссылку:


Технический обзор

Эти примеры представлены два решения программным способом обнаружения ли при выполнении в 64-разрядной операционной системе или нет.

Способ 1. Используйте функцию IsWow64Process для проверки разрядность работы системы.

Если 64-разрядном процессе запущенного процесса, текущей операционной системы должны быть 64-разрядной операционной системы.

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

Если 32-разрядного процесса, выполняющегося процесса функция IsWow64Process для проверки, является ли текущая операционная система 64-разрядной операционной системы.

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


Решение 2. С помощью свойства AddressWidth WMI-классаWin32_ProcessorЧтобы запросить разрядность локальной или удаленной системы.

Свойство AddressWidth WMI-классаWin32_ProcessorУказывает текущий режим работы процессора. На 32-разрядной операционной системы, Win32_Processor.AddressWidth бы 32, 64-разрядной операционной системе,Win32_Processor.AddressWidthбыло бы 64.

Свойство OSArchitecture WMI-классаWin32_OperatingSystemМожно также определить разрядность операционной системы, но свойство доступно только в Windows Vista и более новых операционных систем.


Примечание.Для получения дополнительных сведений о создании образца приложения и развертывание образца приложения содержатся в файле Readme.txt, включенные в пакет загрузки.

Категории технологии

  • Базовая Windows

Языки

Этот пример кода содержит следующие языки программирования:

ЯзыкИмя проекта
В Visual C++CppCheckOSBitness
В Visual C#CSCheckOSBitness
Visual Basic.NET.VBCheckOSBitness

Предвартельные требования

  • Этот образец приложения был создан с помощью Microsoft Visual Studio 2008 с пакетом обновления 1.


Дополнительная информация


Что такое Framework кода все В одном?

Framework кода все В одном отображается большинство методов разработки корпорации Майкрософт с помощью примеров кода на различных языках программирования. Каждый пример тщательно выбран, состоит и, чтобы показать одним из распространенных сценариев кода. Для получения дополнительных сведений о Framework кода все В одном посетите следующий веб-узел:
http://1code.CodePlex.com

Как найти дополнительные примеры кода Framework все В одном

Чтобы найти дополнительные примеры кода Framework все В одном, просто щелкните следующую ссылку:
http://support.Microsoft.com/gp/gp_kbcodefx

Ссылки


Как программно определить ли выполняется на 64-разрядной версии Windows
http://blogs.MSDN.com/oldnewthing/Archive/2005/02/01/364563.aspx


Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт . Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования.