2008-09-18 76 views
6

我正在開發一個使用vb.net的應用程序。爲了執行某些任務,應用程序需要機器中的管理員權限。如何在程序執行期間要求特權?程序如何要求管理員權限?

切換用戶帳戶以執行應用程序的一般方法是什麼?換句話說,應用程序是否可以在任意用戶帳戶下運行?

回答

4

您可以編輯UAC設置(2008年VB),它位於項目設置。尋找這樣

<requestedExecutionLevel level="asInvoker" uiAccess="false" />

改革問題高級別= 「asInvoker」 到

  1. level="asInvoker"(相同的訪問令牌作爲父進程)行
  2. level="requireAdministrator(需要完全管理員)
  3. level="highestAvailable"(對當前用戶可用的最高特權)
3

因特網上有幾篇關於在Vista中開發提升進程的文章,但本質上提升請求涉及在應用程序清單文件(可能嵌入或並排)中使用提升狀態裝飾.NET程序集和WIN32可執行文件。

有一個關於你的問題一個很好的博客文章提供的代碼你可能需要:

.NET Wrapper for COM Elevation

+0

看起來像博客文章鏈接破碎! – 2017-05-09 05:56:20

3

我還沒有這樣做,但是我相信你去(在VS 2008)項目設置 - >應用程序選項卡,然後單擊「查看UAC設置」按鈕。這會打開你的app.manifest文件。有一個標籤,我認爲它包含你正在尋找的選項。該礦已註釋掉一些選項應該讓你開始:

0

IN VS 2015年:進入:項目 - >(項目名稱)屬性... - >應用程序 - >查看Windows設置和發現app.manifest(19行):改變asInvoker到:

  1. 「asInvoker」(相同的訪問令牌父進程)
  2. 「requireAdministrator(需要完全管理員)
  3. ‘highestAvailable’(最高可到當前用戶的權限)
相關問題