Windows XP上WPD / WIA的替代方案?
WPD在Windows XP上无法正常工作(如果重要的话,SP1),即使微软声明它也是如此。
WPD问题:
IPortableDeviceManager.GetDevices
在Windows 7上找到所有连接的摄像头时,在Win XP上找不到任何设备。
其他一些人也有同样的问题,WPD没有在XP上工作,没有解决方案:
1
2
我决定使用WIA重新实现功能。
WIA自动化/ WIA接口出现问题:
WIA automation
在与相机交互时只提供愚蠢的对话 - 我需要在代码中执行此操作
建议使用针对WIA interfaces
进行编程以使用WIA实现较低级别的任务。我没有找到任何样本如何使用C#的WIA接口(也发现一些迹象表明这根本不可能或至少很难做到)
因此,我查看了WIA 2.0(wiaaut.dll包装器):
我第一次得到HRESULT 0x80210006(WIA_ERROR_BUSY),然后在Win XP上一直得到HRESULT E_FAIL,而在Windows 7上,相同的代码运行没有问题。
我在这里没有选择...你能推荐一种替代方案,为连接到适用于Windows XP的计算机的摄像机提供以下功能吗?
发送照片的通知
允许从相机下载最近拍摄的照片
没有找到相关结果
已邀请:
1 个回复
曝匿弄罚
例如,对于Nikon D90,可以创建以下INF文件:
要支持不同设备更改或添加其他项目,请在[Nikon]部分下为您的设备选择正确的PID和VID。您可以在详细信息选项卡上的设备管理器中通过从下拉列表中选择“Hadrware ID”来查找这些内容。如果您的相机来自不同的制造商,您可能还想更改所有对“Nikon”的引用。 在记事本中创建INF文件后,以适当的名称保存,例如NikonD90.INF。然后: 在Windows设备管理器中右键单击相机设备和“更新驱动程序”。 当Windows要求搜索Windows Update时,请选择“否,暂时不”。 选择“从列表或特定位置安装(高级)”。 选择“不搜索,我将选择要安装的驱动器”。 单击“从磁盘安装”。 单击“浏览器”并导航到保存上面创建的INF文件的文件夹。 选择INF文件,它应该安装MTP驱动程序。 现在,在设备管理器中,您应该看到相机设备已从“成像设备”移动,现在显示在“便携式设备”下。另外在驱动程序详细信息上,您应该看到以下文件,指示正在使用通用WPD MTP类驱动程序(而不是之前的PTP): C: WINDOWS SYSTEM32 wpdusb.dll C: WINDOWS SYSTEM32 wudfrd.dll 您现在应该能够使用IPortableDeviceManager.GetDevices成功枚举您的MTP设备,并使用所有其他API函数发送自定义MTP命令。有关详细信息,请参阅dimeby8的MSDN帖子。 上述解决方案允许您使用通过Windows 7通过Windows 7在32位或64位上运行的通用API构建应用程序,而无需更改代码。