【发布时间】:2012-05-17 18:56:28
【问题描述】:
我开发了一个基于 Native 调用的基于窗口的应用程序。在这个应用程序中,我处理了大量的鼠标事件、键盘挂钩、绘画等。
我的问题是如何在 C# .Net 中使用该 win32 应用程序(非托管)?
我已经阅读了有关用于包装 win32 应用程序的托管包装器的信息,如果您认为这是最佳选择,那么请向我推荐任何可以帮助我前进的书籍或教程参考。否则,建议您认为在这种情况下最好的任何其他选项。
提前致谢。
【问题讨论】:
-
“在 .Net 中使用”是什么意思?
-
@GazTheDestroyer,就像自定义用户控件一样,我可以将原生窗口拖放到托管窗口上。
-
您可能必须将该用户控件包装为 ActiveX 才能将其插入到 .NET Windows 窗体中。或者(例如,如果您实现为 Window 类),您可以从 HWND(句柄属性)获取 Windows 并使用 PInvoke 从 .NET 应用程序使用 Windows API 创建子窗口。
-
@VASoftOnline,你有什么参考书或教程可以帮助这个项目吗?
-
如果您熟悉 Windows API 和/或 COM,您可以在此处阅读如何从 .NET 应用程序中使用它们:msdn.microsoft.com/en-us/library/ms172270.aspx
标签: c# visual-c++ com wrapper unmanaged