首页
社区
课程
招聘
[求助][求助] 想HOOK键盘上的CTRL+C组合键,让CTRL+C之后再做一些我想做的事.
发表于: 2011-1-1 16:20 7397

[求助][求助] 想HOOK键盘上的CTRL+C组合键,让CTRL+C之后再做一些我想做的事.

2011-1-1 16:20
7397
我使用的是C++

想HOOK CTRL+C,

不过消息还是要正常发送出去,但发送出去后我需要获取剪贴板的数据。

应该如何做呀?

初次接触钩子,斗胆发出自己写的戳码,望大家给些指导。谢谢各位。
HHOOK g_hKey;
HWND g_hWng;
TCHAR pszCliData[20][100]={0};
int i=0;
///////////////////////////////////////////////////////////////////
LRESULT CALLBACK KeyboardProc(int code,
							  WPARAM wParam,
							  LPARAM lParam
							  )
{
//现在是拦截所有按键
//想在这里把按键消息先放行,再从剪贴板中取数据。应该如何做呀。?
	if (OpenClipboard(g_hWng))
	{
		if(IsClipboardFormatAvailable(CF_UNICODETEXT))
		{
			HGLOBAL hCli;
			hCli=GetClipboardData(CF_UNICODETEXT);
			_tcscpy(pszCliData[i++],(PTCHAR)GlobalLock(hCli));
			GlobalUnlock(hCli);
			CloseClipboard();
			MessageBox(g_hWng,pszCliData[i],_T("内容"),MB_OK);
		}

	}
	return CallNextHookEx(g_hKey,code,wParam,lParam);
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 20
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Hook SetClipboardData
2011-1-1 18:51
0
雪    币: 120
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
还不知道如何HOOK API

听你一说,顿时觉得海阔天空。
但一想到自己的能力,有种便秘的感觉。
2011-1-1 19:14
0
雪    币: 239
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
去msdn...
2011-1-1 20:46
0
游客
登录 | 注册 方可回帖
返回
//