Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Systemsteuerungs Applets - Eigenschaften ?

  Alt 3. Aug 2003, 13:16
So, ich habe mal ein wenig rumgespielt. Hier ist jetzt die Lösung.

Delphi-Quellcode:
procedure GetCPLCaptions(CPLFileName: String; Strings: TStrings);
var
  DLLHandle: Cardinal;
  I: Integer;
  P: Pointer;
  CPLInfo: TCPLInfo;
  ResStringRec: TResStringRec;
begin
  DLLHandle := LoadLibrary(PChar(CPLFileName));
  if DLLHandle <> INVALID_HANDLE_VALUE then
  try
    P := GetProcAddress(DLLHandle, 'CPlApplet');
    if P <> nil then
    begin
      for I := 0 to Pred(TCPLApplet(P)(HInstance, CPL_GETCOUNT, 0, 0)) do
      begin
        TCPLApplet(P)(HInstance, CPL_INQUIRE, I, Integer(@CPLInfo));
        ResStringRec.Module := @DLLHandle;
        ResStringRec.Identifier := CPLInfo.idName;
        Strings.Add(LoadResString(@ResStringRec));
      end;
    end;
  finally
    FreeLibrary(DLLHandle);
  end;
end;
Beispiel für den Aufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Clear;
  GetCPLCaptions('C:\WINNT\system32\hdwwiz.cpl', Memo1.Lines);
end;
Viel Spass. Ich werde das ganze jetzt mal noch dokumentieren und dann in die CodeLibrary werfen

......

P.S.: Die Unit CPL muss in die USES-Klausel aufgenommen werden.
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat