2009-03-24 8 views
3

私はVista SP1でVS2008 SP1を使用しています。私の.Net-programはWIA(Microsoft Windows Image Acquisition Library v2.0)へのCOMリファレンスを使用します。私は、CommonDialogClass.ShowAcquireImageを使用してドキュメントをスキャンしています。正常に動作しています。 お客様の一人がXPを使用しています。私がWIAを理解しているように、XPではWIALib(WIA 1.0)を使用する必要があります。 WIA1を使ってVistaで開発することは可能ですか?VistaでWIA 1を使用して開発するには?

答えて

1

Windows XPでVS2008で小さなWIALibプロジェクトをセットアップし、作成したInterop.WIALib.dllをVistaマシンにコピーしました。このファイルをC#プロジェクトで参照すると、コンパイルできます。今私はXP用とVista用の2つのプロジェクトを持っています。 GetVersionEx-callを使用して、私のC++プログラムで実行中のWindowsバージョンを判断し、適切なDLLのメソッドを呼び出します。

-1

一般的には可能です。ただし、VistaシステムにはWIA1 Dllが必要です。これまで私がこれまで行ってきたやり方は、WIA1 DllをXPからXPボックスにコピーすることです。私はWIA1のDLLを登録しませんが、参照するだけです。これを参照することで、コードでWIA1が使用されるようになりました。理論的には、WIA2はWIA1と下位互換性がなければならないため、Vistaで実行してテストすることはできます。あなたは確かにXPでテストする必要がありますが。

別のマシンをお持ちでない場合は、新しいXPをインストールしてDllを入手できるように、VMWareをお勧めします。

+0

ありがとう、私は明日これをテストします。幸い私はXPでマシンをインストールできます。正直、私はこれらは私が私のXPで見つかったDLLです – Lars

+0

...のWindows Server 2008上のHyper-Vの下でVMの私のVistaを実行します。 wiadefui.dll wiadss.dll wiascr.dll wiaservc.dll wiashext .dll wiavideo.dll wiavusd.dll "WIALib"のものはありません。助言がありますか? – Lars

+0

私は "dumpbin.exe/exports wiadefui.dll"を各DLLで使用して、どのDLLがDllGetClassObjectをエクスポートするかを確認します。これは、DLLがCOM DLLであることを示します。 –

3

MSでは、XP here用のWIA 2.0ライブラリをダウンロードできます。あなたの顧客はあなたのアプリをそのまま使用することができます。

また、1.0よりもWIA 2.0が好きです。

関連する問題