Здравствуйте
Хочу поймать момент вставки CD диска в CD/DVD ROM
В Windows 2000 (и вроде бы XP без SP) это можно было сделать достаточно просто.
В Form перегрузить WndProc:
protected override void WndProc(ref Message m)
{
base.WndProc(ref m); // call default p
if (m.Msg == 0x0219) //WM_DEVICECHANGE
{
// Сообщение WM_DEVICECHANGE приходит когда изменилась конфигурация
// Дальше определяется, как именно она изменилась, но тут это не важно
}
}
ПРОБЛЕМА В ТОМ, ЧТО В XP SP2 СООБЩЕНИЕ WM_DEVICECHANGE НЕ ПРИХОДИТ!
В Windows 2000 — приходит, в XP SP2 — НЕТ!
(пробовал на нескольких машинах)
Еще примеры:
http://www.codeproject.com/dotnet/devicevolumemonitor.asp
http://www.codeproject.com/cs/system/DriveDetector.asp
Эти примеры не работают под XP SP2! (по той же причине)
Собственно вопрос: почему в XP SP2 не перехватывается сообщение WM_DEVICECHANGE?
Заранее спасибо