flytiger610(smile)你这个骗子为什么这两天没动静了。把分骗去就没事了,也不解决问题真是没道德。 WINDOWS2000下屏蔽掉CTRL+ALT+DEL?好像不容易啊。:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个问题可能没有答案,不过我听一个人说过,可以采用替换系统DLL的方法来做到。用Hook好像都不可以拦截Ctrl+Alt+Del的。 确实很难!同时对XXXX表示强烈的抗议!对你只能表示遗憾! 用低级钩子可以实现屏蔽这几个键HHOOK hhkLowLevelKybd;LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam, LPARAM lParam);LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam, LPARAM lParam){//底层键盘钩子 BOOL fEatKeystroke = FALSE; if (nCode == HC_ACTION) { switch (wParam) { case WM_KEYDOWN: case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam; int x; x++; fEatKeystroke = ( (p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0) ) || ( (p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0) ) || ( (p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0) )|| ( (p->vkCode ==91)) || //左Windows ( (p->vkCode ==92)) || //右Windows ( (p->vkCode ==93)); //右OnMouse break; } } return ( fEatKeystroke ? 1 : CallNextHookEx ( NULL, nCode, wParam, lParam ) );} hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL,( HOOKPROC)LowLevelKeyboardProc, GetModuleHandle(NULL), 0); 真的可以吗?我似乎记得需要编写DLL,由系统调用,否则级别不够,无法屏蔽系统热键。DLL我倒是有,在NT下也实现了(2000应该同理),只是真的不能告诉你,因为所有权属于一个国际大公司,我只能自己偷偷使用。我也正在自己编写,好象有点难,资料也少,所以过来侃侃! TClientHandleThread.Execute 的问题 技术支持---重分奖励 异步串口通信,如何读取奇偶校验位 关于activex form 里包含数据源的问题! 各位大哥小弟问个问题,就是能把toolbar放到PopupMenu中吗?弹出PopupMenu时显示toolbar的内容! 关于异常响应的问题 有没有根据动态数据来作曲线的控件,在那能找到这方面的资料 一个自编的数据感知控件不能放入TDBCtrlGrid中,为何?谢谢! 大虾小蟹们进行瞧瞧,这该怎么写? 捡分问题,快来看看。 怎样制作安装程序,我是说自己写一个。 过程中的问题(初学者问题,别嫌简单吆)
同时对XXXX表示强烈的抗议!
对你只能表示遗憾!
HHOOK hhkLowLevelKybd;
LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam, LPARAM lParam)
{//底层键盘钩子
BOOL fEatKeystroke = FALSE;
if (nCode == HC_ACTION)
{
switch (wParam)
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
case WM_KEYUP:
case WM_SYSKEYUP:
PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam;
int x;
x++;
fEatKeystroke =
( (p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0) ) ||
( (p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0) ) ||
( (p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0) )||
( (p->vkCode ==91)) || //左Windows
( (p->vkCode ==92)) || //右Windows
( (p->vkCode ==93)); //右OnMouse
break;
}
}
return ( fEatKeystroke ? 1 : CallNextHookEx ( NULL, nCode, wParam, lParam ) );
}
hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL,( HOOKPROC)LowLevelKeyboardProc, GetModuleHandle(NULL), 0);
我似乎记得需要编写DLL,由系统调用,否则级别不够,无法屏蔽系统热键。
DLL我倒是有,在NT下也实现了(2000应该同理),只是真的不能告诉你,因为所有权属于一个国际大公司,我只能自己偷偷使用。
我也正在自己编写,好象有点难,资料也少,所以过来侃侃!