Wie kann ich die automatische Wiedergabe einer Anwendung abfangen und abbrechen?

StackOverflow https://stackoverflow.com/questions/11734

  •  08-06-2019
  •  | 
  •  

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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top