当前位置:编程学习 > VB >>

超级神豆的程序,共享了!

本人前一段时间学习Win32异常,找了C++的Win32异常处理资料,结果在网上偶然发现了超级神豆的这个程序。我也想在VB程序中处理异常,因为我的程序老是在Win98/2000下崩溃,在XP下一切正常,在Vista/Win7下有时会崩溃,还真说不准。于是会想到C++的Win32异常处理!

超级神豆的程序有以下功能:
1、处理Win32异常,防止程序崩溃;
2、获取VB错误处理程序地址,自定义错误处理程序;
3、运行汇编代码;
4、根据API函数名,调用API函数;
5、根据函数地址,调用函数。
欢迎各位下载:http://econet.zjgsu.edu.cn/cy%5Ffilesxxx/vbsrc/vbanycall.rar

该程序类模块CVBErrCatcher有个地方需要完善一下:'读取或写入指定地址lAddr的函数ReadWriteMemory中有一句是
If VirtualQueryEx(hProcess, ByVal lpAddress, mi, Len(mi)) Then 应改成:If VirtualQueryEx(hProcess, ByVal lpAddress, mi, Len(mi))=Len(mi) Then ,按照API定义VirtualQueryEx(hProcess, ByVal lpAddress, mi, Len(mi))与Len(mi)如果不相等,即调用失败。 --------------------编程问答-------------------- 这是超级神豆写的VB6源码程序! --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 我看下怎么用 --------------------编程问答--------------------
很好用 --------------------编程问答-------------------- 感谢分享 --------------------编程问答-------------------- anycall
学习了。 --------------------编程问答-------------------- 支持起来,嘿嘿. --------------------编程问答--------------------
引用 10 楼 myjian 的回复:
支持起来,嘿嘿.

--------------------编程问答-------------------- 好东西!一般人我不告诉他! --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 学习一下 --------------------编程问答-------------------- 好吧,我坦白:我收藏了…… --------------------编程问答-------------------- 等待神豆现身。 --------------------编程问答--------------------
引用 10 楼 myjian 的回复:
支持起来,嘿嘿.


+1 --------------------编程问答--------------------
引用 17 楼 caozhy 的回复:
等待神豆现身。


好长时间没看到他露面了 --------------------编程问答-------------------- --------------------编程问答-------------------- 看看是神马好东西 --------------------编程问答-------------------- 学习中API

谢谢了,大哥 --------------------编程问答-------------------- 谢谢,学习了 --------------------编程问答-------------------- 很不错 --------------------编程问答-------------------- 我做的标记没了,多说几个字,免得被删 --------------------编程问答-------------------- 楼上的各位同仁,不能光说好,有什么意见啊!
顺便说一句:因为其他原因引起的CPU占用率达到100%造成的死机或假死,或者打开文件造成的死机,这2种情况是程序设计的问题,不算异常! --------------------编程问答-------------------- 赶快收藏起,这么好的东东, --------------------编程问答-------------------- 我要学习下 --------------------编程问答-------------------- 学习一下 --------------------编程问答-------------------- God's bean? 呵呵,顶一下 --------------------编程问答-------------------- 豆豆是一个好淫啊,豆豆的东西更是好东西,俺不远万里过来崇拜一下。 --------------------编程问答-------------------- 是个什么。。。。。。。 --------------------编程问答--------------------
引用 31 楼 lyserver 的回复:
豆豆是一个好淫啊,豆豆的东西更是好东西,俺不远万里过来崇拜一下。


+1

也崇拜一下 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 26 楼 chenjl1031 的回复:
楼上的各位同仁,不能光说好,有什么意见啊!
顺便说一句:因为其他原因引起的CPU占用率达到100%造成的死机或假死,或者打开文件造成的死机,这2种情况是程序设计的问题,不算异常!



Dim gobjCollection As New Collection
Private Sub Command1_Click()
    MsgBox gobjCollection.Count
    If gobjCollection.Item("11") = nil Then '获取不存在的项时,这个怎么能写不算异常   
    MsgBox 11
    End If
End Sub

Private Sub Form_Load()
  gobjCollection.Add "1", "SYS"
End Sub

Private Sub Form_Initialize()
    '使用SEH,防止程序崩溃
    Call InitExceptionHandler
     '附加上我们自己的错误处理程序
    If g_oErrCather.InstallEH(AddressOf MyEH) Then
        ' "错误处理程序安装成功!"
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If g_oErrCather.IsInstalled Then
        '卸载错误处理程序
        g_oErrCather.UninstallEH
    End If
End Sub
--------------------编程问答-------------------- 大哥推荐的东西,一定得下载下来研究下 --------------------编程问答-------------------- 感谢共享,太好了,谢谢 --------------------编程问答-------------------- 留名 --------------------编程问答-------------------- 谢谢。下载学习。。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 看来超级神豆是更关注.net了的,呵呵 --------------------编程问答--------------------
引用 33 楼 li163 的回复:
引用 31 楼 lyserver 的回复:
豆豆是一个好淫啊,豆豆的东西更是好东西,俺不远万里过来崇拜一下。


+1

也崇拜一下


再顶一下 --------------------编程问答-------------------- 支持一下咯 . --------------------编程问答--------------------
引用楼主 chenjl1031 的回复:
该程序类模块CVBErrCatcher有个地方需要完善一下:'读取或写入指定地址lAddr的函数ReadWriteMemory中有一句是
If VirtualQueryEx(hProcess, ByVal lpAddress, mi, Len(mi)) Then 应改成:If VirtualQueryEx(hProcess, ByVal lpAddress, mi, Len(mi))=Len(mi) Then ,按照API定义VirtualQueryEx(hProcess, ByVal lpAddress, mi, Len(mi))与Len(mi)如果不相等,即调用失败。


Per MSDN Definition:

The return value is the actual number of bytes returned in the information buffer.
If the function fails, the return value is zero. To get extended error information, call GetLastError. Possible error values include ERROR_INVALID_PARAMETER.


If VirtualQueryEx(hProcess, ByVal lpAddress, mi, Len(mi)) Then

SuperBean没用错呀。
--------------------编程问答-------------------- 学习一下。。。。。。。 --------------------编程问答-------------------- 顶楼主。 --------------------编程问答-------------------- 学习,学习,谢谢楼主分享。 --------------------编程问答-------------------- 看到被顶上来了,干脆也再顶一下。 --------------------编程问答-------------------- 在帮顶 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 21 楼 dongfa_dg 的回复:
看看是神马好东西


+1 --------------------编程问答-------------------- 学习一下... --------------------编程问答-------------------- --------------------编程问答-------------------- 这是超级神豆写的VB6源码程序!这是超级神豆写的VB6源码程序! --------------------编程问答-------------------- 超级神豆是谁,
貌似我只知道好像VB-VBA的版主是supergreenbean --------------------编程问答-------------------- upup --------------------编程问答-------------------- 整个目录收藏之。

还没结贴啊。。。 --------------------编程问答-------------------- 不下真不行! --------------------编程问答-------------------- 学习学习
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,