registreer vir 'n gebeurtenis in Windows
-
27-09-2019 - |
Vra
Hi Ek wil om iets te doen wanneer 'n geheuestokkie aan PC. Nou 'n timer gebruik ek en check dit in elke tik of enige geheuestokkie ingeprop (gebruik DriveInfo of met die gebruik daarvan WMI) Is daar enige gebeurtenis gedrewe model beskikbaar om te doen? byvoorbeeld ek gebruik 'n gebeurtenis in my program wat verhoog wanneer 'n geheuestokkie ingeprop in die rekenaar?
Oplossing
Jy wil om te hanteer die WM_DEVICECHANGE boodskap in jou wndproc. Wanneer jy dit hanteer, kan jy ook RegisterDeviceNotification
bel om 'n waarskuwing dat die stok word skoon uitgeskiet kry.
As jy 'n WM_DEVICECHANGE
ontvang, wat jy wil om die wParam kyk - DBT_DEVICEARRIVAL
(0x800) is wat jy soek vir
In C ++, jy moet geen probleme met die wndproc het. In c #, sal jy jou hoof vorm se WndProc metode en check m.Msg == 0x219
en m.WParam == 0x800
. Let daarop dat nie al hierdie sal 'n geheuestokkie wees -. Maar jy kan dit gebruik om u in kennis stel om te kyk vir drive invoeging eerder as 'n timer