2

CMDプロセスでEXEファイルを実行する必要があるWindowsサービスを作成しました。私は次のコードを使用しました:

  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() 

ただし、上記のコードは

指定されたファイルが見つかりません

Windowsフォームで同じコードを試しましたが、正常に機能します。パスが正しいことを確認するために、EXEファイルと同じ場所にテキストファイルを追加し、サービスにテキストファイルのコンテンツをロードしました。正常に動作します。

私は他に何も考えられません。これについて私を助けていただければ幸いです。

4

2 に答える 2

3

ProcessStartInfoには2つのプロパティがあります。1つは実行可能ファイルを実行するためのもので、もう1つは引数を実行可能ファイルに渡すためのものです。Argumentsプロパティの構文は、コマンドラインとまったく同じです。

実行可能ファイルと同じプロパティに引数を含めることはできません。それらは分離する必要があります。

于 2012-12-19T19:22:05.120 に答える
0

サービスの作成:

sc create Vm-Symantec04 binPath= "\"C:\App32\VMware\VMware Workstation\vmrun.exe\" -T ws start \"D:\VM\Sym04\Sym04.vmx\" nogui" depend= "VMAuthdService/VMnetDHCP/VMUSBArbService/VMware NAT Service"  start= auto

サービスの削除:

sc delete Vm-Symantec04
于 2012-12-30T20:00:41.480 に答える