c# - 如何从代码以兼容模式执行程序?

标签 c# compatibility windows-server-2008-r2

环境: Windows Server 2008 R2 64 位

我有一个适用于 Windows Server 2003 SP1 兼容模式 的程序。但是,当我尝试使用 C# 执行此程序时,程序出错了。

我认为这是因为它在从另一个程序调用时未以兼容模式运行。我使用我的代码中的 Process.Start(pathToExe) 来启动这个程序。

我尝试以兼容模式运行调用程序以检查这是否会使程序正确运行。

请注意,我已从Properties | 将程序设置为兼容。兼容性

最佳答案

我不确定我是否完全理解你的问题,但如果你想始终在兼容模式下运行该程序,你可以设置注册表以使其工作。

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

添加一个新的字符串条目,
姓名:您的完整申请路径。
类型:REG_SZ
数据:必需的兼容值。我认为您的情况是 WIN2003WIN2003SP1

示例:
C:\Program Files\System32\Notepad.exe REG_SZ WIN2003

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

关于c# - 如何从代码以兼容模式执行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12249263/

相关文章:

c++ - 应用程序崩溃后套接字仍在监听

c# - XElement 'Add' 没有做对吗?

c# - C# 服务的安全配置

compatibility - 我可以使用 oracle berkeley db java edition 的 c 实现(python bsddb)创建的 bdb(berkeley db)文件吗?

.net - 启用 ODP.Net 性能计数器

asp.net - App_Offline.htm 没有关闭网站的可能原因是什么?

c# - Lync API : How to send instant message to contact by email address?

c# - 如何在私有(private)浏览器 session 中询问用户许可?

windows-7 - 获得“程序兼容性助手”对话框的原因?

java - GWT 2.4.0 可以与 Java EE5 一起运行吗?