Como verificar se uma Dll está registrada no Windows?

DAVID CANDIDO DA SILVA

DAVID CANDIDO DA SILVA Publicado 17/11/2017 


Depois de muita pesquisa na internet e de várias tentativas,

consegui montar uma função simples que verifica se uma dll

está registrada no Windows.

{ É necessário estar declarado Windows na seção uses.  Para testar o exemplo declare também SysUtils.  
 Em versões mais recentes declare Winapi.Windows e  System.SysUtils. }
function IsDllRegistered(dllName : String) : Boolean;
var
  hModule : LONG;
begin
  Result := False;
    // Em versões antigas coloque PChar no lugar de PWideChar.
  hModule := LoadLibrary(PWideChar(dllName));   
  if (hModule > 32) Then
  begin
    FreeLibrary(hModule);
    Result := True;
  end
end;
 
// Exemplo de uso
procedure TForm1.Button1Click(Sender: TObject);
begin
  TrueBoolStrs := ['Verdadeiro'];
  FalseBoolStrs := ['Falso'];
  ShowMessage( BoolToStr( IsDllRegistered('midas.dll'), True ) );
end;
 

Voltar ao topo