Preciso criar um aplicativo simples em java que informe a versão de um arquivo “.EXE” e “.DLL” Peguei um código aqui no fórum que traz: tamanho do arquivo e data da ultima alteração, mas a versão não trás.
Fiz algumas pesquisas e vi que o que preciso usar “getFileVersion” e pra usá-la tenho que importar da API do Windows. Alguém sabe como fazer isso?
Tem um código em VBS que faz isso certinho, queria criar essa mesma função mas em java. Agradeço muito se alguém puder me explicar como faço isso. Abaixo está o código:
cara, acho que isso é coisa que muda de OS, no meu OS aqui nao tem essas informações.
E
entanglement
Isso é coisa de carinha de Linux ou MacOSX tirando sarro de quem usa Windows (embora eu seja “operating-system agnostic”).
mauricioadl
realmente eu uso macos em casa e gosto muito de linux. mas a maquina que trabalho eh windows vista e fiz o teste nela e nao achei a opcao.
out!
A
AndersonBenjamin
mauricioadl,
Realmente alguns arquivos não tem essa aba “Version”, mas o arquivo que eu estou querendo pegar essa informação tem, e é igual a imagem que o “entanglement” postou.
Conforme meu primeiro post, eu consigo trazer algumas informações como tamanho do arquivo e ultima atualização, mas não consigo pegar a versão dele. Pesquisei e parece que tenho que usar uma função chamada ?getFileVersion? que está na API do Windows mas não tenho ideia de como fazer isso. Parece que tem que mexer também com ?JNI? e ?JNA? que também não sei o que é.
Agradeço muito pela atenção mauricioadl. Vou continuar procurando por aqui e se consegui alguma coisa eu posto pra você.
entanglement,
Muito obrigado por postar esse print, é exatamente as informações que eu quero pegar.
Abraços
E
entanglement
Você usou o Windows Explorer, clicou com o botão direito (DIREITO) sobre o executável ou DLL, e escolheu no menu a opção Propriedades (ou Properties)?
mauricioadl
um jeito de fazer, mas eh uma gambiarra, eh usar o seu .vbs que funciona rodar e capturar a saida dele. da pra fazer!
ja fiz isso pra pegar informações do hardware da maquina e foi de boa. coloquei todo o codigo do .vbs dentro do fonte java pra esconder a macaquice e ja era! hehehe
[]'s
E
entanglement
Deve haver alguém que encapsulou usando JNI um código semelhante a este:
Você também poderia traduzir o código acima usando JNA, mas acho bem mais complicado.
A
AndersonBenjamin
mauricioadl:
um jeito de fazer, mas eh uma gambiarra, eh usar o seu .vbs que funciona rodar e capturar a saida dele. da pra fazer!
ja fiz isso pra pegar informações do hardware da maquina e foi de boa. coloquei todo o codigo do .vbs dentro do fonte java pra esconder a macaquice e ja era! hehehe
[]'s
mauricioadl,
Mas você consegue me explicar como coloco esse código de .vbs dentro do java? É complicado? Eu ainda não manjo muito.
Valeu pela dica.
A
AndersonBenjamin
entanglement:
Deve haver alguém que encapsulou usando JNI um código semelhante a este: