Windows 7 の WIA 2 はカメラを検出しませんが、Windows XP の WIA 1 はカメラを検出します。
プログラムを管理者として実行しようとしています。
私のカメラは:
Asus USB2 Webカメラ.
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;