2012-09-03 46 views
2

環境:的Windows Server 2008 R2 64位如何從代碼執行兼容模式下的程序?

我有一個程序,用的Windows Server 2003 SP1兼容模式工作。但是,當我嘗試使用C#執行此程序時,程序出錯。

我認爲這是因爲它從另一個程序調用時沒有以兼容模式運行。我從我的代碼中使用Process.Start(pathToExe)來啓動這個程序。

我試圖在兼容模式下運行調用程序來檢查這是否會使程序正常運行。

請注意,我已經設定的程序從屬性設置爲兼容性|兼容性

回答

0

我不知道如果我正好理解你的問題,但如果你想在兼容模式始終運行程序,你可以設置註冊表,使其工作等等。

註冊表項:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

添加一個新的字符串項,
名稱:在充斥着你應用程序路徑。
類型:REG_SZ
數據:必需的兼容值。我認爲你的情況是WIN2003WIN2003SP1

Example:
C:\ Program Files文件\ SYSTEM32 \ Notepad.exe的REG_SZ WIN2003

您可以檢查你正在下運行當前的操作系統版本,您可以調用程序之前設置和取消此註冊表值。