Noob's Space

[.NET]你的程式需要系統管理員權限嗎?讓.Net來幫你作預設

當你使用Visual Studio開發程式時,不論是VB、C#..等等,可能會遇到需要存取系統資料夾或是高層API的狀況,這種時候就需要使用到系統管理員權限。 如果系統是Vista/7的話,執行到權限不足可能會變成一種問題,所以我們可以在程式執行時加入檢查的語法,以下以VB.Net為例

Imports Microsoft.VisualBasic.ApplicationServices.BuiltInRole
Imports Microsoft.VisualBasic.ApplicationServices
Public Class Form1
	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		Dim User = New User
		If Not User.IsInRole(Administrator) Then
		MsgBox("請以系統管理員身分執行此程式")
		End
	End Sub
End Class

不過,竟然是要使用者自己以系統管理員身分執行,不覺得有點不人性化嗎?以下再介紹另外一種方法,一樣以VB2010為例。 1.首先打開專案的屬性 2.按下”檢視Windows設定” 3.找到

<requestedExcutionLevel level="asInvoker" uiAccess="false">

並把它改成

<requestedExcutionLevel level="requireAdministrator" uiAccess="false">

4.這樣執行程式時,他就會自動以系統管理員身分的方式執行啦~

你可能會有興趣......?

  • 晉緯 江

    我是用CLR Form開發的
    沒有這個界面
    也沒有新增manifest的選項
    那我要怎麼弄呢

廣告