我創建了一個需要使用CMD進程執行EXE文件的Windows服務。我已經使用了代碼:在Windows服務上運行CMD命令
Str = "C:\PCounter\Staff\account.exe CHARGE " & Name & " " & Amount & " TO" & Id
Dim procStartInfo As New System.Diagnostics.ProcessStartInfo(Str)
procStartInfo.RedirectStandardOutput = True
procStartInfo.UseShellExecute = False
procStartInfo.CreateNoWindow = True
Dim proc As New System.Diagnostics.Process
proc.StartInfo = procStartInfo
proc.Start()
proc.Dispose()
但是,上面的代碼將返回「系統找不到指定的文件」。
我已經嘗試過相同的代碼在寡婦窗體上工作正常,也爲了確保路徑正確我已經在EXE文件的相同位置添加了一個文本文件並加載了服務中的文本文件的內容,它工作正常。
我想不出其他什麼,我真的很感激,如果你能幫助我。 謝謝,
請告訴我扔的錯誤,'proc.Start ()',或者是來自account.exe的錯誤信息,表明它找不到文件? account.exe是否需要任何dll?我唯一的想法是,也許這個過程是從錯誤的工作文件夾開始的。 http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.workingdirectory.aspx – Kratz
我會指出,你不是在該代碼的任何地方調用CMD.EXE。 CMD是命令解釋器應用程序。也許你的意思是'控制檯'而不是? –