Thema: Delphi Arbeitsplatz öffnen

Einzelnen Beitrag anzeigen

Benutzerbild von LoRd-MuldeR
LoRd-MuldeR

Registriert seit: 9. Okt 2005
Ort: Somewhere over the Slaughterhouse
132 Beiträge
 
Delphi 7 Professional
 
#5

Re: Arbeitsplatz öffnen

  Alt 31. Okt 2005, 21:56
Ich hab mal dieses Programm geschrieben, das so weit 1a funktioniert
Ich finde das um einiges eleganter, als über eine Verknüpfung. Außerdem musst du dich nich drum bemühen, dass deine Verknüpfung stimmt und du kannst alles aus dem Programm heraus festlegen.

In meinem Bespiel kannst du CSIDL_DRIVES auch durch etwas anderes ersetzen. Im moment wird direkt der Arbeitsplatz im Explorer angeziegt. Du kannst aber auch den Desktop (CSIDL_DESKTOPDIRECTORY), "Eigene Dateien" (CSIDL_PERSONAL) und viele andere benutzen...

Delphi-Quellcode:
uses
  Windows, ShellAPI, ShlObj;

{$R *.res}

var
  Info: ShellExecuteInfo;
  List: PItemIDList;

begin
  SHGetSpecialFolderLocation(GetActiveWindow, CSIDL_DRIVES, List);

  ZeroMemory(@Info, SizeOf(ShellExecuteInfo));
  Info.cbSize := SizeOf(ShellExecuteInfo);
  Info.lpVerb := 'explore';
  Info.Wnd := GetActiveWindow;
  Info.fMask := SEE_MASK_IDLIST;
  Info.lpIDList := List;
  Info.nShow := SW_SHOWMAXIMIZED;

  ShellExecuteEx(@Info)
end.

BTW:
GetEnvironmentVariable is übrigens etwas unsicher und sollte vermieden werden! Mit GetWindowsDirectory fährst du sicher...
  Mit Zitat antworten Zitat