Як визначити розрядність, операційної системи


ВСТУП


У цій статті описано на зразок коду Framework все в одному, доступний для завантаження. Це приклад включає в себе наведені покрокові інструкції про те, як записати код Visual Basic.NET, Visual C++ .NET, візуальний Basic.NET або Visual C# програмним способом визначити, що операційна система поточного комп'ютера або віддаленого комп'ютера чи на 64-розрядних операційних система.

Відомості про завантаження

Щоб завантажити в цьому прикладі, перейдіть за посиланням:


Технічний огляд

Зразки, ввести два рішення програмним шляхом виявлення, чи використовуєте на 64-розрядної операційної системи, або не.

Вирішення 1. Функція IsWow64Process перевірити з розрядністю запуск системи.

Якщо процес працює 64-розрядних процесу, поточну операційну систему, має бути в 64-розрядної операційної системи.

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

Якщо процес працює 32-розрядних процес, щоб перевірити, чи поточну операційну систему до 64-розрядної операційної системи або не можна IsWow64Process функції.

#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);


Вирішення 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
Візуальні Basic.NETVBCheckOSBitness

Попередні вимоги

  • Зразок застосунку, було створено за допомогою Microsoft Visual Studio 2008 з пакетом оновлень 1.


Додаткові відомості


Що таке все в одному з кодом Framework

Більшість Microsoft розробки технології, за допомогою все в одному з кодом 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