Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Systemsteuerungs Applets - Eigenschaften ? (https://www.delphipraxis.net/7074-systemsteuerungs-applets-eigenschaften.html)

THE MATRIX 31. Jul 2003 21:22


Systemsteuerungs Applets - Eigenschaften ?
 
Hi
wenn man in der Systemsteuerung ist, steht dort ja immer der name für die CPL
so ist für die desk.cpl ja der text "Anzeige" in der systemsteuerung zu lesen
nun wollte ich alle .cpl'S aus dem systemdir und umgebung suchen lassen, und dann DIESEN in der systemsteuerung angezeigten namen auslesen - gibts da eine funktion oder ähnliches um sich diese infos und den hint "Ändert die Desktio darstellung, wie z.B.....blablabla" der entsprechende cpl auszulesen ?

Mfg TM

sakura 3. Aug 2003 12:15

Re: Systemsteuerungs Applets - Eigenschaften ?
 
Das ganze ist etwas umständlicher. Du musst dazu die exportierte Funktion CPlApplet des Control Panel Applets aufrufen und den Parameter CPL_INQUIRE sowie die Struktur CPLINFO übergeben. In idName erhälst Du dann die String-Resource-ID der Caption zurück, welche Du wiederum nutzt um die eigentliche Caption des Icons zu ermitteln.

...:cat:...

sakura 3. Aug 2003 13:16

Re: Systemsteuerungs Applets - Eigenschaften ?
 
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 :-)

...:cat:...

P.S.: Die Unit CPL muss in die USES-Klausel aufgenommen werden.

THE MATRIX 3. Aug 2003 13:25

Re: Systemsteuerungs Applets - Eigenschaften ?
 
Supi BiG THX bist der Beste ... hab auch was versucht nur irgendwie errot delphi bei mir nur rum *G* naja werds mit deinem code probieren

:D

sakura 3. Aug 2003 13:29

Re: Systemsteuerungs Applets - Eigenschaften ?
 
Bitte :-)

Hier noch der Link zum neuen CL-Eintrag. Dort ist der Code noch dokumentiert ;-)

http://www.delphipraxis.net/viewtopic.php?p=56207#56207

...:cat:...

sakura 3. Aug 2003 17:47

Re: Systemsteuerungs Applets - Eigenschaften ?
 
War es die Lösung Deines Problemes :?:

...:cat:...

THE MATRIX 3. Aug 2003 19:15

Re: Systemsteuerungs Applets - Eigenschaften ?
 
JA GENAU DAS !!!!!!!
HAB JETZT NEN VORBILD :love:
Bist mein Delphi Guru :D hab dich im ICQ mal geadded ..... *niederknievorseinemmeister* :!:

[EDIT]
Ich glaub ich mach da mal ne komponente draus :coder: ..... :D ich finds GEIL !! SUPI TOLL.....
BiG THX nochmal
[EDIT OFF]

sakura 3. Aug 2003 19:23

Re: Systemsteuerungs Applets - Eigenschaften ?
 
Nicht gleich übertreiben :mrgreen:

Aber schalte mal noch bitte den Status "offene Frage" (oben rechts) aus.

Danke,
...:cat:...

P.S. Hast ja gerade getan :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz