可访问性:托管代码与非托管代码

时间:2010-07-05 19:02:24

标签: c# c++ windows assistive-technology

我即将开始研究适用于Windows的Accessibility项目(针对XP到7),并希望对专业人士提供一些使用托管代码与非托管代码的建议。基本上,软件需要能够从打开的窗口,访问菜单和其他常见功能程序(如JAWS或其他屏幕阅读器)中读取文本。问题是,我可以使用C#执行此操作还是需要使用C ++?

在过去的两年里,我一直在开发大量的C#代码,所以看起来最快的方法就是使用System.Windows.Automation命名空间。另一方面,我在很长一段时间内没有做太多的C ++或COM编程,在使用非托管代码之前需要花一些时间刷新。

在辅助功能软件中使用C#代码有哪些限制?它们是否足够严重以证明花费相当多的时间来刷新我的C ++和COM技能是因为我遇到了许多使用托管代码不可能(或者更难)的事情? Automation命名空间是否与旧应用程序(不使用.NET或WPF)兼容?

1 个答案:

答案 0 :(得分:6)

绝对托管代码

即使遇到使用COM /非托管的情况,也可以使用COM / unmanaged来处理这些模块。

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

最重要的是确保你设计一个松散耦合的系统,这样就可以用完全不同的技术插入另一个模块了。

只是我的两分钱..