第一種,使用explorer.exe來啟動外部程式
process.start("explorer.exe", filename); //filename為外部應用的路徑
這種方式啟動外部程式雖然是普通許可權,但是不能給外部程式傳參,可能是我未找到方式,對於不需要傳參的啟動,這種方法最簡便。
第二種,使用runas.exe來啟動外部程式
public void run(string filename, string arguments = null)
\"";
}processstartinfo psi = new processstartinfo();
psi.createnowindow = true;
psi.useshellexecute = false;
psi.filename = "runas";
psi.workingdirectory = system.io.path.getdirectoryname(filename);
psi.arguments = $"/trustlevel:0x20000 ";
process.start(psi);
}
其中關鍵的是/trustlevel:0x20000。這種方式就可以傳參了。
/// /// 判斷程式是否以管理員許可權執行
///
///
public static bool isadministrator()
乙個簡單的以User許可權啟動外部應用程式
bool bret false wchar pusername null wchar ppassword null startupinfo si process information pi check user name size t nlen wcslen lpszusername 1 puse...
啟動外部程式
啟動外部程式我們可以使用函式winexec shellexecute和shellexecuteex。我推薦大家使用函式shellexecute,因為它既靈活,又簡單。看看下面的例子,用法就清楚了 啟動乙個程式 shellexecute handle,open lpcstr d 模擬程式.exe nu...
C 正確方式讓程式以管理員許可權啟動
應用程式可能執行在各個windows版 windowsxp,win7 32bit,win7 64bit,win8 32bit,win8 64bit.由於windows各個版本的使用者許可權的限制不同,同乙個開發環境編譯出來的應用程式,拿到各個系統中執行的效果是用差別的。其主要原因還是win7 win...