Como mostrar la version de windows 32 o 64 bits usando c++

Iniciado por Borito30, 24 Marzo 2017, 17:13 PM

0 Miembros y 1 Visitante están viendo este tema.

Borito30

Como puedo mostrar que versión utilizo en un programa intente esto:
#if_WIN64
isWow64=true;

#elif_WIN32
isWow64=false;

if(isWow64==true){
windows="Windows64bits";
}else{
windows="Windows32bits";
}

Sería correcto o debería hacer alguna otra cosa.
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)

Natalia94x

Yo utilizo una forma inteligente para saber si un sistema usa 32 o 64 bits, Comprueba si la carpeta de x86 existe lo mismo con la carpeta syswow64 si existen entonces el sistema usa 64 bits , si no existen entonces es 32 bits, Espero que te sirva SALUDOS!


engel lex

Eso es incorrecto son macros de compilador, el simplemente te va a decir si se compiló como 32 o 64 , recuerden que las cosas que empiece por # serán sustituidas por el preprocesador antes de compilar

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ivancea96

Oh sí, pensé que se hablaba en tiempo de compilación.

Acerca de eso...

Para saber si corre en WOW64, IsWow64Process

Código (cpp) [Seleccionar]
#if_WIN64
    isWow64=true;

Si está compilado para Win64 bits, sí o sí va a ser de 64 bits y no va a estar corriendo en WOW64. Solo si es una app compilada para 32 bits puede que corra en WOW64 (y eso lo sacas con la función IsWow64Process)

Meta

Hola:

Tener claro que en un sistema de 64 bits el System32 es de 64 bits y el wow64 es de 32 bits, lo hicieron así para que sean compatibles con muchos programas.

http://www.samlogic.net/articles-spanish/explicacion-carpetas-archivos-de-programa-x86-syswow64.htm

Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Natalia94x

Utiliza la funcion GetVersion o Comprueba si existen esas 2 carpetas "Program Files (x86)" o "syswow64", esas 2 opciones te sirven más info en la msdn. SALUDOS!

Natalia94x

Cita de: Meta en 24 Marzo 2017, 18:48 PM
Hola:

Tener claro que en un sistema de 64 bits el System32 es de 64 bits y el wow64 es de 32 bits, lo hicieron así para que sean compatibles con muchos programas.

http://www.samlogic.net/articles-spanish/explicacion-carpetas-archivos-de-programa-x86-syswow64.htm

Saludos.

En windows de 32 bits jamás encontraras la carpeta "Archivos de Programas (x86)", en windows de 64 bits claro que si porque hay es viceversa. la info que aparece en ese sitio va cuando estás utilizando 64 bits. SALUDOS!

Meta

Hola:

Puedes hacer un hola mundo programando para 64 bits, si lo ejecutas en un micro de 32 bits, de entrada no funcionará.

Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/