1. 程式人生 > >C#如何調用以管理員身份運行的cmd命令提示符

C#如何調用以管理員身份運行的cmd命令提示符

width 打開 dmi 網絡 技術分享 studio 命令提示符 通用 idt

windows自從vista、win7、win8/8.1以及win10以來,命令行提示符分為兩種模式,一種是普通用戶模式,一種的管理員模式,很多情況下,我們的程序需要在命令提示符(管理員身份)的狀況下運行,但是c#調用的時候一般都是普通用戶的cmd命令,雖然可以通過右鍵 - 以管理員身份運行該軟件,但是我們用c#開發的軟件,不能告訴每一個用戶讓他們都以管理員身份運行吧?今天亦是美網絡就給大家介紹一個簡單的方法,輕松實現c#調用以管理員身份運行的命令提示符。

筆者的環境:win8.1專業版 64位 + visualstudio Ultimate 2013,開發環境選擇的是.net framework4.0,(為了更好的兼容win7及以前的版本),同樣適用於VS2015。

在開始之前,筆者也在網上苦苦搜尋了一些辦法,但是使用較多的是是給cmd.exe指定運行目錄:c:\windows\system32\cmd.exe,其實網上已經有人說了這種辦法行不通,亦是美網絡也親自試驗過,這種方法確實行不通,起碼在筆者的環境下沒有成功,那麽我們采用下面的辦法。

其實要以管理員的身份運行cmd命令提示符,我們只需要讓c#開發的程序自身以管理員身份運行就可以了,我們打開visual studio - 解決方案資源管理器 -右鍵項目名稱 - 屬性 ,彈出下面的窗口:

技術分享圖片

點擊選擇左側的“安全性”,我們在“啟用ClickOnce安全設置”前面打勾,然後再返回解決方案資源管理器界面,這時,在項目名稱裏的“Properties”下面會多出一個“app.manifest”的文件,如下圖所示:

技術分享圖片

我們點擊選中它,看左側窗口中代碼,如下:

技術分享圖片

我們找到代碼段: <requestedExecutionLevel level="asInvoker" uiAccess="false" />,將其改為:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

改過後,不要急於重新編譯生成,我們重新返回上圖那個界面,將“啟用ClickOnce安全設置”前面的勾去掉後再編譯運行,不然程序會報錯無法運行。

技術分享圖片

按照上面的步驟設置以後,C#開發出來的程序就會自動以管理員身份的運行了,當然,它裏面的命令提示符cmd也自動以管理員身份運行了。

出處:http://www.yishimei.cn/network/296.html

C#如何調用以管理員身份運行的cmd命令提示符