Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   den Windows Explorer im Arbeitsverzeichnis öfnnen (https://www.delphipraxis.net/54454-den-windows-explorer-im-arbeitsverzeichnis-oefnnen.html)

st18061974 4. Okt 2005 18:55


den Windows Explorer im Arbeitsverzeichnis öfnnen
 
Hallo,

ich mache mir da gerade ein CD-Menü. Und dieses soll einen Button 'Diese CD durchsuchen' bekommen. Aber ich bekommen den Explorer immer nur im %windir% geöffnet. ich bekommen da einfach die Parameter nicht rein.

Ich möchte ihn gerne im Arbeitsverzeichnis und mit dem Ordnerbaum auf der linken Seiten. Das sollte eigentlich so gehen '%windir%\explorer.exe /e,d:\' wobei das d:\ für CD-Rom steht.

Palando 4. Okt 2005 19:19

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
Du willst einfach nur das Verzeichnis haben in dem deine Exe-Datei steht?

Delphi-Quellcode:
verzeichnis := ExtractFilePath(ParamStr(0));

marabu 4. Okt 2005 19:26

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
Hallo,

Zitat:

Zitat von st18061974
Ich möchte ihn gerne im Arbeitsverzeichnis und mit dem Ordnerbaum auf der linken Seiten. Das sollte eigentlich so gehen '%windir%\explorer.exe /e,d:\' wobei das d:\ für CD-Rom steht.

eigentlich nicht - eher so:

Code:
%windir%\explorer.exe /e,/root,d:\
Grüße vom marabu

RavenIV 5. Okt 2005 07:22

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
also ich starte den exploder immer so:
Delphi-Quellcode:
%SystemRoot%\explorer.exe /n,/e, d:\

st18061974 5. Okt 2005 15:33

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
Ja ... alles richtig aber das will ich per shellexecute. Aber das funktioniert eben nicht. Egal wie ich es auch versuche.

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  explorer,pfad:string;
begin
  explorer:=ExpandEnvStr('%windir%')+'\explorer.exe';
  pfad:='/e,'+ExtractFilePath(ParamStr(0));
  shellexecute(handle,'open',pchar(explorer),pchar(pfad),nil,SW_SHOWNORMAL);
end;

Nightshade 5. Okt 2005 16:12

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
  pfad:string;
begin
  pfad:='d:\';
  shellexecute(handle,'open',pchar(pfad),nil,nil,SW_SHOWNORMAL);
end;
Versuchs mal so...

st18061974 5. Okt 2005 16:28

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
@Nightshade

Ja ... so klappts aber ich hätte ja eben gerne den 'Ordnerbaum' (auf der rechten Seite) auch an. Und für den muß man eben '/e' als Parameter übergeben.

RavenIV 5. Okt 2005 16:33

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
Zitat:

Zitat von st18061974
@Nightshade

Ja ... so klappts aber ich hätte ja eben gerne den 'Ordnerbaum' (auf der rechten Seite) auch an. Und für den muß man eben '/e' als Parameter übergeben.

versuch mal:
Delphi-Quellcode:
ShellExecute(handle, "explore", <fully_qualified_path_to_folder>, NULL, NULL, SW_SHOWNORMAL);

marabu 5. Okt 2005 17:39

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
Und wenn du schonmal dabei bist, dann versuche auch mal:

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;
marabu

st18061974 5. Okt 2005 18:55

Re: den Windows Explorer im Arbeitsverzeichnis öfnnen
 
@marabu

Supi ... so klappts. Ich hab´s jetzt so gemacht.

Delphi-Quellcode:
pfad:=ExtractFilePath(ParamStr(0));
explorer:=IncludeTrailingPathDelimiter(GetEnvironmentVariable('WINDIR'))+'explorer.exe';
ShellExecute(GetDeskTopWindow,'open',PChar(explorer),pchar('/e,'+pfad),nil,SW_SHOWNORMAL);
application.terminate;
Ich hatte einen anderen weg benutzt um %windir%/explorer.exe zu bekommen. Auf diese Weise ging der Eplorer immer nur in C:\Windows auf und das ohne 'Ordnerbaum'.

Delphi-Quellcode:
function ExpandEnvStr(const szInput: string): string;
const
  MAXSIZE = 32768;
begin
    SetLength(Result,MAXSIZE);
    SetLength(Result,ExpandEnvironmentStrings(pchar(szInput),
      @Result[1],length(Result)));
end;

---------------
AUFRUF DANN PER
---------------

explorer:=ExpandEnvStr('%windir%')+'\explorer.exe';


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 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