Detectar a versão do Windows

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Detectar a versão do Windows

Mensagem por Kapiaba »

Modificações para a TSYSTEM.PRG

Código: Selecionar todos

METHOD WinVer() Class TSystemInfo

   Local cVersion := ""
 
   Do Case
   Case ::IsWin95()         ; cVersion := "Windows 95"
   Case ::IsWin95SP1()      ; cVersion := "Windows 95 Service Pack 1"
   Case ::IsWin95OSR2()     ; cVersion := "Windows 95 OSR2"
   Case ::IsWin98()         ; cVersion := "Windows 98"
   Case ::IsWin98SP1()      ; cVersion := "Windows 98 Service Pack 1"
   Case ::IsWin98SE()       ; cVersion := "Windows 98 Second Edition"
   Case ::IsWinME()         ; cVersion := "Windows ME"
   Case ::IsWinNT31()       ; cVersion := "Windows NT 3.1"
   Case ::IsWinNT35()       ; cVersion := "Windows NT 3.5"
   Case ::IsWinNT351()      ; cVersion := "Windows NT 3.51"
   Case ::IsWinNT4()        ; cVersion := "Windows NT 4"
   Case ::IsWin2000()       ; cVersion := "Windows 2000" + If( ::IsWin2000Prof(), " Professional", If( ::IsWin2000Server(), " Server", "" ) )  //+ " " + ::cSP + " build " + LTrim( Str( ::nBuild ) )
   Case ::IsWinXP()         ; cVersion := "Windows XP " + If( lAnd( ::wSteMask, 512 ), "Home Edition", "Professional" )
   Case ::IsWin2003Server() ; cVersion := "Windows Server 2003"
   Case IsWinVista() ; cVersion := "Windows Vista"
   Case IsWin7() ; cVersion := "Windows 7"
   Case IsWin8() ; cVersion := "Windows 8"
   Case IsWindows10() ; cVersion := "Windows 10"
   Otherwise                ; cVersion := "Unknown Windows version"
   EndCase

   cVersion += IF( IsWin64(), " 64 ", " 32 " ) + "Bits"

Return cVersion
Obg. abs.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Detectar a versão do Windows

Mensagem por fladimir »

Ao testar em um micro com Windows 10 pesquisei via hbmk2 -find win10 e achei somente a função OS_IsWin10() da xhb.hbc

Porém não funciona (se alguém q tem Windows 10 puder testar)

Coloquei pra testar:

Código: Selecionar todos

if OS_IsWin10()
   Alert('Windows 10')
else
   Alert('Nao detectou a versao do windows 10')
endif
Hj pesquisando sobre o assunto achei esse tópico q vi q o Itamar postou q no Harbour 3.4 tem win_OsIs10() (q faz parte da hbwin.hbc), como não estou hj com micro Windows 10 seria bom alguém testar.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Detectar a versão do Windows

Mensagem por rubens »

Fladimir...

Aqui não funcionou... retorna falso... compilado com o hb3.4.

Na minigui consigo com o WINDOWSVERSION()

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Detectar a versão do Windows

Mensagem por fladimir »

Rubens...

Vc testou as 2 funções?

Código: Selecionar todos

OS_IsWin10() --> Essa testei e não funcionou

win_OsIs10() --> Essa não testei pq não estou mais no cliente q tem Windows 10
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Responder