我即将开始为Windows开发一个辅助功能项目(目标是XP到7),我想要一些关于使用托管代码和非托管代码的优缺点的建议。基本上,该软件将需要能够从打开的窗口中读取文本,访问菜单,以及其他常见功能程序,如JAWS或其他屏幕阅读器将能够做到。问题是,我能用C#做这件事吗?还是我需要用C++?
在过去的两年中,我一直在开发大量的C#代码,所以开始使用System.Windows.Automation名称空间似乎是最快的入门方式。另一方面,我已经很长一段时间没有做太多的C++或COM编程了,在使用非托管代码之前,我必须花一些时间来刷新。
在辅助功能软件中使用C#代码的限制是什么?它们是否足够严重,足以证明投入相当多的时间来更新我的C++和COM技能是合理的,因为我会遇到许多使用托管代码不可能(或更困难)的事情?自动化命名空间是否与较旧的应用程序兼容(不使用.NET或WPF)?
发布于 2010-07-06 03:11:06
绝对托管的代码
即使您遇到适合使用COM/unmanaged的情况,也可以对这些模块使用COM/unmanaged。
.NET提供了托管代码和非托管代码之间的无缝互操作。在.NET 4.0和C# 4.0中,互操作甚至更好。
最重要的是,要确保你设计了一个松散耦合的系统,这样就可以用完全不同的技术插入另一个模块。
这只是我的两个观点..
https://stackoverflow.com/questions/3181646
复制相似问题