windows-mobile - PocketPC 相机控制问题

标签 windows-mobile pocketpc

在保持与用 C# 编写的 PocketPC 2003 的代码兼容性的同时支持 WindowsMo​​bile5(及更高版本)设备的最佳方法是什么?我们有一个相当大的应用程序正在被一群不同的客户使用,大致平均分配给拥有实际 PPC2003 设备的人,以及其他较新的 WinMobile5 或更新版本——也就是说,我们必须继续支持旧设备一段时间然而。现在,我需要向应用程序添加摄像头控制,至少对于那些有摄像头的设备,这样他们就可以拍下照片并将其附加到最终发送到网络服务进行处理的其他数据。

到目前为止,我的研究发现了 Microsoft.WindowsMo​​bile.Forms dll 中的 CameraCaptureDialog 类,但我无法将该引用添加到 PocketPC 2003 应用程序。老板不太热衷于将应用程序分成单独的 PPC2003 和 WinMobile 项目。有没有办法动态加载该 dll,并以这种方式使用 CameraCaptureDialog?还有其他选择吗?

最佳答案

从 .NetCF PocketPC 2003 应用程序访问相机的唯一方法是通过 P/调用 C/C++ DLL。有一个示例应用程序在 Intertubes 某处 float (我会寻找它 - 我不记得细节,但我认为 C 代码通过 DirectShow 访问相机),但它使用起来相当复杂,可能不会“不完全按照您的需要做。从好的方面来说,如果您能弄清楚如何去做,它将适用于 PocketPC 2003 和 Windows Mobile 5(即功能性 PPC2003 应用程序也将在 WinMo5 设备上运行)。

CameraCaptureDialog 几乎没用,所以你不会在那里失去太多。理想情况下,作为程序员,您希望可以通过编程方式控制相机界面(即设置分辨率、从相机切换到视频、拍摄照片等),但除了打开设备的内置界面。

更新:这是我提到的示例应用程序:

http://blogs.msdn.com/b/marcpe/archive/2006/03/03/542941.aspx

我记错了:此示例在 PocketPC 2003 中不起作用(仅在 Windows Mobile 5 及更高版本中)。据我所知,在 PocketPC 2003 中无法访问设备摄像头。至少没有与设备和/或制造商无关的访问摄像头的方式。对于某些设备(例如 HP iPaq),制造商通过设备上已有的 DLL 公开相机功能(您可以通过 P/Invoke 访问)。

如果您需要相机集成,设备必须运行 Windows Mobile 5(或更新版本)。有些设备可以升级到更新版本的操作系统,但我肯定不得不质疑这一举动。最好转向更现代的设备(例如 Droid)。

关于windows-mobile - PocketPC 相机控制问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3233592/

相关文章:

multithreading - Pocket PC 2003 C# 性能问题...我应该对其进行线程处理吗?

c# - Windows Mobile 'OK' 按钮

iphone - 当始终插入时,您如何管理开发设备的电池健康状况?

mobile - 是否有用于 CF Type II 到 MicroSD 的适配器?

vb.net - 我的VB申请表怎么会自动关闭?

c# - 如何访问 Windows Mobile 设备中的 SMS 消息

assembly - 无法使用armasm编译arm汇编文件

c++ - 如何在项目中只包含 BOOST 智能指针代码?

c++ - 在汇编代码中寻找不必要的缓冲区拷贝

由于图形处理单元配置(Mac 上的 Windows 7),不支持 Windows Phone 模拟器