windows-mobile - 将.net紧凑框架转换为activex

标签 windows-mobile compact-framework activex windows-mobile-6

我已经为针对 Windows Mobile 6.1 的手持式扫描仪创建了一个解决方案。现在我需要知道是否可以将此解决方案嵌入到 ActiveX 中以在 IE8(非移动设备)上运行。这是一个备份,以防手持设备不可用。显然扫描功能不起作用,但除此之外,是否可以转换它?我不想管理同一代码的多个副本。

最佳答案

不,你不能。 Compact Framework 不支持 EE Hosting,因此无法将 Compact Framework 的任何内容直接编译为 COM/ActiveX 对象。

您能否创建一个桌面 C# 项目,然后提取代码文件并将其编译为 ActiveX 控件?这取决于您想做多少工作。至少,您必须为所有公开的类定义 COM 接口(interface),并向类添加属性,如 Guid、InterfaceType 和 ComVisible,以及向每个属性添加 Didpid。您必须确保所有公开的类型都具有 COM 功能并且也具有接口(interface)。尝试保持该代码库仍然可编译,因为您现有的 CF 应用程序本身就是一个巨大的挑战。

当然,任何 P/Invoke 都会出现问题(这是一个非常罕见的不需要它们的 CF 应用程序)。您必须在另一个(或更多)接口(interface)中抽象它们。 UI 级别的任何窗口处理都可能需要更改。

当您完成所有这些工作时,您可能会花费更多的时间,而不仅仅是完全重写浏览器应用程序,而且它可能不会像重写那样工作。

关于windows-mobile - 将.net紧凑框架转换为activex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12410597/

相关文章:

c# - 如何在 c# .net CF 3.5 中使用 XmlDocument 向 xml 添加属性

c# - 在表单启动前显示图像 - Compact Framework

c# - Windows Mobile 6.1 - .NET CF StatusBar 控件 - 嵌入图标

winforms - 如何在表单关闭时终止 Windows Mobile 6.1 表单应用程序进程?

c# - 在 Windows 移动设备上托管 WebService/WCF?

c# - 单击不同按钮时保持对文本框的关注

c# - 使用 c# 运行带有 activex 对象的 dll

c# - 安装 CAB 文件无助于解决 "error message cannot be displayed ... optional resource assembly ... cannot be found"

asp.net - 在带有 Tomcat 的 Java Spring 中使用 ASP.NET 或 ActiveX 组件

javascript - 该嵌入 HTML 的对象不会在 IE 中呈现