1

我即将开始从事 Windows 的可访问性项目(针对 XP 到 7),并希望得到一些关于使用托管代码与非托管代码的优缺点的建议。基本上,该软件需要能够从打开的窗口、访问菜单和其他常见功能程序(如 JAWS 或其他屏幕阅读器)中读取文本。问题是,我可以用 C# 做到这一点,还是需要使用 C++?

在过去的两年中,我一直在开发大量 C# 代码,因此似乎最快的入门方法是使用 System.Windows.Automation 命名空间。另一方面,我已经有一段时间没有进行过多的 C++ 或 COM 编程了,在使用非托管代码之前必须花一些时间来刷新。

将 C# 代码用于辅助功能软件有哪些限制?它们是否严重到足以证明花大量时间来更新我的 C++ 和 COM 技能是合理的,因为我遇到了很多使用托管代码不可能(或更困难)的事情?自动化命名空间是否与旧应用程序兼容(不使用 .NET 或 WPF)?

4

1 回答 1

6

绝对托管代码

即使您遇到习惯使用 COM/非托管的情况,您也可以对这些模块使用 COM/非托管。

.NET 提供托管代码和非托管代码之间的无缝互操作。与 .NET 4.0 和 C# 4.0 互操作更好..

最重要的是确保您设计了一个松散耦合的系统,以便始终有空间以完全不同的技术插入另一个模块。

只是我的两分钱..

于 2010-07-05T19:11:06.483 回答