在vista 和 windows 7 及更新版本的作業系統,增加了 uac(使用者賬戶控制) 的安全機制,如果 uac 被開啟,使用者即使以管理員許可權登入,其應用程式預設情況下也無法對系統目錄、系統登錄檔等可能影響系統正常執行的設定進行寫操作。這個機制大大增強了系統的安全性,但對應用程式開發者來說,我們不能強迫使用者去關閉uac,但有時我們開發的應用程式又需要以 administrator 的方式執行,如何實現這樣的功能呢?
下面演示 c# 程式如何實現提示使用者以管理員許可權執行。
本例以winform程式演示,新建一專案生成後進行相應修改:
方法一:通過 system.diagnostics.process.start() 方式啟動:
實現方法: 修改預設生成的program檔案,修改後的**如下:
由於已經在**上做了注釋,所以不再詳細說明;
1效果:由於是通過system.diagnostics.process.start() 方式外部呼叫啟動,所以直接通過vs執行時,是不會提示vs也需要管理員許可權,只有程式本身需要管理員許可權,與生成應用程式的程式不同。這點是和方法二實現的主要不同之處。static
class
program222
else
2335
catch
3639
//退出
4041}42
}43 }
方法二:通過新增應用程式清單檔案:
在 專案 上 新增新項 選擇「應用程式清單檔案」 然後單擊 新增 按鈕
asinvoker" uiaccess="false" />
修改為:
requireadministrator" uiaccess="false" />
重新生成專案,再次開啟程式時就會提示 需要以管理員許可權執行。
需要注意的是:如果在vs中 啟動除錯 的話,就會提示 此任務要求應用程式具有提公升的許可權。如下圖:
選擇 使用其他憑據重新啟動 即可。
方法三:直接修改程式檔案的屬性
右擊程式檔案,在彈出的屬性對話方塊中的 相容性 標籤頁中
勾選「以管理員身份執行此程式」即可。
希望能幫到大家~~~
C 程式以管理員許可權執行
cosmic spy 在vista 和 windows 7 及更新版本的作業系統,增加了 uac 使用者賬戶控制 的安全機制,如果 uac 被開啟,使用者即使以管理員許可權登入,其應用程式預設情況下也無法對系統目錄 系統登錄檔等可能影響系統正常執行的設定進行寫操作。這個機制大大增強了系統的安全性,但...
C 程式以管理員許可權執行
下面演示 c 程式如何實現提示使用者以管理員許可權執行。本例以winform程式演示,新建一專案生成後進行相應修改 方法一 通過 system.diagnostics.process.start 方式啟動 實現方法 修改預設生成的program檔案,修改後的 如下 由於已經在 上做了注釋,所以不再詳...
C 程式以管理員許可權執行
在vista 和 windows 7 及更新版本的作業系統,增加了 uac 使用者賬戶控制 的安全機制,如果 uac 被開啟,使用者即使以管理員許可權登入,其應用程式預設情況下也無法對系統目錄 系統登錄檔等可能影響系統正常執行的設定進行寫操作。這個機制大大增強了系統的安全性,但對應用程式開發者來說,...