我有一个很大的问题,我需要在VB6.0中完成我的应用程序以便在我的High Schooll中进行测试而我找不到解决方案,我的应用程序打开一个FFmpeg.EXE文件打开一个cmd窗口提示并启动一个trascoding过程,我需要将生成的最后一行链接到CMD窗口的提示(或者顶部底部),在这一行中存在值的变化,在这个trascoding过程中结果是比特率,根据其他变量波动。 这个想法是我应用程序的形式,我可以实时读取这一行来建立进度条(文件大小/比特率平均值)=处理时间。
你能帮我吗?谢谢你的回答......答案 0 :(得分:1)
引用 Windows Scripting主机对象模型并尝试此代码段
Option Explicit
Private Sub Command1_Click()
Dim oExec As WshExec
Dim sRow As String
With New WshShell
Set oExec = .Exec("tasklist.exe")
End With
Do While oExec.Status = WshRunning
sRow = oExec.StdOut.ReadLine
If InStr(1, sRow, "vb6.exe", vbTextCompare) > 0 Then
MsgBox sRow, vbExclamation
End If
Loop
End Sub
基本上尝试执行FFmpeg.EXE和ReadLine,直到找到一些关键文本。
答案 1 :(得分:0)
将输出发送到文本文件然后读取此文本文件。 应该看起来像这样:
ping >e:\test.txt
其中ping是FFmpge.EXE,e:\ test.txt是输出文本文件
答案 2 :(得分:0)
rdkleine
我读了你的答案,这是非常好的工作,只是它在日志中显示死亡值“文本”,我需要波动转换的比特率的值,它在提示中实时变化cmd窗口。我正在尝试使用wqw的源代码,我正在那里工作。
Thak是你的回答..