1

32 ビット C# アプリ (64 ビット OS 上) から実行可能ファイルを実行しようとしていますが、おそらく wsqmcons.exe が C:\Windows に存在しないため、「指定されたファイルが見つかりません」というメッセージが表示されます。 \SySWOW64. ファイルは System32 に存在します。可能であれば、コードから wsqmcons.exe を実行する最良の方法は何ですか?

Process p = new Process();
p.StartInfo.Arguments = "-f";
p.StartInfo.FileName = @"C:\Windows\System32\wsqmcons.exe";
p.Start();
p.WaitForExit();
Verify.AreEqual(0, p.ExitCode);
4

2 に答える 2

1

Wow64DisableWow64FsRedirection を使用して 32 ビット プロセスのファイル システム リダイレクトをオフにし、Wow64RevertWow64FsRedirection を使用して再度有効にする必要があります。

于 2011-09-30T21:39:16.517 に答える
1

ファイル システム リダイレクタがパスを%windir%\SysWOW64にリダイレクトするため、 %windir%\System32にある 64 ビットの実行可能ファイルを 32 ビット プロセスから起動することはできません。これを行うためにリダイレクトを無効にしないでください代わりに%windir%\Sysnativeを使用してください。詳細については、「ファイル システム リダイレクタ」を参照してください。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384203%28v=vs.85%29.aspxからの引用

于 2014-02-14T15:29:30.787 に答える