Entwickler-Ecke
Windows API - Dialoge für Laufwerke. Wie lässt man die anzeigen?
TheUnknown - Di 08.04.03 08:48
Titel: Dialoge für Laufwerke. Wie lässt man die anzeigen?
Hallo,
ich habe einen ganzen Berg an Fragen, die aber eigentlich alle das gleiche meinen, denke ich jedenfalls...
Wie kann ich...
#1 ...den Laufwerkseigenschaften-Dialog, den Windows zeigt, wenn man mit der rechten Maustaste auf ein Laufwerk im "Arbeitsplatz", anzeigen?
#2 ...ein ganz bestimmtes CD-/DVD-Laufwerk öffnen oder schließen (OHNE diese Multimedie-Komponente, wenn möglich!)?
#3 ...den "Diskette kopieren"-Dialog anzeigen lassen?
#4 ...den "Laufwerk formatieren" anzeigen lassen?
Würde mich irre freuen, wenn Ihr das schreiben könntet, denn ich finde in den Hilfefiles und im WWW gar nichts dazu, bzw. nur sehr schlecht dokumentiertes, welches ich nicht verstehe... :?
Delete - Di 08.04.03 21:34
Titel: Re: Dialoge für Laufwerke. Wie lässt man die anzeigen?
| TheUnknown hat folgendes geschrieben: |
Wie kann ich...
#1 ...den Laufwerkseigenschaften-Dialog, den Windows zeigt, wenn man mit der rechten Maustaste auf ein Laufwerk im "Arbeitsplatz", anzeigen? |
Was bei Dateien funktioniert, lässt sich problemlos auf Laufwerke anwenden:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| uses ShellAPI;
function ShowFileProperties(const hWndOwner: HWnd; FileName, Caption: PChar): Boolean; var Info : TShellExecuteInfo; begin With Info Do Begin cbSize := SizeOf(Info); fMask := SEE_MASK_NOCLOSEPROCESS OR SEE_MASK_INVOKEIDLIST OR SEE_MASK_FLAG_NO_UI; wnd := hWndOwner; lpVerb := 'properties'; lpFile := FileName; lpParameters := Caption; lpDirectory := Nil; nShow := 0; hInstApp := 0; lpIDList := Nil; End;
Result := ShellExecuteEx(@Info); end;
procedure TForm1.Button1Click(Sender: TObject); begin ShowFileProperties(self.Handle,'c:\LastCrap\Datei.txt',nil); ShowFileProperties(self.Handle,'C:\',nil); end; |
(stammt, wenn ich mich korrekt erinnere, aus dem Entwickler-Forum)
Bitte schön.
TheUnknown - Di 08.04.03 22:28
Danke Euch beiden... Nur das mit dem Öffnen und Schließen von CD-Laufwerken bekomme ich nicht hin... ;-(
Delete - Mi 09.04.03 07:07
http://www.delphi-forum.de/viewtopic.php?t=7447
Schau dir mal den Tipp von bis11 an. Insbesondere die beiden Funktionen, die als
more complex way gekennzeichnet sind. Die Parameter erlauben nicht wirklich viel Spielraum, also gibst du einfach nur mal den Laufwerksbuchstaben des CD-ROM an, etwa
Quelltext
1: 2:
| OpenCD('H'); CloseCD('H'); |
Vorsichtshalber folgender Nachtrag:
http://www.delphi-forum.de/viewtopic.php?t=9176. Die dort gepostete Funktion "GetNumberOfCDDrives" kannst du z.B. verwenden, um alle CD-Laufwerke eines Rechners zu ermitteln.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!