Cómo detectar los bits de un sistema operativo


INTRODUCCIÓN


En este artículo se describe un ejemplo de código Framework All-In-One que está disponible para su descarga. Este ejemplo incluye una guía paso a paso acerca de cómo escribir código de Visual Basic.NET, Visual C++. NET, Visual Basic.NET o Visual C# para determinar mediante programación si el sistema operativo del equipo actual o de un equipo remoto es un funcionamiento de 64 bits sistema.

Información de descarga

Para descargar este ejemplo de código, haga clic en el vínculo siguiente:


Introducción técnica

Los ejemplos presentan dos soluciones de detectar mediante programación si se ejecuta en un sistema operativo de 64 bits o no.

Solución 1. Utilice la función IsWow64Process para comprobar el valor de bits del sistema en ejecución.

Si el proceso en ejecución es un proceso de 64 bits, el sistema operativo actual debe ser un sistema operativo de 64 bits.

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

Si el proceso en ejecución es un proceso de 32 bits, puede utilizar la función IsWow64Process para comprobar si el sistema operativo actual es un sistema operativo de 64 bits o no.

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


Solución 2. Utilice la propiedad AddressWidth de la clase Win32_Processor WMI para consultar el valor de bits de la variable local o los sistemas remotos.

La propiedad AddressWidth de la clase WMI Win32_Processor dicta el modo de funcionamiento actual del procesador. En un sistema operativo de 32 bits, Win32_Processor.AddressWidth sería 32; en un sistema operativo de 64 bits, Win32_Processor.AddressWidth sería 64.

La propiedad OSArchitecture de la clase WMI Win32_OperatingSystem también puede indicar el valor de bits del sistema operativo, pero la propiedad sólo está disponible en Windows Vista y sistemas operativos más recientes.


Notapara obtener más información acerca de cómo crear la aplicación de ejemplo y cómo implementar la aplicación de ejemplo, vea el archivo Readme.txt que se incluye en el paquete de descarga.

Categoría tecnología

  • Base de Windows

Idiomas

Este ejemplo de código contiene los siguientes lenguajes de programación:

IdiomaNombre del proyecto
Visual C++CppCheckOSBitness
Visual C#CSCheckOSBitness
Visual Basic.NETVBCheckOSBitness

Requisitos previos

  • Esta aplicación de ejemplo se creó utilizando Microsoft Visual Studio 2008 con Service Pack 1 instalado.


Más información


¿Qué es All-In-One código Framework?

-One code Framework muestra mayoría técnicas de desarrollo de Microsoft mediante ejemplos de código en diferentes lenguajes de programación. Cada ejemplo está cuidadosamente seleccionado, compuesto y documentado para mostrar un escenario común de código. Para obtener más información acerca de All-In-One código Framework, visite el siguiente sitio Web:
http://1code.codeplex.com

Cómo encontrar más ejemplos de código Framework All-In-One

Para encontrar más ejemplos de código Framework All-In-One, basta con hacer clic en el vínculo siguiente:
http://support.microsoft.com/gp/gp_kbcodefx

Referencias


Cómo detectar mediante programación si se ejecuta en Windows de 64 bits
http://blogs.msdn.com/oldnewthing/archive/2005/02/01/364563.aspx