环境:Windows Server 2008 R2的64位
我有一个程序,在Windows Server 2003 SP1 兼容模式下工作。 然而,当我尝试使用C#执行该程序,该程序出现了错误。
我想这是因为从其他程序调用时它不是在兼容模式下运行。 我使用Process.Start(pathToExe)
从我的代码,以启动该程序。
我试着在兼容模式下运行调用程序,以检查是否这将使正常运行的程序。
请注意,我已经设定的程序设置为从属性的兼容性| 兼容性 。
环境:Windows Server 2008 R2的64位
我有一个程序,在Windows Server 2003 SP1 兼容模式下工作。 然而,当我尝试使用C#执行该程序,该程序出现了错误。
我想这是因为从其他程序调用时它不是在兼容模式下运行。 我使用Process.Start(pathToExe)
从我的代码,以启动该程序。
我试着在兼容模式下运行调用程序,以检查是否这将使正常运行的程序。
请注意,我已经设定的程序设置为从属性的兼容性| 兼容性 。
我不知道如果我正好理解你的问题,但如果你想在兼容模式始终运行程序,你可以设置注册表,使其工作等等。
注册表项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
添加一个新的字符串项,
名称 :在您的全部应用程序路径。
类型 :REG_SZ
数据 :必需COMPAT价值。 我认为这是WIN2003
或WIN2003SP1
你的情况。
Example:
C:\ Program Files文件\ SYSTEM32 \ Notepad.exe的REG_SZ WIN2003
你可以检查你正在下运行当前的操作系统版本,您可以调用程序之前设置和取消此注册表值。