2011-02-01 56 views
4

我必須在.NET應用程序中集成與網絡攝像頭通信的本機庫。所以我寫了的PInvoke調用的封裝庫,並將其鏈接到主程序:未以管理員身份登錄時出現.NET硬件訪問問題

driver.dll(C++)+ driver.wrapper.dll(.NET 3.5)+應用程序(.NET 3.5)

問題是,這隻有在以本地管理員身份登錄時纔有效(奇怪的是,它甚至在以管理員權限運行時甚至無法運行)。我沒有得到任何特定的錯誤消息在這裏,在驅動程序庫剛剛返回0而不是1

當本機庫直接鏈接到應用程序,但是

driver.dll(C++)+應用程序(C++)

它的工作原理以及管理員和用戶。操作系統是Windows 7. 這種行爲的原因是什麼?我該如何解決這個問題?

編輯:問題是由使用的庫引起的。現在解決。

+1

我不知道你想使用PInvoke的原因,但也許創建一個WIA COM包裝將會更容易(並且可以與任何攝像頭一起使用...而不是與您的驅動程序相關的那個)? – 2011-02-01 13:58:24

回答

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> 

這將始終運行你的應用程序作爲管理員。

相關問題