社区
界面
帖子详情
如何禁止其他进程窗口接收键盘消息?
CowWu
2003-08-20 06:18:24
如何禁止其他进程窗口接收键盘消息?
最好有实例!
我的email:mmwhw@sohu.com
cowly@parkway.com.cn
谢了
...全文
238
21
打赏
收藏
如何禁止其他进程窗口接收键盘消息?
如何禁止其他进程窗口接收键盘消息? 最好有实例! 我的email:mmwhw@sohu.com cowly@parkway.com.cn 谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fishboyzyf
2003-09-07
打赏
举报
回复
up
wuji10
2003-09-01
打赏
举报
回复
hHookMouse=SetWindowsHookEx(WH_MOUSE_LL,
MouseProc, //dll中鼠标处理函数,接收所有
鼠标消息在系统接收到之前
GetModuleHandle("YourHookDll.dll"),
0
);
//hHookMouse=(HOOKPROC)GetProcAddress(h_Instance,"LowLevelKeyboardProc");
hHookKeyboard=SetWindowsHookEx(WH_KEYBOARD_LL,
LowLevelKeyboardProc, ////dll中键盘处理函
数,接收所有键盘消息在系统接收到之前
GetModuleHandle("YourHookDll.dll"),
0
);
wuji10
2003-08-29
打赏
举报
回复
全局钩子能够捕捉到所有的键盘消息,当然就是在别的程序接收到他们之前了 。好像就是
Ctrl+Alt+Del比较麻烦点,别的都比较容易。
你只要调用这个全局钩子的dll就可以了。这样,就是你的程序能够在别的 程序接收到这些键盘消息之前接收到它。
你通过一个dll建立一个全局钩子,函数,然后通过重载捕获消息的函数。就能对你捕获到的 消息作处理了 。
最后调用这个 dll就是了 。
不知道这样说你能不能明白
wuji10
2003-08-29
打赏
举报
回复
用全局钩子,能捕捉到所有的所有的键盘消息,好象是Ctrl+Alt+Del键的消息捕捉有一定难度。别的完全可以捕捉到。而这当然是在你别的程序接收到这些消息之前。
这里只要你用你 希望接收到这些消息的 程序调用这个dll就可以了。
不知道这样说你是否能明白。
CowWu
2003-08-29
打赏
举报
回复
是不是安装了全局钩子,那系统中运行的程序都要加载全局钩子函数所在dll?如果是这样,那会损失系统的性能的。另外,我也不知道如何安装全局钩子函数,麻烦各位告诉我!
有没有方法只向给定的程序安装钩子函数?
谢谢
CowWu
2003-08-29
打赏
举报
回复
我在一个程序中安装了全局钩子函数,但如何让目标程序加载dll呢
shootingstars
2003-08-27
打赏
举报
回复
提供一个思路:(因为我也是刚刚接触钩子,所以可能理解存在错误)
首先你做的全局键盘钩子肯定是一个dll,这个dll实际运行的地址空间是应用程序的空间。所以假设你运行了三个程序:notepad,game,yourprogramm。这时这个dll应该被三次调用,并且这三个实例运行在不同的应用程序的地址空间。所以你因该只要在dll里判断这个dll的调用者就可以判断是否是yourprogramm了。
至于怎么找到这个调用者的句柄,等我找到了再告诉你。
--------------------------------------------------------
以上言论纯属一个初学者的理解,可能有不正确的地方请高手指教。
CowWu
2003-08-27
打赏
举报
回复
键盘钩子函数怎么判断消息是属于哪一个窗口的?
CowWu
2003-08-26
打赏
举报
回复
各位帮帮我把
cnhome
2003-08-25
打赏
举报
回复
up
CowWu
2003-08-25
打赏
举报
回复
各位有没有例子代码阿
heweixing_77
2003-08-21
打赏
举报
回复
同意 shootingstars(流星)
肯定要用全局钩子。
feeboby
2003-08-21
打赏
举报
回复
用钩子把所有的消息拦下来。
shootingstars
2003-08-21
打赏
举报
回复
做一个钩子的dll,设置全局的键盘钩子,在钩子函数中盘断当前窗口是否是自己的程序,如果是传送消息,如果不是拦截它。
Phourm
2003-08-21
打赏
举报
回复
用钩子,没得说!
balas
2003-08-21
打赏
举报
回复
PreTranslateMessage只能把发送到本进程的消息拦住,但是不能把其它进程的拦住,得做个钩子。
wangweintk
2003-08-21
打赏
举报
回复
做系统钩子,拦截其它应用程序的键盘消息。
flinming
2003-08-20
打赏
举报
回复
拦截窗体得PreTranslateMessage消息,比如下面一段代码只能输入0-9
BOOL CCsDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->hwnd==m_edit.m_hWnd)
{
if(pMsg->message==WM_KEYDOWN)
{
int a = pMsg->wParam;
CString b;
b.Format("%d",a);
//AfxMessageBox(b);
this->SetWindowText(b);
if((a<48&&a!=8&&a!=40&&a!=39&&a!=38&&a!=37)||(a>59&&a<96)||(a>105&&a!=187&&a!=189))
{
pMsg->wParam = 0;
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
bborn
2003-08-20
打赏
举报
回复
做个键盘钩子 判断一下
只给指定的窗口发送消息
mintwlf
2003-08-20
打赏
举报
回复
在映射键盘消息的时候,将return CView::OnKeyDown(...);等之类的语句换为return true;试试!
加载更多回复(1)
《Android系统源代码情景分析》
14.4.3 系统当前激活的应用程序
窗口
获得
键盘
消息
14.4.4 InputDispatcher获得
键盘
事件处理完成通知 14.5 InputChannel的注销过程 14.5.1 销毁应用程序
窗口
14.5.2 注销Client端InputChannel 14.5.3 注销...
Visual C++MFC编程实例
1.4.3
窗口
进程
10 1.5 怎样使用MFC创建一个
窗口
类 11 1.5.1 使用AfxRegisterWndClass () 函数注册一个
窗口
类 11 1.5.2 使用AfxRegisterClass ()函数 创建一个
窗口
类 12 1.6 怎样销毁一个MFC
窗口
类 14 1.7 厂商...
Windows
进程
常用DLL模块注入技术
窗口
消息
注入,指定
窗口
进程
注入,与全局钩子注入类似。 环境块注入,获取
进程
上下文信息,直接性修改程序执行流程完成注入。
进程
入口点注入,在程序初始化的时机前将dll模块文件注入至目标主线程。
进程
调试级...
精通Windows.API-函数、接口、编程实例.pdf
6.3.3 创建远程线程、将代码注入其他
进程
中执行 167 6.3.4 创建纤程、删除纤程、调度纤程 170 6.3.5 纤程与线程的互相转换 171 6.4
进程
状态信息 176 6.4.1 PS API与Tool help API 176 6.4.2 遍历系统中...
Windows下向指定
窗口
模拟发送
键盘
消息
在操作系统中,鼠标和
键盘
的操作会被转换为相应的系统
消息
,
窗口
过程在
接收
到
消息
后会进行对应的处理。发送
消息
,我们可以使用SendMessage()和PostMessage(),所以,只要使用这两个函数来发送鼠标和
键盘
的相关
消息
就...
界面
15,978
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章