Как парализовать мышь на определенный период
|
От: |
IgoX
|
|
| Дата: | 03.05.01 19:52 |
|
Оценка: |
|
Делал Hook, но WM_NCHITTEST ловится, а WM_MOUSEMOVE нельзя парализовать.
Или хотябы как сделать модальной окно для всего Windows 98
Тело программки
LRESULT CALLBACK (__stdcall *pClickDisable)(int,WPARAM,LPARAM);
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HINSTANCE h;
h = LoadLibrary("PDllHook.dll");
(void*)pClickDisable=GetProcAddress(h,"pClickDisable");
SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)pClickDisable,h,0);
}
Тело DLL
extern "C" __declspec(dllexport) LRESULT CALLBACK ClickDisable(int, WPARAM, LPARAM);
MSG *msg;
LRESULT CALLBACK ClickDisable(int Code, WPARAM wParam, LPARAM lParam)
{
msg = (MSG*)lParam;
if(msg->message == WM_KEYDOWN || msg->message == WM_LBUTTONDBLCLK и т.д.)
msg->message = WM_NULL;
return 0;
}
Пока на собственное сообщение не было ответов, его можно удалить.