0

私のVB.NETプロジェクトには、winusb.dll内からアンマネージコードを使用するいくつかの関数があります。ドライバーがまったくインストールされていない一部のマシン(winusb)でコードをテストしましたが、もちろんエラーが表示されます:「winusb.dllをロードできません...」

パフォーマンスが低下する(または低下しない)ため、インポートされたすべての関数を試行/キャッチしたくありません。代わりに、コンポーネントコンストラクターでwinusb.dllの存在を確認し、エラーイベントを発生させ、すべてを禁止することを考えています。次のプログラム開始まで機能します。そのdllがないと、すべての関数は無意味です。これは良いアプローチですか?

では、すべてのプラットフォーム(xp、wista、7、8)でそのdllの存在について信頼性を確認するにはどうすればよいですか?問題を最適に解決するには専門家の意見が必要であり、事前に感謝します。

4

1 に答える 1

0
    If System.IO.File.Exists("C:\Windows\System32\winusb.dll") Then
        ' go ahead
    Else
        ' abort
    End If

ただし、アプリケーションと一緒に winusb ライブラリをインストールすることをお勧めします。必要なすべてのライブラリをインストールしないインストーラは、まったく価値がありません。

于 2013-01-06T05:17:30.983 に答える