我知道如何從使用以下命令的進程中啟動具有管理員權(quán)限的進程:proc.StartInfo.UseShellExecute = true;proc.StartInfo.Verb = "runas";其中proc是System.Diagnostics.Process。但是如何做到相反呢?如果您所在的進程已經(jīng)提升,那么如何在沒有管理員特權(quán)的情況下啟動新進程?更準確地說,我們需要以與Windows資源管理器相同的權(quán)限級別啟動新進程,因此,如果禁用了UAC,則無需進行任何更改,但是,如果啟用了UAC,但是我們的進程運行在提升狀態(tài),則需要執(zhí)行不提升的某些操作因為我們正在創(chuàng)建一個虛擬驅(qū)動器,并且如果它是使用提升的權(quán)限創(chuàng)建的,并且Windows資源管理器未提升運行,它將不會顯示。隨時將標題更改為更好的名稱,我無法提供一個很好的描述。
3 回答

慕容森
TA貢獻1853條經(jīng)驗 獲得超18個贊
我們最終使用了此代碼項目文章中的示例:高海拔可能對您的應(yīng)用程序不利:如何在安裝結(jié)束時啟動非高海拔過程
到目前為止,它似乎仍然有效,我將其注入到RunDll32.exe中,我的C ++ / Win32相當薄弱,因此我對實際實現(xiàn)并沒有太多關(guān)注,只是它的使用。確認它在x86和x64的Vista和Win7中都可以正常運行(至少對我們來說,x86和x64需要不同的dll,在安裝時會檢查該dll,并使用正確的dll)
- 3 回答
- 0 關(guān)注
- 609 瀏覽
添加回答
舉報
0/150
提交
取消