C 正確方式讓程式以管理員許可權啟動

2021-08-21 15:30:03 字數 2382 閱讀 1346

應用程式可能執行在各個windows版:windowsxp,win7-32bit,win7-64bit,win8-32bit,win8-64bit.由於windows各個版本的使用者許可權的限制不同,同乙個開發環境編譯出來的應用程式,拿到各個系統中執行的效果是用差別的。其主要原因還是win7、win8加強了對應用程式操作許可權的限制。

一、乙個明顯的例子:

圖1.1 win8 普通使用者下的cmd

圖1.2  win8管理員下的cmd

圖1.3 win7執行cmd介面

上面兩個圖中,win7 win8都是以administrator登入的。但是,win7上直接在[執行]->cmd,直接是以管理員許可權啟動;而win8直接在[執行]->cmd,進入的是普通許可權的cmd介面,必須右鍵[以管理員身份執行]才能出現圖1.2介面。

網上的神人對於這個問題是這樣回答的:

圖1.4

二、許可權限制在程式中使用命令行時中引發的問題

2.1、使用普通使用者命令列去開啟一些服務

圖2.1

2.2、程式中以普通使用者形式去開啟一些服務:

圖2.2

2.1 和2.2的操作都失敗了,原因就是應用程式的操作許可權級數不夠。

這些問題該如何處理?

processstartinfo startinfo = new processstartinfo(); 

startinfo.filename = "cmd.exe"; 

startinfo.arguments = "/c c:\\windows\\system32\\cmd.exe"; 

startinfo.redirectstandardinput = true; 

startinfo.redirectstandardoutput = true; 

startinfo.redirectstandarderror = true; 

startinfo.useshellexecute =false ; 

startinfo.verb = "runas"; 

process process = new process(); 

process.startinfo = startinfo; 

process.start(); 

process.standardinput.writeline("bcdedit"); 

process.standardinput.writeline("exit"); 

string strrst = process.standardoutput.readtoend(); 

process.waitforexit();

在program.cs如下操作(案例)

static void main(string args) 

else  }

2.3、使程式以管理員許可權啟動的實際案例**如下:

using system; 

using system.collections.generic; 

using system.linq; 

using system.windows.forms; 

using system.runtime.interopservices; 

using system.io; 

using system.text; 

using system.diagnostics; 

using system.threading; 

namespace databasecreate  } 

} else // 用管理員使用者執行  } 

} }

c#2010在windows8—64系統,寫的程式可以訪問電腦(其他軟體)的服務狀態,但不能開啟或關閉該服務

c#預設以管理員身份執行程式

讓C 程式自動以管理員方式執行

方法一 重新生成專案,再次開啟程式時就會提示需要以管理員許可權執行。方法二 最近在用c 做乙個簡單的小軟體時,發現軟體在xp 和windows 2003下面執行都很正常,在win7下面雙擊開啟,卻會出問題,導致軟體不能使用。把軟體開啟時 以管理員方式執行 軟體正常執行,看來啊,還是得預設就給軟體加上...

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

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

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

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