C 以普通許可權啟動外部程式

2022-01-19 21:57:51 字數 793 閱讀 5281

第一種,使用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...