Часто возникает задача программного определения разрядности операционной системы.
Сузим круг до ОС семейства Windows и программ для платформы .Net.
На ум может сразу же придёт много простых и грязных решений, типа:
Проверить существование ветки реестра HKEY_LOCAL_MACHINE / SOFTWARE / Wow6432Node
Проверить размер указателя VoidPtr
Убедиться в наличии на диске каталога Program Files (x86)
Получить значение переменной среды %PROCESSOR_ARCHITECTURE%
Последний вариант – почти годный, если бы не одно но. Если под 64-битной операционкой запущен 32-битный процесс, этот процесс считает из %PROCESSOR_ARCHITECTURE% значение «x86».
Так вот, зачем я пишу эту статью. Вместо этих танцев с бубнами лучше использовать функцию Environment.Is64BitOperatingSystem, появившуюся в четвёртом .Net Framework. Просто работает.
Как дела? Всё путём, или просто привыкли к «костылям» и «велосипедам»?
👉 Опишите проблему – если хотите устранить любой бардак навсегда
Что-то совершенно другое:
Хочется странного? Воспользуйтесь гаданием на блоге:
Тэги: .Net ✦ x64 ✦ x32 ✦ c# ✦ разрядности ✦ пример ✦ определение
Эта публикация, включая составляющие её текстовые, графические, аудио- и видеоматериалы, предоставляется исключительно в информационных и иллюстративных целях и не является профессиональной консультацией. Любые сценарии, описанные здесь, являются гипотетическими и не гарантируют конкретного результата, который может быть достигнут на основе сделанных выводов. Результаты тех или иных действий (или бездействия) варьируются в зависимости как от индивидуальных особенностей, так и от внешних факторов. Автор не несёт ответственности за решения, принятые на основе содержания этого материала. Всегда консультируйтесь с квалифицированными специалистами, прежде чем принимать важные деловые или личные решения.