【问题标题】:Accessibility: Managed vs Unmanaged code可访问性:托管代码与非托管代码
【发布时间】:2010-07-05 19:02:23
【问题描述】:

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

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

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

【问题讨论】:

  • 能否让您的问题更简洁?这个问题有很多讨论..甚至删除它并分解成不同的问题?
  • 您可能会发现这些有用的leaking & consistent gui automation

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


【解决方案1】:

完全托管的代码

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

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

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

就我的两分钱..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 2010-09-18
    • 1970-01-01
    相关资源
    最近更新 更多