Зарегистрируйтесь на событие в Windows
-
27-09-2019 - |
Вопрос
Привет, я хочу сделать что-то, когда память памяти прикреплена к ПК. Теперь я использую таймер и проверяю его в каждом тике, подключен ли какая-либо палка памяти (используйте Driveinfo или с запросом WMI). Например, я использую событие в моей программе, которая поднимается всякий раз, когда на компьютере подключается память памяти памяти?
Решение
Вы хотите справиться с WM_DEVICECHANGE. сообщение в вашем wndproc. Когда вы справляетесь с этим, вы также можете позвонить RegisterDeviceNotification
Чтобы получить уведомление о том, что палка чисто выбрасывается.
Когда вы получаете WM_DEVICECHANGE
, Вы хотите проверить WParam - DBT_DEVICEARRIVAL
(0x800) - это то, что вы ищете.
В C ++ у вас не должно быть проблем с WNDProc. В C # вы захотите переопределить вашу основную форму Wndproc. Метод и проверка m.Msg == 0x219
а также m.WParam == 0x800
. Отказ Обратите внимание, что не все это станут палочкой памяти - но вы можете использовать это, чтобы уведомить вас, чтобы проверить вставку привода, а не таймера.