AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Arbeitsplatz öffnen

Ein Thema von Savar · begonnen am 30. Okt 2005 · letzter Beitrag vom 2. Nov 2005
Antwort Antwort
Savar

Registriert seit: 31. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#1

Arbeitsplatz öffnen

  Alt 30. Okt 2005, 02:40
Wie kann ich aus einem Programm heraus den Arbeitsplatz öffnen?
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
Savar

Registriert seit: 31. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Arbeitsplatz öffnen

  Alt 30. Okt 2005, 03:11
Ich habe es jetzt etwas unfein mit einer Verknüpfung auf den Arbeitsplatz und ShellExecute gelöst.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Arbeitsplatz öffnen

  Alt 30. Okt 2005, 07:24
Hallo Savar,

ohne Verknüpfung haben wir das in einem anderen thread so gelöst:

Delphi-Quellcode:
uses
  SysUtils,
  ShellApi;

var
  exeName: string;
begin
  exeName := IncludeTrailingPathDelimiter(GetEnvironmentVariable('WINDIR')) + 'explorer.exe';
  ShellExecute(GetDeskTopWindow, 'open', PChar(exeName), '/e,/root,c:\daten', nil, SW_SHOW);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Savar

Registriert seit: 31. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Arbeitsplatz öffnen

  Alt 31. Okt 2005, 19:40
Ich glaub dir das jetzt mal ohne es auszuprobieren , auch wenn ich von diesen Funktionen noch nie etwas gehört habe.
Ich belasse es wohl bei der Verknüpfung (denn das funktioniert auch mit dem Papierkorb, Suchen... oder der Netzwerkumgebung). Trotzdem Danke.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
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, 22: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
Savar

Registriert seit: 31. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Arbeitsplatz öffnen

  Alt 1. Nov 2005, 15:57
Woher weiß ich eigentlich die Konstanten (à la CSIDL_***)? Gibt's da eine Liste?
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#7

Re: Arbeitsplatz öffnen

  Alt 1. Nov 2005, 16:37
Siehe hier.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von LoRd-MuldeR
LoRd-MuldeR

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

Re: Arbeitsplatz öffnen

  Alt 1. Nov 2005, 22:52
Zitat von Savar:
Woher weiß ich eigentlich die Konstanten (à la CSIDL_***)? Gibt's da eine Liste?
Guck doch einfach in die Unit, wo die Konstanten definiert sind (müsste ShellAPI.pas, ShloBj.pas oder Windows.pas sein). Die bedeutung der einzelnen CSIDLs erschließt sich ja aus dem Namen. Ansonsten is das auch alles ausführlich in der Platform SDK dokumentiert: MSDN: CSIDLs
  Mit Zitat antworten Zitat
Savar

Registriert seit: 31. Mai 2004
Ort: Nalbach
43 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Arbeitsplatz öffnen

  Alt 2. Nov 2005, 17:59
Cool, danke.
"Every day I have to add another name to the list of people that piss me off." Calvin
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:46 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