2011-02-01 14 views
4

.NETアプリケーションのWebカメラと通信するネイティブライブラリを統合する必要がありました。だから私はのPInvoke呼び出しでラッパーライブラリを書いて、メインプログラムにそれをリンク:管理者としてログインしていないと.NETハードウェアアクセスの問題

driver.dll(C++)+(.NET 3.5)driver.wrapper.dll(.NET 3.5)+アプリケーション

ローカル管理者としてログインしている場合にのみ問題があります(不思議なことに、管理者権限で実行しても機能しない場合もあります)。私は+、ドライバライブラリがちょうどしかし、0の代わりにネイティブライブラリを直接アプリケーションにリンクされている

1の

driver.dll(C++)を返します。ここでは任意の特定のエラーメッセージを得ることはありませんアプリケーション(C++)

これは管理者としてもユーザーとしても機能します。オペレーティングシステムはWindows 7です。 このような動作の理由は何か、この問題をどのように解決できますか?

編集:問題は、使用されたライブラリによって引き起こされました。今解決されました。

+1

PInvokeを使用する理由はわかりませんが、おそらくWIA COMラッパーを作成する方が簡単になります(あなたのドライバーに関係するものではなく、どのウェブカメラでも使用できます)。 –

+0

合意し、WIAを使用してください。それは私のために働きます。私はこのコードをさまざまなウェブカメラで成功させました:http://www.codeproject.com/KB/cs/WebCamService.aspx –

+0

ありがとうございましたが、アプリケーション開発はすでに終わっていますし、私はできませんこの時点で使用されている技術を変更してください。 – xsl

答えて

1

この問題は、使用したライブラリが原因であり、もはや関係しません。

3

一つの解決策は、常に管理者としてアプリケーションを実行しますapp.manifest

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 

     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
     </requestedPrivileges> 
</security> 
    </trustInfo> 

これを編集することができます。

関連する問題