`
toyota2006
  • 浏览: 547180 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

VB递归遍历目录文件2

阅读更多
   Option Explicit
  Private Const SYNCHRONIZE = &H100000
  Private Const INFINITE = &HFFFFFFFF
  Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function GetExitcodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitcode As Long) As Long

Private Const STATUS_PENDING = &H103&
Private Const sVBPath = "C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe /m "
Private Const sVBFormFolder = "D:\vbsource\HABS\Form"
Dim sSourcePath As String


Private Sub RunShell(cmdline As String)
Dim hProcess As Long
Dim ProcessId As Long
Dim exitCode As Long
ProcessId = Shell(cmdline, 1)
hProcess = OpenProcess(SYNCHRONIZE, False, ProcessId)

  If hProcess <> 0 Then
  WaitForSingleObject hProcess, INFINITE

Call CloseHandle(hProcess)
End If
'MsgBox cmdline & "Closed"
End Sub
'//遍历目录得到vbp 工程文件并编译
Function SearchVbp(sPath)

Dim fso, f, f1, fc, s, ff, ff1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(sPath)
Set fc = f.Files
For Each f1 In fc
'msgbox  InStr(f1.Name, "ABS")
If (LCase(GetFileExtName(f1.Name)) = "vbp") And InStr(f1.Name, "ABS") = 1 Then
  ' If InStr(f1.Name, "ABS") = 1 Then
        MsgBox f1.Path
        MakeDll (f1.Path)
  ' End If
End If
Next
Set ff = f.subFolders
For Each ff1 In ff
SearchVbp (ff1.Path)
Next

End Function

'//得到扩展名
Function GetFileExtName(sFileName)
Dim ipos, ilen
ipos = InStr(sFileName, ".")
ilen = Len(sFileName)
GetFileExtName = Right(sFileName, ilen - ipos)
End Function




Private Sub Command1_Click()
    SearchVbp (sVBFormFolder)
End Sub

'// 编译
Function MakeDll(sVBP)
    RunShell sVBPath & sVBP
End Function
分享到:
评论

相关推荐

    vb.net遍历全盘文件

    1、遍历全盘采用递归过程,语句简洁,并有简要说明。 2、带计时功能 3、使用全局变量控制程序运行,按停止按钮后可以立即停止

    VB6.0通用选择路径并遍历文件夹及子文件夹.txt

    VB6.0通用遍历所选文件夹及其多重子文件夹操作,直接使用Command按钮过程可以操作,无需其他额外控件。新建一个窗体,添加一个Command1按钮,添加一个listbox控件,名称为list1,打开一个Excel空白文件(如不需要请...

    VCMFC编程方法笔记

    Visual C++ MFC编程方法笔记 窗口/描画 非模态对话框的生成方法 对话栏的实现方法 矩形区域定位 SetWindowExt与SetViewportExt SetWindowOrgとSetViewportOrg ...遍历文件目录 文件目录操作

    JAVA上百实例源码以及开源项目

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第...

    java源码包---java 源码 大量 实例

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第...

    java源码包2

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost...

    java源码包3

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost...

    java源码包4

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第...

    JAVA上百实例源码以及开源项目源代码

    递归遍历矩阵 1个目标文件,简单! 多人聊天室 3个目标文件 第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第...

Global site tag (gtag.js) - Google Analytics