Вниз
Скачать: CL | DM;

Без темы   Найти похожие ветки 

 
ATLANTIDO ©   (2002-04-26 00:26) [0]

Мастера ! Проблема ! Бьюсь уже месяц :(
Моя прога в опр. момент времени должна всплывать (типа блокировка), да так, чтобы ее не могли перекрыть. При этом блокируется клав. и мышь (хуки). Form1 - максимизированое окно.
Form2 - окно с сообщением.

if Copy(str, 1, 4)="lock" then
begin
{///KILL all}
H := GetForegroundWindow;
GetWindowText(H, Buffer, SizeOf(Buffer));
if (Pos("Internet Explorer", Buffer)=0) and (H<>Form1.Handle) and (H<>Form2.Handle) and (H<>Form3.Handle) and (H<>Form4.Handle) and (H<>Form5.Handle) then
KillProgram(H);
{TOP////////////}
a:=GetWindowThreadProcessId(GetForegroundWindow,nil);
AttachThreadInput(GetCurrentThreadId,a,true);
SetForegroundWindow(Handle);
AttachThreadInput(GetCurrentThreadId,a,false);
SetWindowPos(Form1.Handle, hwnd_TopMost, Form1.Left, Form1.Top, Form1.Width, Form1.Height, SWP_SHOWWINDOW);
//Блокировка ввода
hKeybHook:=SetWindowsHookExA(WH_KEYBOARD,@KeybProc,HINSTANCE,0);
hMouseHook:=SetWindowsHookExA(WH_MOUSE,@MouseProc,HINSTANCE,0);
Form5.Show;
SetWindowPos(Form5.Handle, hwnd_TopMost, Form5.Left, Form5.Top, Form5.Width, Form5.Height, SWP_SHOWWINDOW);
end;

Потом мне надо дать доступ пользователю (снять блокировку). Делаю так:

if Copy(str, 1, 6)="unlock" then
begin
Form5.Hide;
SetForegroundWindow(Form1.Handle);
Form1.SetFocus;
//разблокировка
UnhookWindowsHookEx(hKeybHook);
UnhookWindowsHookEx(hMouseHook);
SetWindowPos(Form1.Handle, hwnd_NoTopMost, Form1.Left, Form1.Top, Form1.Width, Form1.Height, SWP_SHOWWINDOW);
end;

Так вот, после "разблокировки" не воспринимаются нажатия на мышь и клавиатуру. Может Form1 фокус ввода не получает ?


 
Song ©   (2002-04-26 08:08) [1]

А хук-то снимается?


 
Vovchik ©   (2002-04-26 15:57) [2]

Убей хук с помощью UnRegisterHookEx или чего-то в этом роде, не помню точно название.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
1-77413
Cossys
2002-06-10 18:55
2002.06.24
Как вычислить цену исходника программы


1-77391
galik
2002-06-13 15:49
2002.06.24
Компонент F1Book


1-77421
CrazyHacKeRs
2002-06-10 14:21
2002.06.24
text2translit


14-77613
III@K@/\
2002-05-19 19:35
2002.06.24
Программирование


4-77693
AndreyS
2002-04-27 13:09
2002.06.24
Вопрос новичка




   Наверх