我在做一个鼠标模拟的程序,要求是:在程序A中捕获所有的鼠标操作,在程序B及程序C中原样实现。
问题一:程序A中有按钮和其它多种控件,怎么样才能捕获所有的操作(其实就一个点击操作)。
问题二:采用mouse_event 来模拟鼠标操作,但要求程序B和程序C必须是顶层的,怎么办?
那位老大做过,指点一二!
问题一:程序A中有按钮和其它多种控件,怎么样才能捕获所有的操作(其实就一个点击操作)。
问题二:采用mouse_event 来模拟鼠标操作,但要求程序B和程序C必须是顶层的,怎么办?
那位老大做过,指点一二!
解决方案 »
- dataGridView 整行选中问题
- C# HttpWebRequest.GetResponse()服务器提交了协议冲突.
- 修改网格上数据并保存!
- C#调用DLL的问题
- btn3控制主线程,btn1,btn2,分别控制子线程,请线程方面牛人帮忙解决下,小弟初学线程
- 求 PROGRAMMING C# 中文版(刘基诚)电子书!!!或者英文版也行。谢了!!
- 关于DataGrid里对数据增删改问题!;
- 为何textBox无法显示字符串"\0\00\0P\0`\n\0€\t"?
- C#中大量数据造成toolTip混乱。
- c#多串口通讯问题
- 用C#编写dll
- email群发问题,请各路高手回答。谢谢。
{
base.WndProc(ref m);
}
1.截获问题,程序界面上有一个webbrower控件,以及一些按钮,使用重载WndProc函数,只能拦截到父窗口的鼠标消息,点击控件的消息不能拦截,只是收到 WM_MOUSEACTIVATE 消息,里面有点击信息。
2.用SendMessage发送消息不会出现顶层的问题,但使用mouse_event 则会有顶层问题。现在主要问题是截获不到所有的鼠标消息。主要是点在webbrower控件里的消息不能截获
对于网页里面的控件, 它是属于Trident引擎(IE的核心引擎)绘制的控件, 所以你对付普通Win32控件的方法是无效的.你可以获取WebBrowser它的页面的IHTMLDocument接口, 挂钩里面的事件进行拦截.另外你也可以Hook鼠标消息, 获取点击位置, 通过IHTMLDocument的getElementByPoint这个函数来获取点击位置的Web控件.