1

C# のメソッドから slui.exe を実行すると問題が発生します。私はコードを使用しています:

ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\Windows\System32\slui.exe"); Process p = new Process(); p.StartInfo = startInfo; p.Start(); p.WaitForExit();

しかし、私は Win32Exception を取得し続けます:「システムは指定されたファイルを見つけることができません」。

ProcessStartInfo を (@"C:\Windows\System32\cmd.exe") に変更すると、正常に起動します。

このコンテキストで slui.exe を実行すると何か問題がありますか?

ファイルが指定されたディレクトリにあることは確かなので、ここで何が問題になっているのかわかりません。

ac# メソッドから slui.exe を呼び出す方法はありますか?

4

1 に答える 1

2

Slui.exe は、Windows x64 で 64 ビット プログラムとしてのみ使用できます。ハードコーディングされたパス c:\windows\system32 は、32 ビット プロセスとして実行すると、c:\windows\syswow64 にリダイレクトされます。したがって、ファイルが見つかりません。

Project + Properties、Compile タブで、Platform target 設定を「AnyCPU」に変更します。リリース構成について繰り返します。また、Environment.GetFolderPath() を使用して、Windows が c:\windows にインストールされていない場合でも機能するようにします。

于 2012-05-15T23:07:33.943 に答える