Process.start System.nullreferenceexception:未将对象引用设置为对象的实例

时间:2011-11-16 19:57:23

标签: vb.net process.start

好的,我正在尝试使用以下参数启动该过程

当我尝试启动它时,我得到一个System.nullreferenceexception:对象引用没有设置为对象的实例

我做错了什么?

   Dim exepath As String = Application.StartupPath + "\bin\ffmpeg.exe"
    Dim sr As StreamReader
    Dim cmd As String = " -i """ + input + """ -ar 22050 -y """ + output + """"
    Dim ffmpegOutput As String
    proc.StartInfo.FileName = exepath
    proc.StartInfo.Arguments = cmd
    proc.StartInfo.UseShellExecute = False
    proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    proc.StartInfo.RedirectStandardError = True  'redirect ffmpegs output 
    'to our application
    proc.StartInfo.RedirectStandardOutput = True 'we don’t really need this
    proc.StartInfo.CreateNoWindow = True
    proc.Start() 

1 个答案:

答案 0 :(得分:0)

您的StreamReader未初始化:

 Dim sr As StreamReader

在代码中使用它之前验证您是否正在初始化它。

修改

由于您指定在proc.Start()上抛出异常,我建议您声明ProcessStartInfo,并将其与Process.Start()一起使用

例如:

Dim l As New ProcessStartInfo
l.FileName = exepath
' ...
Process.Start(l)