2012-09-03 139 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

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

相关问题