Como Obter a Versão de um Executável em Delphi e Lazarus

Se você está desenvolvendo aplicações em Delphi ou Lazarus e precisa acessar a versão de um executável, pode utilizar a API do Windows para isso. Saber como obter essas informações pode ser útil para depuração, manutenção ou quando você deseja exibir a versão do software para os usuários.
Por Que Obter a Versão de um Executável?
Antes de mergulharmos no código, é importante entender por que você pode precisar obter a versão de um executável:
- Manutenção e Atualização: Verificar a versão do executável pode ajudar a garantir que a versão mais recente está sendo utilizada.
- Depuração: Identificar a versão do software em uso pode facilitar a resolução de problemas específicos de versões.
- Interface do Usuário: Exibir a versão do software pode ser uma prática recomendada para aplicações que precisam informar os usuários sobre a versão instalada.
Código para Obter a Versão em Delphi
Aqui está um exemplo de como você pode obter a versão de um executável em Delphi:
uses
Windows, SysUtils;
function GetFileVersion(const FileName: string): string;
var
InfoSize, ValueSize: DWORD;
Info: Pointer;
Value: PVSFixedFileInfo;
Version: string;
begin
Result := '';
InfoSize := GetFileVersionInfoSize(PChar(FileName), InfoSize);
if InfoSize = 0 then Exit;
GetMem(Info, InfoSize);
try
if not GetFileVersionInfo(PChar(FileName), 0, InfoSize, Info) then Exit;
if VerQueryValue(Info, '\', Pointer(Value), ValueSize) then
begin
Version := Format('%d.%d.%d.%d',
[HiWord(Value^.dwFileVersionMS), LoWord(Value^.dwFileVersionMS),
HiWord(Value^.dwFileVersionLS), LoWord(Value^.dwFileVersionLS)]);
Result := Version;
end;
finally
FreeMem(Info);
end;
end;
Código para Obter a Versão em Lazarus
O código para Lazarus é praticamente idêntico ao de Delphi, uma vez que ambos utilizam a mesma API do Windows. Portanto, você pode usar o código acima também em seus projetos Lazarus sem modificações significativas.
Exemplo de Uso
Aqui está como você pode utilizar a função GetFileVersion para obter e exibir a versão de um executável:
begin
WriteLn(GetFileVersion('C:\Caminho\Para\Seu\Executavel.exe'));
end;
Certifique-se de substituir 'C:\Caminho\Para\Seu\Executavel.exe' pelo caminho real do seu executável. Quando você executar o código, ele exibirá a versão do arquivo especificado no console.
Considerações Finais
Obter a versão de um executável é uma tarefa simples e poderosa que pode melhorar a funcionalidade e a manutenção das suas aplicações Delphi e Lazarus. Aproveite essas informações para manter seu software atualizado e garantir que seus usuários estejam sempre informados sobre a versão em uso.
Beleza pessoal? Espero que possa ajudar.
Se você tiver alguma dúvida ou sugestão sobre este tópico, sinta-se à vontade para deixar um comentário abaixo!
Um abraço e até o próximo post. Valeu!
#Delphi
#Lazarus
#Desenvolvimento
#API
#Programação
#Tecnologia
#Desenvolvedores
#GiovaniDaCruz