我有6-7天没有写东西了。这对时间在忙着做标题上写明的小抓图工具。写的我好辛苦,但还是开发出来了。我在此贴出来与大家共享,希望能对大家有所帮助。
我这个小工具完成以下功能:当你打开一个现存的工程项目,在VBIDE环境的插件管理中添加本插件,然后它就可以将当前工程中包含的全部Form的设计时图片全部抓下来,以BMP格式存到一个指定的文件夹。这样在做界面跳转分析(画面迁移)和源代码工程分析的时候非常有用。
开发环境:VB6.0 引用库:VBIDE
开发过程和代码:
1、建立ADDIN工程
2、编码实现功能:
核心代码如下 :
Private Sub SaveCurrentProject()
'进行必要的程序初始化
InitProgram
Dim win As VBIDE.Window
For Each win In VBInstance.Windows
'<<<<<<<<<<>>>>>>>>改变关掉所有的窗体考虑到性能问题
'If Not (win.Type = vbext_wt_Designer) Then
win.Close '不是设计和代码窗体的全部关闭 虽然关闭了窗体,但没有从Windows中Remove
'End If
Next
'先打开所有的窗体
Dim eComponent As VBIDE.VBComponent
For Each eComponent In VBInstance.ActiveVBProject.VBComponents
If eComponent.Type = vbext_ct_VBForm Then
eComponent.Activate
Call keybd_event(vbKeyReturn, 1, 0, 0) '虚拟键 这里的SCAN取了1,不行的话换0
End If
Next
Dim everyComponent As VBComponent
'遍历所有的Components对象,如果是VBForm就处理,打印图片保存
For Each everyComponent In VBInstance.ActiveVBProject.VBComponents
If everyComponent.Type = vbext_ct_VBForm Then
'打开当前处理的窗体
Dim designWin As VBIDE.Window
Set designWin = everyComponent.DesignerWindow
designWin.Visible = True
'可以加耶可以不加
designWin.SetFocus