Verificar se é Windows 64 bits

Delphi

09/01/2009

Olá pessoal, tudo bem? Existe código para verificar se o sistema operacional que está rodando é 64 bits? Ou NÃO é 32 bits? é 32 bits?

Obrigado.


Woinch

Woinch

Curtidas 0

Respostas

Rodc

Rodc

09/01/2009

Posso estar errado, mas até onde eu saiba, você precisa compilar o sistema já para 64bits ou para 32bits. Um programa 32bits não roda em 64bits a não ser através de emulador.
Considerando que o programa de 64bits só roda em 64bits, não tem porquê você verificar se é 64bits.

Mas se mesmo assim você quer validar, use a função GetVersionEx(). O MinorVersion da estrutura te retorna se ele é 64bits. Consulte o Help do Delphi para saber como usar a função.


GOSTEI 0
Wdrocha

Wdrocha

09/01/2009

Eu criei um aplicativo no Delphi 7 e rodou perfeitamente no Vista Ultimate de 64 bits....

será q foi sorte???


eu testei e funcionou....rsrsrsrs


Vlw


GOSTEI 0
Rodc

Rodc

09/01/2009

Eu criei um aplicativo no Delphi 7 e rodou perfeitamente no Vista Ultimate de 64 bits....

Como eu disse, posso estar errado.... mas neste caso o Windows possivelmente rodou o programa emulando 32bits. Agora, não sei se ao verificar a versão usando GetVersionEx() ele vai retornar que o sistema é 64bits. Se alguém puder fazer este teste e postar aqui, seria interessante saber.


GOSTEI 0
Woinch

Woinch

09/01/2009

Andei pesquisando sobre essa função e não retorna nada referente a sistema operacional 64bits. Eu queria justamente fazer algum tipo de ´bloqueio´ no meu programa porque ele roda, mesmo que seja de forma emulada, em 64bits.


GOSTEI 0
Rodc

Rodc

09/01/2009

Uma pesquisada no MSDN e pronto!!! Use a função IsWow64Process(). WOW64 é o emulador de 32bits no Windows 64bits.

http://msdn.microsoft.com/en-us/library/ms684139(VS.85).aspx


GOSTEI 0
Woinch

Woinch

09/01/2009

Vou dar uma pesquisada sobre essa função e tentar utiliza-la.
Muito obrigado...


GOSTEI 0
POSTAR