C 程式以管理員許可權執行

2021-06-17 19:24:15 字數 1229 閱讀 1442

**:  cosmic_spy 

在vista 和 windows 7 及更新版本的作業系統,增加了 uac(使用者賬戶控制) 的安全機制,如果 uac 被開啟,使用者即使以管理員許可權登入,其應用程式預設情況下也無法對系統目錄、系統登錄檔等可能影響系統正常執行的設定進行寫操作。這個機制大大增強了系統的安全性,但對應用程式開發者來說,我們不能強迫使用者去關閉uac,但有時我們開發的應用程式又需要以 administrator 的方式執行,如何實現這樣的功能呢?

下面演示 c# 程式如何實現提示使用者以管理員許可權執行。

本例以winform程式演示,新建一專案生成後進行相應修改:

方法一:通過 system.diagnostics.process.start() 方式啟動:

實現方法: 修改預設生成的program檔案,修改後的**如下:

由於已經在**上做了注釋,所以不再詳細說明;

static class program

else

catch

//退出}}

}

效果:由於是通過system.diagnostics.process.start() 方式外部呼叫啟動,所以直接通過vs執行時,是不會提示vs也需要管理員許可權,只有程式本身需要管理員許可權,與生成應用程式的程式不同。這點是和方法二實現的主要不同之處。

方法二:通過新增應用程式清單檔案:

在 專案 上 新增新項 選擇「應用程式清單檔案」 然後單擊 新增 按鈕

asinvoker" uiaccess="false" />

修改為:

requireadministrator" uiaccess="false" />

重新生成專案,再次開啟程式時就會提示 需要以管理員許可權執行。

需要注意的是:如果在vs中 啟動除錯 的話,就會提示 此任務要求應用程式具有提公升的許可權。如下圖:

選擇 使用其他憑據重新啟動 即可。

方法三:直接修改程式檔案的屬性

右擊程式檔案,在彈出的屬性對話方塊中的 相容性 標籤頁中

勾選「以管理員身份執行此程式」即可。

C 程式以管理員許可權執行

在vista 和 windows 7 及更新版本的作業系統,增加了 uac 使用者賬戶控制 的安全機制,如果 uac 被開啟,使用者即使以管理員許可權登入,其應用程式預設情況下也無法對系統目錄 系統登錄檔等可能影響系統正常執行的設定進行寫操作。這個機制大大增強了系統的安全性,但對應用程式開發者來說,...

C 程式以管理員許可權執行

下面演示 c 程式如何實現提示使用者以管理員許可權執行。本例以winform程式演示,新建一專案生成後進行相應修改 方法一 通過 system.diagnostics.process.start 方式啟動 實現方法 修改預設生成的program檔案,修改後的 如下 由於已經在 上做了注釋,所以不再詳...

C 程式以管理員許可權執行

在vista 和 windows 7 及更新版本的作業系統,增加了 uac 使用者賬戶控制 的安全機制,如果 uac 被開啟,使用者即使以管理員許可權登入,其應用程式預設情況下也無法對系統目錄 系統登錄檔等可能影響系統正常執行的設定進行寫操作。這個機制大大增強了系統的安全性,但對應用程式開發者來說,...