Fórum Como descobrir se é Windows XP #256175

27/10/2004

0

Alguém sabe um método simples para descobrir se a minha aplicação está rodando no Windows XP ?

É pq tenho aplicação que roda em win98,2000 e XP, só q qdo uso panel no form o programa roda legal no win98 e 2000, mas no XP não, pq a barra de título do XP é mais larga e no final das contas o panel não cabe totalmente dentro do form e por isso ele cria barras de scroll.

Se tivesse um jeito de saber se está rodando no XP ficaria fácil, aí no onshow do form eu testava, se fosse XP aumentaria o height do form e já era.


Marco

Marco

Responder

Posts

27/10/2004

Nildo

Olá!
Você pode usar a função:

function IsWinXP: Boolean;
begin
  Result := (Win32Platform = VER_PLATFORM_WIN32_NT) and
    (Win32MajorVersion = 5) and (Win32MinorVersion = 1);
end; 



Responder

Gostei + 0

27/10/2004

Rômulo Barros

:arrow: [color=red:01cfe72959][u:01cfe72959][b:01cfe72959]Geralmente, verifico isso pelo registro do Windows. [/b:01cfe72959][/u:01cfe72959][/color:01cfe72959]

Uses
   Registry;
...
Var
  Registro : TRegistry;
Begin
   Registro := TRegistry.Create; 
   Registro.RootKey := HKEY_LOCAL_MACHINE;
   Registro.OpenKey(´SOFTWARE\Microsoft\Windows\CurrentVersion´,False);{"False" pq todas as versões do Win possuem essa chave} 
   If Not Registro.ValueExists(´Version´)Then 
      ShowMessage(´NT/2000/XP´)
   Else 
      ShowMessage(´Win9X/ME´); 
   Registro.CloseKey();
   FreeAndNil(Registro);
End;



[color=green:01cfe72959][u:01cfe72959]Espero tê-lo ajudado !!![/u:01cfe72959][/color:01cfe72959]


Responder

Gostei + 0

27/10/2004

Marco

Nildo, a funçao funcionou, pelo menos com o Windows 2000.

Logo mais vou testar no Windows XP pra ver se funcionou completamente.


Valeu!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar