 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
J.Carlos Invitado
|
Publicado: Sab 27 Nov, 2004 10:31 pm Asunto: Como puedo saber el tipo de Windows |
|
|
Hola
He estado buscando mensajes al respecto para no repetir mensajes y no he encontrado ninguno al respecto
Mi problema es que necesito saber en que windows (98, xp, 2000) se esta ejecutando mi programa y no encuentro como hacerlo
Doy las gracias por anticipado
Juan |
|
| Volver arriba |
|
 |
Perico Invitado
|
Publicado: Lun 29 Nov, 2004 4:19 pm Asunto: esto es... |
|
|
Toma función que te devuelve un String bastante majo, que te dice un montón de cosas...
String __fastcall TForm1::SistemaOperativo( bool displayinfo )
{
OSVERSIONINFO vInfo;
ZeroMemory(&vInfo, sizeof(OSVERSIONINFO));
vInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
String S_os;
String S_majorv;
String S_minorv;
String S_build;
String OS_type;
if (GetVersionEx(&vInfo))
{
S_os = "Microsoft Windows ";
switch (vInfo.dwPlatformId)
{
case VER_PLATFORM_WIN32s :
S_os += "3.1";
OS_type = "3.1";
break;
case VER_PLATFORM_WIN32_WINDOWS :
if (vInfo.dwMajorVersion == 4 && vInfo.dwMinorVersion == 0)
{
S_os += "95 ";
if (vInfo.szCSDVersion[1] == 'C')
{
S_os += "OSR2";
OS_type = "OSR2";
break;
}
}
if (vInfo.dwMajorVersion == 4 && vInfo.dwMinorVersion == 10)
{
S_os += "98";
if (vInfo.szCSDVersion[1] == 'A')
{
S_os += "SE";
OS_type = "SE";
break;
}
}
if (vInfo.dwMajorVersion == 4 && vInfo.dwMinorVersion == 90)
{
S_os += "ME";
OS_type = "ME";
break;
}
case VER_PLATFORM_WIN32_NT :
if (vInfo.dwMajorVersion == 3)
{
S_os += "NT 3.51";
OS_type = "NT 3.51";
break;
}
if (vInfo.dwMajorVersion == 4)
{
S_os += "NT 4.0";
OS_type = "NT 4.0";
break;
}
if (vInfo.dwMajorVersion == 5 && vInfo.dwMinorVersion == 0)
{
S_os += "2000";
OS_type = "2000";
break;
}
if (vInfo.dwMajorVersion == 5 && vInfo.dwMinorVersion == 1)
{
S_os += "XP";
OS_type = "XP";
break;
}
}
}
S_majorv = FormatFloat("0",(double)vInfo.dwMajorVersion);
S_minorv = FormatFloat("0",(double)vInfo.dwMinorVersion);
S_build = FormatFloat("0",(double)vInfo.dwBuildNumber);
if ( displayinfo )
{
ShowMessage( S_os
+ "\n" + "Version " + S_majorv + "." + S_minorv
+ " \n" + "Build "
+ S_build);
}
acerca->Label1->Caption=S_os;
acerca->Label2->Caption="Version " + S_majorv + "." + S_minorv;
acerca->Label3->Caption="Build " + S_build;
return OS_type;
} |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Dom 05 Dic, 2004 1:26 am Asunto: |
|
|
Muchas gracias por la respuesta
Un saludo
Juan Carlos |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|