Полетел правый контрол на клаве.... а рядом есть такая абсолютно ненужная кнопочка вызова свойств файла... написал прогу, поставил хук... процедура обработки хука ниже.... Немогу понять почему сообщение о нажатии этой кнопки проскакивает..((( контрол тоже включается... но и вылезает свойства файла... и еще почемуу то при отпускании клавиши невсегда отключается контрол.. хотя делал отладку сообщениями...все вроде нормально...в чем косяк??!! или надо драйвер писать??...
| Код | Function SysMsgProc(nCode:Integer; WParam:LongInt; LParam:LongInt):LongInt; stdcall; begin
if (((lParam shr 16) and $FF)=93) and (nCode = HC_ACTION) and (((lParam shr 16) and KF_REPEAT) = 0) then begin // messagebox(GetDesktopWindow,'ACTIV','',mb_ok); keybd_event(VK_LCONTROL, MapVirtualKey(VK_LCONTROL,0), KEYEVENTF_EXTENDEDKEY or 0, 0 ); TMsg(Pointer(LParam)^).Message:=WM_NULL;//глушим сообщение end;
if (((lParam shr 16) and $FF)=93) and (nCode = HC_ACTION) and ((((lParam shr 16) and KF_UP)) shr 15 = 1) then begin // messagebox(GetDesktopWindow,'DEACTIV','',mb_ok); keybd_event(VK_LCONTROL, MapVirtualKey(VK_LCONTROL,0), KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); TMsg(Pointer(LParam)^).Message:=WM_NULL;//глушим сообщение end;
end;
|
|