VS2010里的VB如何编写在弹出对话框里自动点确定? 很久没有碰VB了(以前喜欢用),现在突然自己需要一个小程序,而且是实时监控,让它帮我完成一个小功能:如何自动帮我点击弹出对话框里的确定按钮?这些要求后台完全,不影响正常的鼠标、键盘的操作(如上网、娱乐等等) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这跟“平台”无关吧!各种编程环境中,思路都差不多。如果是在“用户操作”中弹出的消息框,这个消息应该都是处于“前台”的活动窗口, 可以用 GetForegroundWindow( ) 获取到消息框句柄, 然后以此句柄值查找到“确定”按钮的句柄,向它发送 WM_LBUTTONDBLCLK 就可以了。如果是“后台程序”运行之中,在某种情况下出现消息提示,那就要按窗口类名、窗口标题来找窗口了。要实现所谓的”实时监控“,一个是HOOK窗口创建相关的几个API(难度较大), 这样可以截获创建的窗口是不是“被监控”的消息框、它的句柄值是多少。方法二,就容易实现了,就是用“定时器”事件,不停的“找”有没有被监控窗口(消息框)出现。 如果找到了(出现了),就再找它的“确定”按钮的句柄,发送WM_LBUTTONDBLCLK消息。 毕竟多数情况下,关闭“消息框”实时性要求并不高,只要定时器的时钟周期稍短点就行了。 另外,如果消息框是只有“确定”的那种,不用找“确定”按钮的句柄,直接向消息框发送 WM_CLOSE 就行了。 如何“按窗口类名、窗口标题来找窗口”?可否详细说说,因为确实不懂,而目前仅仅需要这样的一个小程序,所以很难做到再次系统的学习VB.net…………请大神指点。 是用VS2010里自带的SPY++吗? 会用Spy++吗 ? (或者类似功能的别的工具)在你要“监控”的那个消息框出现时,看看它的类名、标题文字啊!如果是“看起来很普通”的那种消息框,多半都是调用User32.dll中的 MessageBox实现的,它的“类名”就是#32770, 标题文本就是标题栏上显示的文字了。如果是“自绘的消息框”,就要用工具软件来看类名和标题文本了。 比如数字流氓的消息,它的类名是 Q360HIPSClass ,标题好像就是“看到”的标题(记不清楚了,我没安装数字流氓)。再比如QQ,它“右下角弹窗”,消息框类名是TXGuiFoundation,你可能“看到的标题”是五花八门的有很多不同; 但事实上,它的那个“真正标题文本”只有两个:腾讯视频 和 大成新闻网无论VB6,还是VB.NET ,使用API的“原则”都是一样的。只是在“细节”上有一些差别而已:比如,如何声明或引用dll导出函数的“写法”上有所不同。你自己搜一下 FindWindow和FindWindowEx这两个API的介绍吧,网上到处都是……我再在这儿重复也没有什么意义。 是用VS2010里自带的SPY++吗?我说的Spy++就是那个,VC、VS都带着的,只要安装时选择了“工具”这个组件,它肯定就会被安装。毕竟对“编程”来说,只要牵涉到“要处理其它程序的窗口”,基本就离不开它(或类似的替代工具)。 http://www.autohotkey.com 如何复制 ListView1 里的第一列某行到剪贴板 CreateObject 产生进程的控制问题 把一个Date类型的变量转换为字符串,急!!!(在线等) 文件格式ANSI -> UNICODE 文本框中的内容变为日期型 请大家帮忙:关于类模块 散分!!!散心情!!!让烦恼随我的分而去!!! 关于VB DataGrid 问题 如何将DATAGRID控件和ACCESS数据库连接到一起,要通过数据集的方式 VB6.0中,如何删除特定记录,SQL中删除记录很方便,VB中如何实现呢? VBA新手运行时提示溢出怎么修改 VBA怎么实现图形对象的布尔运算?
各种编程环境中,思路都差不多。如果是在“用户操作”中弹出的消息框,这个消息应该都是处于“前台”的活动窗口,
可以用 GetForegroundWindow( ) 获取到消息框句柄,
然后以此句柄值查找到“确定”按钮的句柄,向它发送 WM_LBUTTONDBLCLK 就可以了。如果是“后台程序”运行之中,在某种情况下出现消息提示,那就要按窗口类名、窗口标题来找窗口了。要实现所谓的”实时监控“,一个是HOOK窗口创建相关的几个API(难度较大),
这样可以截获创建的窗口是不是“被监控”的消息框、它的句柄值是多少。
方法二,就容易实现了,就是用“定时器”事件,不停的“找”有没有被监控窗口(消息框)出现。
如果找到了(出现了),就再找它的“确定”按钮的句柄,发送WM_LBUTTONDBLCLK消息。
毕竟多数情况下,关闭“消息框”实时性要求并不高,只要定时器的时钟周期稍短点就行了。
如何“按窗口类名、窗口标题来找窗口”?可否详细说说,因为确实不懂,而目前仅仅需要这样的一个小程序,所以很难做到再次系统的学习VB.net…………请大神指点。
是用VS2010里自带的SPY++吗?
在你要“监控”的那个消息框出现时,看看它的类名、标题文字啊!
如果是“看起来很普通”的那种消息框,多半都是调用User32.dll中的 MessageBox实现的,
它的“类名”就是#32770, 标题文本就是标题栏上显示的文字了。
如果是“自绘的消息框”,就要用工具软件来看类名和标题文本了。
比如数字流氓的消息,它的类名是 Q360HIPSClass ,标题好像就是“看到”的标题(记不清楚了,我没安装数字流氓)。
再比如QQ,它“右下角弹窗”,消息框类名是TXGuiFoundation,你可能“看到的标题”是五花八门的有很多不同;
但事实上,它的那个“真正标题文本”只有两个:腾讯视频 和 大成新闻网
无论VB6,还是VB.NET ,使用API的“原则”都是一样的。
只是在“细节”上有一些差别而已:比如,如何声明或引用dll导出函数的“写法”上有所不同。你自己搜一下 FindWindow和FindWindowEx这两个API的介绍吧,网上到处都是……
我再在这儿重复也没有什么意义。
是用VS2010里自带的SPY++吗?
我说的Spy++就是那个,VC、VS都带着的,只要安装时选择了“工具”这个组件,它肯定就会被安装。
毕竟对“编程”来说,只要牵涉到“要处理其它程序的窗口”,基本就离不开它(或类似的替代工具)。