怎样批量执行程序?

怎样批量执行程序?,第1张

这需要打开一个新cmd窗口才行,必须调用winAPI函数,你可以这样:

加上#include<windows.h>

ShellExecuteA(0,0,"c:\\a.exe"顷游贺,"-t 1",0,SW_SHOW)

ShellExecuteA(0,0,"c:\\a.exe","-t 2",0,SW_SHOW)

如果他说没有ShellExecuteA函数,就用ShellExecute

不过a.exe里面雀派请加上system("pause")或者getc之类的函数,不然打开的黑窗口会磨没一闪而过

用VB内置函数 Dir 可以列取指定目录中的文件,通过 right 函数可以筛选出该目录的 Exe 文件,在列举时把这些 Exe 文件路径放进一个数组中,然后用一个 Timer 控件实现每一秒(Interval 值设为1000 即 1 秒)调用一个 Exe 文件,这里可以先把 Timer 控件的 Enable 属性设为 False,调用函数用VB内置的 Shell 或用培启Win API ShellExecute 都可以。 大至代码如下:

Option Explicit

Dim Files() As String

Dim InvokePos As Integer

Private Sub Form_Load()

Dim hFile As String

Dim Dirname As String

Redim Files(0)

Timer1.Enable=false

Dirname="C:\Example\" '这里改成你要的路径

hFile = Dir(Dirname, vbNormal + vbDirectory)

Do While hFile <>"哗悄"

If hFile <>"." And hFile <>".." And hFile<>"pagefile.sys" Then

If (GetAttr(Dirname &hFile) And vbDirectory) <>vbDirectory And LCase(Right(hFile,4))=".exe" Then

Redim Preserve Files(Ubound(Files)+1)

Files(Ubound(Files)) = hFile

End If

End If

hFile = Dir

Loop

Timer1.Enable=true

End Sub

'这里是 Timer 控件的代码 也可以用 API 函数 setTimer 和 KillTimer 来实现

Private Sub Timer1_Timer()

if InvokePos>Ubound(Files) then InvokePos=0 '如果不循环调用,就把 InvokePos=0 改为 Timer1.Enable=False

InvokePos=InvokePos+1

Shell Files(InvokePos) '这里可以用 API 函数 ShellExecute 来代替

End Sub

'如果要知道一个程序是否运行结束,请看参考文档

http://www.chinavb.net/Article.Asp?id=1136

用 Scripting.FileSystemObject 组件中的 Files 和 Folder 对象也可以列举指定目录中的文件配芦如

上面代码我没有测试过,但思路就是这样的,因为我的计算机上没有装 VB ,所以没有测试,不过代码应该运行正常


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12240138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存