4

環境: Windows Server 2008 R2 64 ビット

Windows Server 2003 SP1 互換モードで動作するプログラムがあります。しかし、C# を使用してこのプログラムを実行しようとすると、プログラムでエラーが発生します。

別のプログラムから起動したときに互換モードで実行されていないためだと思います。コードから使用Process.Start(pathToExe)して、このプログラムを開始します。

呼び出しプログラムを互換モードで実行して、プログラムが正しく実行されるかどうかを確認しようとしました。

プロパティから互換性に設定されたプログラムを設定したことに注意してください。互換性

4

1 に答える 1

2

問題を正確に理解しているかどうかはわかりませんが、プログラムを常に互換モードで実行したい場合は、レジストリを設定して動作させることができます。

レジストリ キー:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers


Name : Your Application Path in Fullを使用して、新しい文字列エントリを追加します。
タイプ: REG_SZ
データ: 必要な Compat 値。WIN2003あなたの場合はORだと思いWIN2003SP1ます。

Example:
C:\Program Files\System32\Notepad.exe REG_SZ WIN2003

実行している現在の OS バージョンを確認し、プログラムを呼び出す前にこのレジストリ値を設定および設定解除できます。

于 2012-09-06T07:10:31.813 に答える