Wie kann ich die automatische Wiedergabe einer Anwendung abfangen und abbrechen?
Frage
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 Diskette einzulegen. Windows versucht jedoch automatisch, diese Diskette entweder in einem Explorer-Fenster zu öffnen oder fragt den Benutzer, was mit der neuen Diskette geschehen soll.
Wie kann ich die automatische Wiedergabe von Nachrichten aus meiner Anwendung abfangen und abbrechen?
Lösung
Es gibt zwei Ansätze, die ich kenne.Die erste und einfachste besteht darin, die spezielle Windows-Nachricht „QueryCancelAutoPlay“ zu registrieren und einfach 1 zurückzugeben, wenn die Nachricht verarbeitet 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 implementiert IQueryCancelAutoPlay
COM-Schnittstelle in die Running Object Table.
Andere Tipps
Alternativ können Sie den aktuellen Status der automatischen Wiedergabe einfach programmgesteuert speichern und beim Start Ihres Programms deaktivieren und dann beim Schließen des Programms den ursprünglichen Status wiederherstellen.Das wäre viel einfacher.Kasse der NoDriveTypeAutoRun-Schlüssel.