|
Не хочет работать WM_DEVICECHANGE. При открытии или закрытии CD-ROM ничего не происходит. Помогите!
| function WindowProc(hWnd: THandle; uMsg, wParam, lParam: Integer): Integer; stdcall; export; begin Result := 0; //Сообщения от меню case uMsg of WM_COMMAND: case wParam of ID_CLOSE: PostMessage(hWnd, WM_DESTROY, 0, 0); end;
WM_DEVICECHANGE: MessageBox(hwnd, 'Ура! Получилось.', '', 0);
// Остальные сообщения Windows WM_DESTROY:PostQuitMessage(0); end; end;
begin FillChar(WndClass, SizeOf(WndClass), 0); with WndClass do begin hInstance := SysInit.hInstance; lpszClassName := 'sMyWindow'; lpfnWndProc := @WindowProc; end; RegisterClass(WndClass); hWnd := CreateWindow('sMyWindow', '', 0, 0, 0, 0, 0, 0, 0, hInstance, NIL); if hWnd = 0 then begin if MessageBox(hwnd,'Ошибка инициализации !', '', MB_ICONERROR or MB_OK or MB_TASKMODAL) = ID_OK then Exit; end; //Скрываем окно ShowWindow(hWnd, SW_HIDE);
//Цикл обработки сообщений repeat waitMessage; while GetMessage(Msg, 0, 0, 0) do begin TranslateMessage(Msg); DispatchMessage(Msg); if msg.message = WM_HOTKEY then case msg.wParam of ID_HOTKEY_OPENTIME: MessageBox(hwnd, 'HOTKEY', '', MB_OK); end; end; until FALSE;
end. |
|