2008-08-14 11 views
1

Ich entwickle eine Anwendung, um eine große Anzahl von Datendateien von mehreren DVDs zu installieren. Die Anwendung fordert den Benutzer auf, die nächste Festplatte einzulegen. Windows versucht jedoch automatisch, diese Festplatte entweder in einem Explorer-Fenster zu öffnen oder den Benutzer nach der neuen Festplatte zu fragen.
Wie kann ich automatische Wiedergabemeldungen von meiner Anwendung abfangen und abbrechen?Wie kann man die automatische Wiedergabe von einer Anwendung abfangen und abbrechen?

Antwort

3

Es gibt zwei Ansätze, die ich kenne. Die erste und einfachste ist, die spezielle Windows-Nachricht "QueryCancelAutoPlay" zu registrieren und einfach 1 zurückzugeben, wenn die Nachricht bearbeitet wird. Dies funktioniert nur für das aktuelle Fenster und nicht für eine Hintergrundanwendung.

Der zweite Ansatz erfordert das Einfügen eines Objekts, das die COM-Schnittstelle IQueryCancelAutoPlay COM-Schnittstelle in die Tabelle laufender Objekte implementiert.

0

Alternativ können Sie den aktuellen Status der automatischen Wiedergabe programmgesteuert speichern und beim Starten des Programms deaktivieren und dann den ursprünglichen Zustand wiederherstellen, wenn das Programm geschlossen wird. Das wäre viel einfacher. Schauen Sie sich the NoDriveTypeAutoRun key an.