命令行提示符分為兩種模式,一種是普通用戶模式,一種的管理員模式,很多情況下,我們的程序需要在命令提示符(管理員身份)的狀況下運行,但是c#調(diào)用的時候一般都是普通用戶的cmd命令,雖然可以通過右鍵 - 以管理員身份運行該軟件,但是我們用c#開發(fā)的軟件,不能告訴每一個用戶讓他們都以管理員身份運行吧?今天亦是美網(wǎng)絡(luò)就給大家介紹一個簡單的方法,輕松實現(xiàn)c#調(diào)用以管理員身份運行的命令提示符。
筆者的環(huán)境:win8.1專業(yè)版 64位 + visualstudio Ultimate 2013,開發(fā)環(huán)境選擇的是.net framework4.0,(為了更好的兼容win7及以前的版本),同樣適用于VS2015。
在開始之前,筆者也在網(wǎng)上苦苦搜尋了一些辦法,但是使用較多的是是給cmd.exe指定運行目錄:c:\windows\system32\cmd.exe,其實網(wǎng)上已經(jīng)有人說了這種辦法行不通,亦是美網(wǎng)絡(luò)也親自試驗過,這種方法確實行不通,起碼在筆者的環(huán)境下沒有成功,那么我們采用下面的辦法。
其實要以管理員的身份運行cmd命令提示符,我們只需要讓c#開發(fā)的程序自身以管理員身份運行就可以了,我們打開visual studio - 解決方案資源管理器 -右鍵項目名稱 - 屬性 ,彈出下面的窗口:
![C#如何調(diào)用以管理員身份運行的cmd命令提示符本站](http://img.Deepxp.cn/upload/computer_soft/soft_301114550_1.jpg)
點擊選擇左側(cè)的“安全性”,我們在“啟用ClickOnce安全設(shè)置”前面打勾,然后再返回解決方案資源管理器界面,這時,在項目名稱里的“Properties”下面會多出一個“app.manifest”的文件,如下圖所示:
![C#如何調(diào)用以管理員身份運行的cmd命令提示符本站](http://img.Deepxp.cn/upload/computer_soft/soft_301114550_2.jpg)
我們點擊選中它,看左側(cè)窗口中代碼,如下:
![C#如何調(diào)用以管理員身份運行的cmd命令提示符本站](http://img.Deepxp.cn/upload/computer_soft/soft_301114550_3.jpg)
我們找到代碼段: <requestedExecutionLevel level="asInvoker" uiAccess="false" />,將其改為:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,
改過后,不要急于重新編譯生成,我們重新返回上圖那個界面,將“啟用ClickOnce安全設(shè)置”前面的勾去掉后再編譯運行,不然程序會報錯無法運行。
![C#如何調(diào)用以管理員身份運行的cmd命令提示符本站](http://img.Deepxp.cn/upload/computer_soft/soft_301114550_4.jpg)
按照上面的步驟設(shè)置以后,C#開發(fā)出來的程序就會自動以管理員身份的運行了,當(dāng)然,它里面的命令提示符cmd也自動以管理員身份運行了。 |