C++ 控制台程序 如何自定义消息

earthwormqiu 2007-01-11 11:05:13
同上
...全文
930 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hun_kou_fan_chi 2007-01-14
  • 打赏
  • 举报
回复
up
WingForce 2007-01-13
  • 打赏
  • 举报
回复
看了lz2个帖子终于知道lz想做什么了,其实和控制台程序相应消息没什么关系,而是服务程序怎么获取系统消息的问题。很简单:

1,你的服务RegisterServiceCtrlHandler一个处理SERVICE_CONTROL_DEVICEEVENT的Handler,在这个Handler里面处理将要到来的设备事件(比如USB插入)

2,调用RegisterDeviceNotification,并为第一个参数传递RegisterServiceCtrlHandler返回的服务状态句柄,为第三个参数传递DEVICE_NOTIFY_SERVICE_HANDLE=1,表示是注册到服务
WingForce 2007-01-12
  • 打赏
  • 举报
回复
lz的意思ms是让控制台程序有自己的消息处理机制,就像窗口程序一样?

要让usb设备插入时,控制台程序可以知道。

我想到的一个办法是让控制台程序hook系统的WM_DEVICECHANGE消息
WingForce 2007-01-12
  • 打赏
  • 举报
回复
汗。。。
你又是控制台程序,又是服务的?

如果是服务的话,服务是可以直接利用RegisterDeviceNotification的
earthwormqiu 2007-01-12
  • 打赏
  • 举报
回复
WingForce(初六,履霜,坚冰至。)

服务程序中怎么使用钩子啊!
JonathanS666 2007-01-12
  • 打赏
  • 举报
回复
可以用事件Event触发啊,为什么非得用消息呢
earthwormqiu 2007-01-12
  • 打赏
  • 举报
回复
OnDeviceChange()
函数只能在窗口函数才能使用吧,服务中能使用吗
taodm 2007-01-11
  • 打赏
  • 举报
回复
控制台程序也是win32程序,可以postthreadmsg什么的,什么值都可以啊。
fengjing1108 2007-01-11
  • 打赏
  • 举报
回复
windows 有个消息处理函数的你看看好像是:OnDeviceChange()
就可以接受USB设备的插拔
earthwormqiu 2007-01-11
  • 打赏
  • 举报
回复
我不知道自己有多少分,如果解决问题我另开贴送100分
earthwormqiu 2007-01-11
  • 打赏
  • 举报
回复
可以看看http://community.csdn.net/Expert/topic/5288/5288695.xml?temp=.2667047
earthwormqiu 2007-01-11
  • 打赏
  • 举报
回复
to OOPhaisky(异化$渴望成功~~)
应该是我没有写明白!
我的意思是,我在一个服务中要接受插拔USB的消息。而通过RegisterDeviceNotification这个可以获得USB插拔消息,我在对话框和多文档应用程序中都实现了这个功能。

to greatriver(南山浮云)
我见有人还是解决了这个问题
http://topic.csdn.net/t/20050102/18/3694577.html
南山浮云 2007-01-11
  • 打赏
  • 举报
回复
系统服务程序一般无界面,无法接收Windows窗口消息,所以,我有两个建议方案:

1 创建交互式控制台程序,以该系统上的某个用户的身份登录,可以有窗口界面,具体参考CreateService函数的说明;

2 再建一个代理程序,通过进程间通信的方式与控制台服务进程交互,代理程序在用户登录后启动,有界面,收到窗口消息再通知服务进程。

两种方式各有优劣,LZ请自行分析一下,大家如有更好的方案也拿出来讨论讨论。
OOPhaisky 2007-01-11
  • 打赏
  • 举报
回复
不会(也没看懂),见笑。。。
earthwormqiu 2007-01-11
  • 打赏
  • 举报
回复
我是要不USB的插拔消息在控制台接受,需要使用RegisterDeviceNotification这个函数,但是在控制台服务中就无法接受这些消息,应该怎么处理比较好

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧