Fórum Como pegar atributos (versão) de uma DLL? #343411
19/07/2007
0
Minha aplicação utiliza várias DLL. Eu gostaria de criar no sobre do sistema um local para mostrar a versão de todas as dll pois assim fica mais fácil a gente saber se o cliente tem alguma DLL desatualizada.
Como eu busco a versão de um dll através do Delphi?
Obrigado
Yallebr
Curtir tópico
+ 0Posts
19/07/2007
Adriano Santos
function versaoDLL: Integer; export; begin Result := 6; end;
Depois e só usar:
Label1.Caption := VersaoDll;
Gostei + 0
19/07/2007
Yallebr
Obrigado. Mas não é bem isso.
Eu quero pegar o atributo de arquivo (versão) da DLL. Na verdade poderia ser um executavel qualquer.
Equivalente ao dar clique com botão direito e ir em propriedades e versão. Mas quero pegar essa informação via Delphi.
Obrigado.
Gostei + 0
25/07/2007
Bruno Belchior
function GetVersionExe(pExeFile: string): string; var _Size: DWORD; _VerInfo: Pointer; _ValueSize: DWORD; _Value: PVSFixedFileInfo; _Dummy: DWORD; _V1, _V2, _V3, _V4: Word; begin _Size := GetFileVersionInfoSize(PChar(pExeFile), _Dummy) ; GetMem(_VerInfo, _Size); GetFileVersionInfo(PChar(pExeFile), 0, _Size, _VerInfo); VerQueryValue(_VerInfo, ´\´, Pointer(_Value), _ValueSize); with _Value^ do begin _V1 := dwFileVersionMS shr 16; _V2 := dwFileVersionMS and $FFFF; _V3 := dwFileVersionLS shr 16; _V4 := dwFileVersionLS and $FFFF; end; FreeMem(_VerInfo, _Size); Result := Copy(IntToStr(100 + _V1), 3, 2) + ´.´ + Copy(IntToStr(100 + _V2), 3, 2) + ´.´ + Copy(IntToStr(100 + _V3), 3, 2) + ´.´ + Copy(IntToStr(100 + _V4), 3, 2); end;
Gostei + 0
25/07/2007
Yallebr
Gostei + 0
25/07/2007
Bruno Belchior
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)