Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Como saber si es Vista o Xp (https://www.clubdelphi.com/foros/showthread.php?t=58840)

Negriz 03-08-2008 18:20:17

Como saber si es Vista o Xp
 
Hola mi pregunta es como saber si mi programa es carriendo en Windwos Vista o xp.

Es por la cuestion de las rutas en Vista.

Gracias.

seoane 03-08-2008 20:14:12

Cita:

Empezado por Negriz (Mensaje 305442)
Es por la cuestion de las rutas en Vista.

¿Y que rutas estas buscando? Porque utilizando las funciones apropiadas, puedes obtener las rutas de la mayoría de los directorios del sistemas(carpeta de windows, temporal, perfil, archivos de programa, etc ...) independientemente del sistema operativo.

Neftali [Germán.Estévez] 04-08-2008 09:25:10

Supongo que si usas cualquiera de las rutinas que hay para obtener la version del sistema, en cada caso te devolverá una diferente.

Negriz 08-08-2008 21:23:30

Cita:

Empezado por Neftali (Mensaje 305497)
Supongo que si usas cualquiera de las rutinas que hay para obtener la version del sistema, en cada caso te devolverá una diferente.

Gracias por la informacion, estaba en delphi asi que intente pasarlo a c++ builder pero me hay un error y no se cual es.

Código:

void __fastcall TmainForm::Button2Click(TObject *Sender)
{
TOSVersionInfo *x;
int majorVer, minorVer;
x->dwOSVersionInfoSize = sizeof( TOSVersionInfo ); //aca es donde me sale el error al momento de dar click.
if ( GetVersionEx( x ) )
{
    majorVer = x->dwMajorVersion;
    minorVer = x->dwMinorVersion;
    switch( x->dwPlatformId )
    {
      case VER_PLATFORM_WIN32_NT:
      if ( majorVer <= 4 ) ShowMessage("cOsWinNT");
      else
      if ( ( majorVer == 5 ) && ( minorVer == 0 ) ) ShowMessage("cOsWin2000");
      else
      if ( ( majorVer == 5) && ( minorVer == 1 ) ) ShowMessage("cOsWinXP");
      else
      ShowMessage("desconocido");
      break;

      case VER_PLATFORM_WIN32_WINDOWS:
      if ( ( majorVer == 4 ) && ( minorVer == 0 ) ) ShowMessage("cOsWin95");
      else
      if ( ( majorVer == 4 ) && ( minorVer == 10 ) )
      {
          if ( x->szCSDVersion[ 1 ] == 'A' ) ShowMessage("cOsWin98SE");
          else
          ShowMessage("cOsWin98");
      }
      else
      if ( ( majorVer == 4) && ( minorVer == 90 ) ) ShowMessage("cOsWinME");
      else ShowMessage("desconocido");
      break;

    }
}
else
{
  ShowMessage("desconocido");
}

}

cabe aclarar que no tengo conocimiento en delphi.
Gracias.

cHackAll 08-08-2008 21:51:19

Código:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 switch ((char)GetVersion())
 {
  case 5: ShowMessage("eQuispe"); break;
  case 6: ShowMessage("Vista"); break;
  default: ShowMessage("Dinosaurio?");
 }
}


Negriz 10-08-2008 19:13:07

Cita:

Empezado por cHackAll (Mensaje 306622)
Código:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 switch ((char)GetVersion())
 {
  case 5: ShowMessage("eQuispe"); break;
  case 6: ShowMessage("Vista"); break;
  default: ShowMessage("Dinosaurio?");
 }
}


hey gracias voy a probar.
jejeje, "dinosaurio".
Gracias.

Negriz 12-08-2008 20:31:56

Gracias va de maravilla, jejejetodavia me rio con lo de dinosaurio.

SAludos y gracias


La franja horaria es GMT +2. Ahora son las 18:43:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi