如何在兼容模式下从代码中执行程序?(How to execute a program in comp

2019-06-27 18:23发布

环境:Windows Server 2008 R2的64位

我有一个程序,在Windows Server 2003 SP1 兼容模式下工作。 然而,当我尝试使用C#执行该程序,该程序出现了错误。

我想这是因为从其他程序调用时它不是在兼容模式下运行。 我使用Process.Start(pathToExe)从我的代码,以启动该程序。

我试着在兼容模式下运行调用程序,以检查是否这将使正常运行的程序。

请注意,我已经设定的程序设置为从属性的兼容性| 兼容性

Answer 1:

我不知道如果我正好理解你的问题,但如果你想在兼容模式始终运行程序,你可以设置注册表,使其工作等等。

注册表项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

添加一个新的字符串项,
名称 :在您的全部应用程序路径。
类型 :REG_SZ
数据 :必需COMPAT价值。 我认为这是WIN2003WIN2003SP1你的情况。

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

你可以检查你正在下运行当前的操作系统版本,您可以调用程序之前设置和取消此注册表值。



文章来源: How to execute a program in compatibility mode from code?