Cum pot intercepta și anula redarea automată dintr-o aplicație?

Dezvolt o aplicație pentru a instala un număr mare de fișiere de date de pe mai multe DVD-uri. Aplicația va cere utilizatorului să introducă următorul disc, însă Windows va încerca automat să deschidă acel disc fie într-o fereastră de explorator, fie să întrebe pe utilizator ce să facă cu noul disc. Cum pot intercepta și anula mesajele de redare automată din aplicația mea?

0
fr hi bn

2 răspunsuri

Există două abordări pe care le cunosc. Primul și cel mai simplu este să înregistrați mesajul Windows special "QueryCancelAutoPlay" și pur și simplu să returnați 1 atunci când mesajul este gestionat. Acest lucru funcționează numai pentru fereastra curentă și nu pentru o aplicație de fundal.

A doua abordare necesită introducerea unui obiect care implementează interfața COM IQueryCancelAutoPlay COM în tabela de obiecte în execuție.

0
adăugat

Alternativ, ați putea să salvați automat starea curentă de redare automată și să îl dezactivați când programul dvs. începe, apoi să restabiliți starea inițială atunci când programul dvs. se închide. Acest lucru ar fi mult mai simplu. Consultați cheia NoDriveTypeAutoRun .

0
adăugat