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

системи

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

Додано пізніше:через SYSTEM_INFO структуру?

PROCESSOR_ARCHITECTURE_AMD64 x64 (AMD або Intel)

PROCESSOR_ARCHITECTURE_IA64 Intel Itanium-based

PROCESSOR_ARCHITECTURE_UNKNOWN Unknown architecture.

Додано пізніше:Тільки так чи ще якось можна?

дізнатися

системи

системи

дізнатися

Що треба конкретно дізнатися? x64 додаток може припускати відразу, що у 64 ОС він і запущено. А ось з 32-битными додатками негаразд.

Хоча в C# не впевнений у своїй правоті. Компіляція: цільова платформа x64, завжди true, цільова платформа x86 - false, навіть якщо це 32-бітне запущено під wow64 на ос в 64 біти.

Спочатку я припускав, що додатку будь-якої бітності треба дізнатися про бітність ОС, в якій цей додаток запустили.

системи

Спочатку я припускав, що додатку будь-якої бітності треба дізнатися про бітність ОС, в якій цей додаток запустили.

дізнатися

Ну, якщо бути більш точним, то питання зводиться до іншого: як дізнатися, чи запущено 32-х розрядний процес в режимі емуляції , т.к. 64-розрядне програмне забезпечення просто не запуститься на 32-розрядній осі

тобто. відповідь дає абоIsWow64Process, або можна через CreateProcess спробувати запустити будь-який, виключно 64-бітний образ (тільки WOW64 такий CreateProcess пропустить)