社区
界面
帖子详情
如何禁止其他进程窗口接收键盘消息?
CowWu
2003-08-20 06:18:24
如何禁止其他进程窗口接收键盘消息?
最好有实例!
我的email:mmwhw@sohu.com
cowly@parkway.com.cn
谢了
...全文
233
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)
操作系统课程设计
进程
通信
编写两个
进程
,一
进程
负责发送字符 串,另一
进程
负责
接收
字符串; 支持Windows/linux的共享存储区、
消息
、有名和无名管道、Socket通信...发送
进程
应可以从
窗口
或
键盘
上
接收
字符串;
接收
进程
应可将字符串显示在
窗口
上;
《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下向指定
窗口
模拟发送
键盘
消息
在操作系统中,鼠标和
键盘
的操作会被转换为相应的系统
消息
,
窗口
过程在
接收
到
消息
后会进行对应的处理。发送
消息
,我们可以使用SendMessage()和PostMessage(),所以,只要使用这两个函数来发送鼠标和
键盘
的相关
消息
就...
Qt
窗口
非激活状态获取
键盘
事件
在多个
窗口
一起存在时,其中一个
窗口
需要一直获取
键盘
事件: 可以在这个
窗口
中捕获
键盘
事件,即grabKeyboard(); 这样这个
窗口
可以一直获取
键盘
事件。 即使这个
窗口
不在激活状态下依然可以获取
键盘
事件。同时激活...
界面
15,979
社区成员
115,897
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章