Comment faire pour détecter le nombre de bits du système d’exploitation


INTRODUCTION


Cet article décrit un exemple de structure de Code tout-en-un qui est disponible au téléchargement. Cet exemple inclut un guide étape par étape sur la façon d’écrire du code Visual Basic.NET, Visual C++ .NET, Visual Basic.NET ou Visual C# pour déterminer par programme si le système d’exploitation de l’ordinateur actuel ou d’un ordinateur distant qui est une exploitation de 64 bits système.

Informations sur le téléchargement

Pour télécharger cet exemple de code, cliquez sur le lien suivant :


Vue d’ensemble technique

Ils présentent deux solutions de détecter par programmation si vous exécutez un système d’exploitation de 64 bits ou pas.

Solution 1. Pour vérifier le nombre de bits du système en cours d’exécution, utilisez la fonction de IsWow64Process.

Si le processus en cours d’exécution est un processus 64 bits, le système d’exploitation actuel doit être un système d’exploitation de 64 bits.

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

Si le processus en cours d’exécution est un processus 32 bits, vous pouvez utiliser la fonction IsWow64Process pour vérifier si le système d’exploitation actuel est un système d’exploitation de 64 bits ou non.

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


Solution 2. Utilisez la propriété AddressWidth de la classe WMI Win32_Processor pour interroger le nombre de bits de l’ordinateur local ou les systèmes distants.

La propriété AddressWidth de la classe WMI Win32_Processor détermine le mode de fonctionnement actuel du processeur. Sur un système d’exploitation 32 bits, Win32_Processor.AddressWidth serait 32 ; sur un système d’exploitation 64 bits, Win32_Processor.AddressWidth serait 64.

La propriété OSArchitecture de la classe WMI Win32_OperatingSystem pouvez également indiquer le nombre de bits du système d’exploitation, mais la propriété est disponible uniquement sur Windows Vista et les systèmes d’exploitation plus récents.


Remarquepour plus d’informations sur la création de l’exemple d’application et comment déployer l’exemple d’application, consultez le fichier Readme.txt qui est inclus dans le package de téléchargement.

Catégorie de technologie

  • Base de Windows

Langues

Cet exemple de code contient les langages de programmation suivants :

LangueNom du projet
Visual C++CppCheckOSBitness
Visual C#CSCheckOSBitness
Visual Basic.NETVBCheckOSBitness

Conditions préalables

  • Cet exemple d’application a été créé à l’aide de Microsoft Visual Studio 2008 Service Pack 1 est installé.


Plus d'informations


Quelle est la structure de Code tout-en-un ?

Infrastructure de code tout-en-un affiche la plupart des techniques de développement de Microsoft à l’aide d’exemples de code dans différents langages de programmation. Chaque exemple est soigneusement sélectionné, composé et documentée pour afficher un scénario courant de code. Pour plus d’informations sur l’infrastructure de Code tout-en-un, reportez-vous au site Web suivant :
http://1code.codeplex.com

Comment faire pour rechercher d’autres exemples d’infrastructure de Code tout-en-un

Pour rechercher d’autres exemples d’infrastructure de Code tout-en-un, vous pouvez simplement cliquer sur le lien suivant :
http://support.microsoft.com/gp/gp_kbcodefx

Références


Comment faire pour détecter par programmation si vous exécutez sous Windows 64 bits
http://blogs.msdn.com/oldnewthing/archive/2005/02/01/364563.aspx