私はexeファイルを呼び出すWindowsサービスを持っています。何とかユーザープロンプトを偽装する必要があります。プロンプトの引数を使用してexeを呼び出します。
現在、私はこの行を持っている:
System.Diagnostics.Process.Start("C:\\Windows\\System32\\tpmvscmgr.exe",
"create /name tpmvsc /pin default /adminkey random /generate");
これは結構ですが、私はピンが「デフォルト」になりたくありません。私はそれが私がアプリで持っている変数にしたい。 しかし、exeはピン引数として "default"または "prompt"を受け入れることができます。 サービスから実際のプロンプトを開くことはできませんが、何とかプロンプト引数を使用してピンを送信できるのだろうかと思いますか?
アイデア?
ok回答を試してみましたが、完全に理解していません。 はこの試みた:
Process myProcess = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "C:\\Windows\\System32\\tpmvscmgr.exe";
startInfo.Arguments = "create /name tpmvsc /pin prompt /adminkey random /generate";
startInfo.RedirectStandardInput = true;
startInfo.UseShellExecute = false;
myProcess.StartInfo = startInfo;
myProcess.Start();
System.IO.StreamWriter myStreamWriter = myProcess.StandardInput;
while (true)
myStreamWriter.WriteLine("123456789");
をしかし、それは単にプロンプトを開きますが、それには何も書き込まれません。
なぜですか? Windowsサービスを無人で実行し、誰が[OK /キャンセル]をクリックする必要がありますか? –
私はOPを無人で実行しようとしていますが、値を指定する唯一の方法は、デフォルトまたはプロンプトの値を使用することです。私はOPが質問したいと思うと思います:*無人プロセスからのプロンプトにどのように価値を与えるのですか?*。 –
はいパトリック、そうだね。 – Johannes