WIA 2在Windows 7上没有检测到我的相机,而WIA 1在Windows上检测到它。
我试图以管理员的身份运行我的程序。
我的相机是:
华硕usb2摄像头。
Delphi返回消息:
(如下所示)没有任何指定类型的wia设备
或
非法进入地址.在舱里.
我使用以下代码:
procedure TForm1.Button9Click(Sender: TObject);
Const
wiaFormatBMP ='{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}';
var
CommonDlg: ICommonDialog;
AImage: IImageFile;
ImagePath: String;
DeviceManager1 :iDeviceManager;
begin
CommonDlg := createOleObject('WIA.CommonDialog') as ICommonDialog;
DeviceManager1 := createOleObject('WIA.DeviceManager') as iDeviceManager;
edit1.Text:= inttostr( DeviceManager1.DeviceInfos.Count);
AImage := CommonDlg.ShowAcquireImage(UnspecifiedDeviceType,UnspecifiedIntent,
MaximizeQuality,wiaFormatBMP,true,False,True);
ImagePath := 'C:\temp\test.bmp';
AImage.SaveFile(ImagePath);
end;发布于 2012-06-14 15:46:44
最近,我在WIA和Win7方面也有类似的经历。
我最终使用的是一个DirectX解决方案。
Delphi DirectX摄像头捕获
我不记得我最初是如何找到这个项目的,但是在Win7下,它只是工作,即使是我在办公室周围发现的旧的网络摄像头。
我建议您查看下载文件中的Demo3,因为这是我所需要的最好的、简单的示例。YMMV
(编辑)我的WIA问题扩展了一个事实,即摄像头制造商不支持Win7下的WIA或Twain。
https://stackoverflow.com/questions/10472647
复制相似问题