MFC怎样制作老板键? 楼主,你能用键盘钩子设置了一个空格按钮隐藏当前程序到后台,那么把这个这个钩子改一下,让它可以监听所有的键盘按键,不单单是自己的程序HHOOK g_KeyBoarHook = SetWindowsHookEx(WH_KEYBOARD_LL, MyKeyboard, GetModuleHandle(NULL),0 );你看行不行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按照你的方法,我写的:HHOOK g_KeyBoard=NULL;LRESULT CALLBACK KeyBoardProc(int code, WPARAM wParam, LPARAM lParam ){ if(VK_SPACE==wParam) { ::ShowWindow(g_hWnd,SW_HIDE); } return 1;}在初始化后面写:g_KeyBoard=SetWindowsHookEx(WH_KEYBOARD_LL,KeyBoardProc,GetModuleHandle(NULL),0);运行结果是空格键实现不了功能了,甚至其他按钮都失效了,例如我开程序的时候,在这个论坛用回车换行都不行了 系统热键就可以了吧http://hi.baidu.com/weightbomb/item/430f773c40c6135b80f1a7bb 在 CTestHotkeyDlg特定的地方中调用RegisterHotKey(this->m_hWnd,1000,MOD_CTRL|MOD_ALT,'Q');请问这句话怎么理解。。汗。。HOOK钩子里面是在钩子声明下面直接{}中写,这个在哪写 很抱歉,没测试过就发给你。现改好试过才发.HHOOK g_KeyBoarHook = NULL;LRESULT CALLBACK MyKeyboard( int nCode, WPARAM wParam, LPARAM lParam){ if( nCode == HC_ACTION ) { PKBDLLHOOKSTRUCT pKeyboardHookStruct = (PKBDLLHOOKSTRUCT)lParam; if(wParam == WM_KEYDOWN) { switch( pKeyboardHookStruct->vkCode ) { case VK_SPACE: afxDump<<_T("VK_SPACE\n"); break; default: break; } } } return CallNextHookEx( g_KeyBoarHook, nCode, wParam, lParam );}BOOL CMy22Dlg::SetHook(){ g_KeyBoarHook = SetWindowsHookEx( WH_KEYBOARD_LL, MyKeyboard, NULL, 0); if( g_KeyBoarHook ) { return TRUE; } return FALSE;}BOOL CMy22Dlg::DeleteHook(){ if( UnhookWindowsHookEx( g_KeyBoarHook) ) { return TRUE; } return FALSE;}CMy22Dlg::CMy22Dlg(CWnd* pParent /*=NULL*/) : CDialogEx(CMy22Dlg::IDD, pParent){ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); SetHook();}CMy22Dlg::~CMy22Dlg(){ DeleteHook();} 多谢,按照你的写了。但是空格键没有任何反应,我还修改了你的一句代码:LRESULT CALLBACK MyKeyboard( int nCode, WPARAM wParam, LPARAM lParam){ if( nCode == HC_ACTION ) { PKBDLLHOOKSTRUCT pKeyboardHookStruct = (PKBDLLHOOKSTRUCT)lParam; if(wParam == WM_KEYDOWN) { switch( pKeyboardHookStruct->vkCode ) { case VK_SPACE: MessageBox(NULL, "11111", "提示", MB_OK); //afxDump<<_T("VK_SPACE\n"); break; default: break; } } } return CallNextHookEx( g_KeyBoarHook, nCode, wParam, lParam );}这个MessageBox没有跳出来,不知道你那边出现了什么结果 派生了一个组合框类,切换时编辑框总是空的 VC++ 获取本机外网IP 问一个关于列表控件的问题! 怎样在MFC Extention DLL 中创建FrameWnd 50分在线跪求,各位高手帮个忙吧◎!!! 遇到的关于hdc创建关于双缓存的问题 这个完成端口的程序怎么做呢?请教大家了 怎样让集成在IE中的工具条(类似google的工具条)安装后立即显示出来... MDI子窗口更改后窗口内的控件也相应的改变,但出错,请高手指教 请教一下,常用的压缩算法有哪些 哪里可以下c的sdk! 如何判断编辑框获取焦点,速度来帮忙啊 请问在WIN7下怎么编译在XP中运行的程序
HHOOK g_KeyBoard=NULL;LRESULT CALLBACK KeyBoardProc(int code,
WPARAM wParam,
LPARAM lParam
)
{
if(VK_SPACE==wParam)
{
::ShowWindow(g_hWnd,SW_HIDE);
}
return 1;
}在初始化后面写:
g_KeyBoard=SetWindowsHookEx(WH_KEYBOARD_LL,KeyBoardProc,GetModuleHandle(NULL),0);运行结果是空格键实现不了功能了,甚至其他按钮都失效了,例如我开程序的时候,在这个论坛用回车换行都不行了
http://hi.baidu.com/weightbomb/item/430f773c40c6135b80f1a7bb
RegisterHotKey(this->m_hWnd,1000,MOD_CTRL|MOD_ALT,'Q');请问这句话怎么理解。。汗。。
HOOK钩子里面是在钩子声明下面直接{}中写,这个在哪写
HHOOK g_KeyBoarHook = NULL;LRESULT CALLBACK MyKeyboard( int nCode, WPARAM wParam, LPARAM lParam)
{
if( nCode == HC_ACTION )
{
PKBDLLHOOKSTRUCT pKeyboardHookStruct = (PKBDLLHOOKSTRUCT)lParam;
if(wParam == WM_KEYDOWN)
{
switch( pKeyboardHookStruct->vkCode )
{
case VK_SPACE:
afxDump<<_T("VK_SPACE\n");
break;
default:
break;
}
}
}
return CallNextHookEx( g_KeyBoarHook, nCode, wParam, lParam );
}BOOL CMy22Dlg::SetHook()
{
g_KeyBoarHook = SetWindowsHookEx( WH_KEYBOARD_LL, MyKeyboard, NULL, 0); if( g_KeyBoarHook )
{
return TRUE;
}
return FALSE;
}BOOL CMy22Dlg::DeleteHook()
{
if( UnhookWindowsHookEx( g_KeyBoarHook) )
{
return TRUE;
} return FALSE;
}CMy22Dlg::CMy22Dlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CMy22Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); SetHook();
}CMy22Dlg::~CMy22Dlg()
{
DeleteHook();
}
多谢,按照你的写了。但是空格键没有任何反应,
我还修改了你的一句代码:
LRESULT CALLBACK MyKeyboard( int nCode, WPARAM wParam, LPARAM lParam)
{
if( nCode == HC_ACTION )
{
PKBDLLHOOKSTRUCT pKeyboardHookStruct = (PKBDLLHOOKSTRUCT)lParam;
if(wParam == WM_KEYDOWN)
{
switch( pKeyboardHookStruct->vkCode )
{
case VK_SPACE:
MessageBox(NULL, "11111", "提示", MB_OK);
//afxDump<<_T("VK_SPACE\n");
break;
default:
break;
}
}
}
return CallNextHookEx( g_KeyBoarHook, nCode, wParam, lParam );
}
这个MessageBox没有跳出来,不知道你那边出现了什么结果