2009-12-30 2 views
0

firts извините меня за мой английский it`s super Freak. Извините,Индикатор выполнения в VB 6.0 из процесса транскодирования в FFMPEG

У меня большая проблема, мне нужно закончить свое приложение в VB6.0 для теста в моей школе и не могу найти решение. Мое приложение открывает файл FFmpeg.EXE, который открывает окно cmd. и начать процесс trascoding, мне нужно связать последнюю строку, сгенерированную в окне подсказки CMD (или верхнем нижнем), в этой строке существует. Значит, какое изменение, в этом процессе trascoding получается бит Rate, который колеблется в зависимости от других var , Идея заключается в том, что в форме моего приложения я могу прочитать эту строку в режиме реального времени, чтобы высвободить индикатор выполнения (размер файла/средний бит) = время для обработки.

Помогите мне. Спасибо за ответ ....

+0

У вас есть исходный код, который вы можете поделиться? Это действительно поможет нам понять ваш вопрос. –

ответ

0

Отправьте вывод в текстовый файл, затем прочитайте этот текстовый файл. должен выглядеть примерно так:

ping >e:\test.txt 

Где пинг является FFmpge.EXE и е: \ test.txt выходной текстовый файл

1

Поместите ссылку на для Windows Scripting Host Object Model и попробовать этот фрагмент кода

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, пока не найдете какой-либо ключевой текст.

0

rdkleine

Я прочитал ваш ответ, и это большая работа очень хорошо, только то, что он показывает в лог значение смерти «текст», и мне нужно значение колеблющегося битрейтом преобразования, которая изменяется в реальном время в подсказке окна cmd. Я пытаюсь теперь с исходным кодом wqw, я работаю там.

Thak's для вашего ответа ..