Entwickler-Ecke

Windows API - Ordner öffnen


Hochhäusl - Mi 14.08.02 14:23
Titel: Ordner öffnen
Hi,

wie kann ich einen bestimmten Ordner (z.B. 'D:\Test') per klick auf einen Button öffnen?


mit Dank im voraus

Hochhäusl


Klabautermann - Mi 14.08.02 14:26

Hallo,

du kannst Ihn wie ein ausführbahres Programm mit ShellExecute öffnen.

Gruß
Klabautermann


Hochhäusl - Mi 14.08.02 14:46

Danke für deine Antowrt, aber kannst du mir vielleicht ein Beispiel geben?
Ich kenn mich mit ShellExcute gar nicht aus

mfg


lemming - Mi 14.08.02 14:59


Quelltext
1:
Result := ShellExecute(Application.MainForm.Handle, nil, StrPCopy(zFileName, FileName), StrPCopy(zParams, Params), StrPCopy(zDir, DefaultDir), ShowCmd);                    


Result ist ein THandle.

Wenn dir das zu schwer ist fügst du in dein Projekt einfach die Datei fmxutils.pas ein. Die findest du in deinem Delphi Ordner unter \Demos\Doc\Filmanex. Du kannst das durch anklicken des Icons mit dem grünen Pluspfeil neben dem Save Icon in dein Projekt einfügen.

So dann musst du in deinem Code in der uses Klausel das wort "fmxutils" einfügen. So ungefähr:

Quelltext
1:
2:
3:
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, fmxutils;


So, dann kannst du per Knopfdruck einen Ordner öffnen:

Quelltext
1:
  ExecuteFile('c:\windows', '', '', 0);                    


oder den Browser:


Quelltext
1:
  ExecuteFile('http://www.hardtware.de', '', '', 0);                    


oder eine Anwendung


Quelltext
1:
  ExecuteFile('c:\windows\notepad.exe', 'c:\autoexec.bat', 'c:\', 0);                    


Hochhäusl - Mi 14.08.02 16:18

Danke


Klabautermann - Mi 14.08.02 18:09

Hallo,

die Suchfunktion des Forums hat mich unter anderen zu diesem [http://www.auq.de/viewtopic.php?t=1163&highlight=shellexecute] Posting geführt. Dort müsstest du nur anstelle von Edit1.Text deinen Verzeichnisnamen einsetzen.

Gruß
Klabautermann