VB6 拦截msgbox

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

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

想请教您,

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

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

非常感谢您的指导。
...全文
210 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2011-12-04
  • 打赏
  • 举报
回复
gooore 2011-11-29
  • 打赏
  • 举报
回复
多谢回复。
主要是现在并不能单从数据就可以看出数据不合法,数据的合法性有一套完整的规则,与工程设计准则相关。

我基本上明白该怎么做了。
多谢。
booksoon 2011-11-28
  • 打赏
  • 举报
回复
保证提交的数据的合法性才是正道~~~~
孤独剑_LPZ 2011-11-28
  • 打赏
  • 举报
回复
应当从源头开始,做段代码检测数据的规范性,哪条数据的哪个内容不合法就报出来,否则不让提交
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 spt_petrolor 的回复:]
2000个记录,要是出错肯定是你不在人家程序的规则里面.
那样就是拦截了msgbox也作用不大.主要是要得到它的规则.
2000个记录,一条一条的提交是否可以?

hook也是要得到规则吧..
[/Quote]
一条一条提交,哪条蹦出msgbox,就说明这条记录有问题吧?
Tiger_Zhao 2011-11-28
  • 打赏
  • 举报
回复
这算什么狗屁的二次开发!
既然有可调用的公共接口就应该提供反馈的渠道。
无·法 2011-11-28
  • 打赏
  • 举报
回复
出现错误了应该从源头解决,否则只是治标不治本,最终错误百出。
至于关闭消息光的,可以另外做个单独exe程序监视关闭,或者在本程序中添加一个timer监视器,通过api函数findwindow查找特定关键字的窗口,然后用sendmessage关闭。
PctGL 2011-11-27
  • 打赏
  • 举报
回复
ws之马。。。 ctrl+c都想得到。。。太ws了
嗷嗷叫的老马 2011-11-27
  • 打赏
  • 举报
回复
MSGBOX的窗口可以通过findwindow来找到.

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

关闭这个窗口可以通过模拟回车键或ESC键.
王二.麻子 2011-11-27
  • 打赏
  • 举报
回复
2000个记录,要是出错肯定是你不在人家程序的规则里面.
那样就是拦截了msgbox也作用不大.主要是要得到它的规则.
2000个记录,一条一条的提交是否可以?

hook也是要得到规则吧..
ningweidong 2011-11-26
  • 打赏
  • 举报
回复
你没有源码,没法修改
你不如试试findwindow给它发消息,我想应该可行
yangao 2011-11-26
  • 打赏
  • 举报
回复
可以通过sendMessage控制弹出的messageBox
但是想知道那条数据出错就不好说了
东方之珠 2011-11-26
  • 打赏
  • 举报
回复
用HOOK的方法。或者不用也行,参考一下我博克里面的倒计对话框的实现。
dafu2003 2011-11-26
  • 打赏
  • 举报
回复
通过findwindow找到该窗口句柄,然后kill它。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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