环境:的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
数据:必需的兼容值。我认为你的情况是WIN2003
或WIN2003SP1
。
Example:
C:\ Program Files文件\ SYSTEM32 \ Notepad.exe的REG_SZ WIN2003
您可以检查你正在下运行当前的操作系统版本,您可以调用程序之前设置和取消此注册表值。