首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB6 拦截msgbox,该如何解决

2012-01-19 
VB6 拦截msgbox您好,我正在做一个产品的二次开发,需要将2000条记录导入到程序中去,实现很简单,只需要把数

VB6 拦截msgbox
您好,我正在做一个产品的二次开发,需要将2000条记录导入到程序中去,实现很简单,只需要把数据提交给程序公开的接口即可,其他的事情如将数据存入数据库都由程序自己完成。

但是现在由于2000多条记录不算多也不少了,有些问题数据总会造成弹出一个对话框的情况,而且我也没有办法具体去判断哪条记录出了问题,我只是把数据提交给了程序,程序怎么处理我没有办法插手。

想请教您,

我希望拦截弹出来的msgbox,或者捕获它也行,然后告诉我的二次开发代码,出现问题的是哪条记录,备查。

我思考了通过系统消息来做,但是只做过拦截特定的消息,还不知道该怎么处理类似的问题,

非常感谢您的指导。

[解决办法]
你没有源码,没法修改
你不如试试findwindow给它发消息,我想应该可行
[解决办法]
通过findwindow找到该窗口句柄,然后kill它。
[解决办法]
用HOOK的方法。或者不用也行,参考一下我博克里面的倒计对话框的实现。
[解决办法]
可以通过sendMessage控制弹出的messageBox
但是想知道那条数据出错就不好说了
[解决办法]
2000个记录,要是出错肯定是你不在人家程序的规则里面.
那样就是拦截了msgbox也作用不大.主要是要得到它的规则.
2000个记录,一条一条的提交是否可以?

hook也是要得到规则吧..
[解决办法]
MSGBOX的窗口可以通过findwindow来找到.

而其中的内容可以通过模拟Ctrl+C来复制,然后再在程序里取剪贴板字符串来得到.

关闭这个窗口可以通过模拟回车键或ESC键.
[解决办法]
ws之马。。。 ctrl+c都想得到。。。太ws了
[解决办法]
这算什么狗屁的二次开发!
既然有可调用的公共接口就应该提供反馈的渠道。
[解决办法]

探讨
2000个记录,要是出错肯定是你不在人家程序的规则里面.
那样就是拦截了msgbox也作用不大.主要是要得到它的规则.
2000个记录,一条一条的提交是否可以?

hook也是要得到规则吧..

[解决办法]
应当从源头开始,做段代码检测数据的规范性,哪条数据的哪个内容不合法就报出来,否则不让提交

[解决办法]
保证提交的数据的合法性才是正道~~~~
[解决办法]
出现错误了应该从源头解决,否则只是治标不治本,最终错误百出。
至于关闭消息光的,可以另外做个单独exe程序监视关闭,或者在本程序中添加一个timer监视器,通过api函数findwindow查找特定关键字的窗口,然后用sendmessage关闭。

热点排行