Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi USB - Gerät entfernen (https://www.delphipraxis.net/150979-usb-geraet-entfernen.html)

RWarnecke 2. Mai 2010 08:10


USB - Gerät entfernen
 
Hallo zusammen,

ich benutze den Quelltext um USB-Massenspeichergeräte auszuwerfern. Bei USB-Sticks habe ich keine Probleme, nur wenn ich USB-Festplatten anschliesse, so gibt mir die Funktion AutoEjectVolume den folgenden Fehler zurück :

---------------------------
Remove USB
---------------------------
System Error. Code: 1.

Unzulässige Funktion.
---------------------------
OK
---------------------------

Warum funktioniert das jetzt mit mehreren USB-Sticks und mit keiner der USB-Festplatten, die ich habe ? Laut System wird alles als USB-Massenspeichergerät erkannt. Die Festplatten ordnen sich als lokale Festplatte ein und die Sticks als Wechselmedium. Ist das vielleicht der Grund ?

Zusätzlich stellt sich mir noch die Frage, was ich an dem Quelltext verändern muss, damit das Laufwerk entgültig verschwindet und die Message vom System gesendet wird, dass das Laufwerk entfernt wurde ? Denn wenn der Quelltext ausgeführt wird, dann bleibt der Laufwerksbuchstabe noch im Explorer stehen.

David Martens 2. Mai 2010 13:56

Re: USB - Gerät entfernen
 
Der Unterschied von USB-Stick und USB-Festplatte ist, daß der Stick ein Wechseldatenträger und die Festplatte nicht. Der Quelltext auf der Seite ist aber für Wechseldatenträger (steht da jedenfalls so), wenn dann mußt du nach Code für das Auswerfen von lokalen Datenträgern suchen.

Hier noch ein Link für weiterführende Infos http://www.uwe-sieber.de/usbstick.html

Ich hab noch etwas gestöbert und folgendes gefunden: http://www.activevb.de/tipps/vb6tipps/tipp0718.html, ist zwar ein VB Skript, aber es sollte nicht so schwer sein das zu Delphi zu portieren, da ja eigentlich nur Systemdlls aufgerufen werden.

zeras 2. Mai 2010 18:04

Re: USB - Gerät entfernen
 
Ich habe den Code auch bei mir eingebaut. Leider ohne Erfolg. Das Laufwerk ist nach wie vor noch im Explorer da.
Wenn ich dann im Exporer auf das Laufwerk klicke, dann kommt zwar die Meldung, dass ich etwas einlegen soll, aber bei Hardware sicher entfernen ist das Laufwerk immer noch da. Wenn ich dann den USB Stick abziehe, kommt dann noch der Windowssound.
Muss man da noch etwas beachten bei der Nutzung?

David Martens 2. Mai 2010 19:21

Re: USB - Gerät entfernen
 
Kannst du mir mal deinen Code geben, ich schau ihn mir mal an.

RWarnecke 2. Mai 2010 19:41

Re: USB - Gerät entfernen
 
Zitat:

Zitat von zeras
Ich habe den Code auch bei mir eingebaut. Leider ohne Erfolg. Das Laufwerk ist nach wie vor noch im Explorer da.
Wenn ich dann im Exporer auf das Laufwerk klicke, dann kommt zwar die Meldung, dass ich etwas einlegen soll, aber bei Hardware sicher entfernen ist das Laufwerk immer noch da. Wenn ich dann den USB Stick abziehe, kommt dann noch der Windowssound.
Muss man da noch etwas beachten bei der Nutzung?

Hallo zeras,
das ist auch richtig so. Der Sourcecode wirft nur das Medium aus und entfernt nicht das Medium.

zeras 3. Mai 2010 18:43

Re: USB - Gerät entfernen
 
Zitat:

Zitat von RWarnecke
Zitat:

Zitat von zeras
Ich habe den Code auch bei mir eingebaut. Leider ohne Erfolg. Das Laufwerk ist nach wie vor noch im Explorer da.
Wenn ich dann im Exporer auf das Laufwerk klicke, dann kommt zwar die Meldung, dass ich etwas einlegen soll, aber bei Hardware sicher entfernen ist das Laufwerk immer noch da. Wenn ich dann den USB Stick abziehe, kommt dann noch der Windowssound.
Muss man da noch etwas beachten bei der Nutzung?

Hallo zeras,
das ist auch richtig so. Der Sourcecode wirft nur das Medium aus und entfernt nicht das Medium.

Kann ich dann den Stick trotzdem abziehen oder muss ich noch irgendwas machen?
Ich dachte, der Stick muss völlig "weg" sein, damit man den abziehen kann.

himitsu 3. Mai 2010 18:47

Re: USB - Gerät entfernen
 
Was passiert denn, wenn du auf das noch sichtbare Laufwerk zugreifen willst?

zeras 3. Mai 2010 19:01

Re: USB - Gerät entfernen
 
Zitat:

Zitat von himitsu
Was passiert denn, wenn du auf das noch sichtbare Laufwerk zugreifen willst?

Dann kommt Meldung, dass ich einen Datenträger einlegen soll.
Reicht das denn aus, um den Stick nun sicher zu ziehen?

RWarnecke 3. Mai 2010 19:05

Re: USB - Gerät entfernen
 
Zitat:

Zitat von himitsu
Was passiert denn, wenn du auf das noch sichtbare Laufwerk zugreifen willst?

Unter Windows XP kommt die Meldung, dass ein Datenträger eingelegt werden soll. Bei VISTA und 7 wird der USB-Stick wieder verbunden und man kann auf das Laufwerk zugreifen.

Zitat:

Zitat von zeras
Reicht das denn aus, um den Stick nun sicher zu ziehen?

Rein theoretisch würde ich sagen ja. Kein Gewähr.

himitsu 3. Mai 2010 19:11

Re: USB - Gerät entfernen
 
Zitat:

Zitat von RWarnecke
Unter Windows XP kommt die Meldung, dass ein Datenträger eingelegt werden soll.
...

Rein theoretisch würde ich sagen ja. Kein Gewähr.

Na dann würde ich auch Ja sagen. :angel2:

RWarnecke 3. Mai 2010 19:40

Re: USB - Gerät entfernen
 
Da wir das jetzt geklärt haben, steht immer noch die Frage im Raum, wie lasse ich über mein Delphi Programm den Buchstaben aus dem Explorer verschwinden ?

himitsu 3. Mai 2010 19:44

Re: USB - Gerät entfernen
 
Weiß ich leider auch nicht, aber du könntest ja mal schauen ob und welche Messages an alle Anwendungen verschickt werden, wenn du dieses windowseigene "Geräte auswerfen" verwendest.

zeras 11. Sep 2010 12:55

AW: USB - Gerät entfernen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nun habe ich die Funktionen eingebaut und wenn ich den Windows Explorer auf habe und dann den Stick abmelde, kommt eine Exception Processing Message mit vielen HEX Codes. OK, das Laufwerk wird nun nicht mehr erkannt, aber warum müssen dann diese für den User nichtssagenden Meldungen kommen?
Kann man dies auch noch verhindern, denn ansonsten ist das schon ein großer Fortschritt, dass man nicht immer erst manuell abmelden muss?

hathor 11. Sep 2010 13:35

AW: USB - Gerät entfernen
 
Bei HDD beachten:

- Für schnelles Entfernen optimieren
- Für Leistung optimieren

zeras 11. Sep 2010 13:55

AW: USB - Gerät entfernen
 
Zitat:

Zitat von hathor (Beitrag 1048891)
Bei HDD beachten:

- Für schnelles Entfernen optimieren
- Für Leistung optimieren

Im Moment hatte ich nur USB Sticks getestet. Da kam das Problem auf.

hathor 11. Sep 2010 17:06

AW: USB - Gerät entfernen
 
USB-Sticks kann man auch verschieden formatieren:
Je nach Programm kann es z.B. als Diskette oder HDD bootfähig gemacht werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz