社区
进程/线程/DLL
帖子详情
【求助】想在一个服务程序中获得某个特定键盘按键的敲击信号
月小夏
2011-10-15 09:49:37
RT,想当按下一个自定义的按键,如R或者什么组合键的时候,运行的服务程序能够获取这个事件,并进行相应的操作。
看到好多人获取键盘消息都是用hook,我感觉在服务这里用不大合适。。不知道有没有简单一点的办法
谢谢~~
...全文
184
10
打赏
收藏
【求助】想在一个服务程序中获得某个特定键盘按键的敲击信号
RT,想当按下一个自定义的按键,如R或者什么组合键的时候,运行的服务程序能够获取这个事件,并进行相应的操作。 看到好多人获取键盘消息都是用hook,我感觉在服务这里用不大合适。。不知道有没有简单一点的办法 谢谢~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
月小夏
2011-10-16
打赏
举报
回复
[Quote=引用 9 楼 lactoferrin 的回复:]
如果你的服务是内核模式驱动程序,则很简单,网上代码一堆
如果是用户模式程序,则需要在active console session-winsta0-input desktop下创建子进程来记录,服务进程自己安装的键盘hook或raw input是没用的
服务程序可以通过打开并读取\Device\KeyboardClass0设备来记录键盘,但这会和csrss产生竞争
[/Quote]
是用户模式程序,麻烦您再详细说一下好吗??或者有没有相关的资料??谢谢~
Lactoferrin
2011-10-16
打赏
举报
回复
如果你的服务是内核模式驱动程序,则很简单,网上代码一堆
如果是用户模式程序,则需要在active console session-winsta0-input desktop下创建子进程来记录,服务进程自己安装的键盘hook或raw input是没用的
服务程序可以通过打开并读取\Device\KeyboardClass0设备来记录键盘,但这会和csrss产生竞争
endless_love123
2011-10-16
打赏
举报
回复
没有界面的话,我所知道的也就是HOOK了,不过我不太会钩,曾经钩过一次,不过好麻烦……过完了,过几天,我自己看代码,都晕了……这种可能需要去找点网络安全编程方面的书吧,HOOK一般破坏程序之类的比较喜欢用,黑客还可以监听你键盘按键的频率之类。
月小夏
2011-10-16
打赏
举报
回复
[Quote=引用 6 楼 endless_love123 的回复:]
如果是在界面中进行的话,好像可以通过监听键盘事件,来获取按下的按键,然后处理?
其实我也只是想到了HOOK,看到了楼上有人说至少4种方法,想半天,想出来这种,不知道算不算?
[/Quote]
谢谢楼上,我其实主要是想在服务程序中完成,没有窗口,所以感觉hook有些麻烦,也可能是我不知道简单的办法。。。
继续求答案。。
endless_love123
2011-10-16
打赏
举报
回复
如果是在界面中进行的话,好像可以通过监听键盘事件,来获取按下的按键,然后处理?
其实我也只是想到了HOOK,看到了楼上有人说至少4种方法,想半天,想出来这种,不知道算不算?
Lactoferrin
2011-10-15
打赏
举报
回复
至少有4种方法
月小夏
2011-10-15
打赏
举报
回复
[Quote=引用 1 楼 lijianli9 的回复:]
目前也只能想到的是hook
[/Quote]
我刚开始接触windows编程,感觉概念很模糊,请问有没有专门介绍hook的资料,我得细细看看才知道怎么完成。。有好的书或资料推荐码???
lijianli9
2011-10-15
打赏
举报
回复
目前也只能想到的是hook
月小夏
2011-10-15
打赏
举报
回复
[Quote=引用 4 楼 l460602540 的回复:]
孙鑫的vc开发技术详解里有关于HOOK的介绍。LZ可以看看。
下面是我认为的实现方式:
1.在类中定义一个BOOL类型pubic的变量初始值为FALSE。
2.在钩子函数中判断是否是需要响应的消息。赋值为true
3.在响应函数中进行判断,如果是执行所有代码后赋值为FALSE
个人建议不知道有没有帮助。
[/Quote]
谢谢~~我看看资料试一下~~~
l460602540
2011-10-15
打赏
举报
回复
孙鑫的vc开发技术详解里有关于HOOK的介绍。LZ可以看看。
下面是我认为的实现方式:
1.在类中定义一个BOOL类型pubic的变量初始值为FALSE。
2.在钩子函数中判断是否是需要响应的消息。赋值为true
3.在响应函数中进行判断,如果是执行所有代码后赋值为FALSE
个人建议不知道有没有帮助。
macbookwps excel颜色填充快捷键_Excel VBA 实例(31) 为VBA代码自定义快捷键
将永恒君的百宝箱设为星标精品文章第一时间读这几天遇到
一个
有点特别的需求。需求估计这位朋友是一位科研人员,在进行研究的过程当
中
,两只手没法同时进行
键盘
输入操作:右手需要摆弄和查看样品,只能用左手在
键盘
上进行
敲击
输入。他研究的样品一共有三种,标记为s,d,f三类。他需要做的事情是:右手边查看样品,左手在Excel
中
做记录(即样品对应的单元格
中
输入s,d,f三个字母
中
的
一个
,同时单元格标记颜...
【信息安全案例】——设备与环境安全(学习笔记)
计算机信息系统都是以一定的方式运行在物理设备之上的,因此,保障物理设备及其所处环境的安全,就成为信息系统安全的第一道防线。
《Linux私房菜》阅读笔记,此文章超长,不值得阅读,持续更新
中
《Linux私房菜》阅读笔记整理 chapter 0 CPU central processing unit 主要作用,管理和运算 (算数逻辑单元,控制单元) CPU的重点在与 运算和判断,这些数据来自于内存 目前主流的CPU是双核以上,原本的单核是指仅有
一个
运算单元,多核是指在
一个
CPU壳子里装了多个运算内核 CPU 的性能对比 1 内部的微指令集 2 CPU的频率 -- 每秒CPU的工作...
linux 学习
转帖自 http://space.itpub.net/439945/viewspace-448788 鸟哥的linux私房菜(基础学习篇) 1.概述:linux就只是
一个
内核(就是控制硬件的东西),它提供了
一个
完整操作系统
中
最底层的硬件控制与资源管理的完整架构.有些公司将一些需要的软件套件装载到linux核心程序
中
,并且以光盘发行,这种光盘数据就是发行版,即俗称的"distr
ubuntu unity 3D桌面效果
不推荐在Ubuntu 12.10版使用3D桌面特效,因为这个版本正在做较大的修改和测试,把 Unity 2D桌面取消了,这是为了在以后“统一”桌面做准备,所以在Ubuntu 12.10版
中
使用带3D特效的Unity桌面或者另行安装使用Gnome-Shell桌面时,常常会出现一些问题。如果您的电脑是需要用于日常工作,还 是建议使用Ubuntu 12.04 LTS稳定版,等候明年13.04的发布。
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章