未以管理员身份登录时出现.NET硬件访问问题

时间:2011-02-01 13:53:08

标签: .net security hardware

我必须集成一个与.NET应用程序中的网络摄像头通信的本机库。所以我用PInvoke调用编写了一个包装器库并将其链接到主程序:

  

driver.dll(c ++)+ driver.wrapper.dll(.net 3.5)+ Application(.net 3.5)

问题是,这仅在以本地管理员身份登录时才有效(奇怪的是,当以管理员权限运行时它甚至不起作用)。我没有在这里得到任何特定的错误消息,驱动程序库只返回0而不是1。

当本机库直接链接到应用程序时,

  

driver.dll(c ++)+ Application(c ++)

它可以作为管理员和用户使用。操作系统是Windows 7。 这种行为可能是什么原因,我该如何解决这个问题呢?

编辑:问题是由使用过的库引起的。现在解决了。

2 个答案:

答案 0 :(得分: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>

这将始终以管理员身份运行您的应用程序。

答案 1 :(得分:1)

问题是由使用过的库造成的,不再相关。