驱动与应用程序通信出错

99012606   2008-9-4 19:10 楼主
在按键驱动中启动一个窗体程序A
然后使用FindWindow 去查找该窗体,但是总找不到返回NULL
同样,启动A,在另一个应用程序里FindWindow 查找A的窗体却成功,发送消息一切正常
各位,是什么原因呢

回复评论 (9)

自己顶起先
点赞  2008-9-5 10:18
  驱动里,找窗体,这个活,应该应用程序来做。
点赞  2008-9-5 11:19
我需要在驱动里产生中断时发送消息给应用程
点赞  2008-9-5 11:50
那你应该在系统启动时就启动该应用。
点赞  2008-9-5 13:40
思路有问题。驱动发消息给应用程序,也应该是广播,为什么要指定窗口?
点赞  2008-9-5 14:56
简单的说!为什么驱动里使用FindWindow查找一个已存在的窗体会失败
而在应用程序中的相同操作却能成功
点赞  2008-9-5 15:42
这个没有环境测试。

不过用广播形式发送倒是一个普遍的做法。
点赞  2008-9-7 10:33
别的方法能搞定,我只是不清楚为什么会这样  我另一个MFC的程序可以找到
点赞  2008-9-29 17:09
这主要有几种情况

1.驱动中FindWindow的代码和MFC中的不同(可能性1%)
2.驱动加载过早,比如按键驱动一般由device.exe加载,而Window创建一般由gwes.exe加载之后才进行,
  所以,当你驱动执行该代码时,窗口根本还没创建,所以找不到。(可能性98%)
3.未知原因及不可抗力造成。(1%)
点赞  2008-10-6 12:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复