0
我有一個啓動遠程IE的代碼。我希望以「以管理員身份運行」選項啓動應用程序。
這個如何實現?C#以管理員身份運行遠程桌面應用程序
private static void StartSession(string hostName)
{
var filespec = Path.Combine(GetRootFolderSpec(), "session.rdp");
if (File.Exists(filespec)) File.Delete(filespec);
var settings = GetRdpSettings(hostName);
File.WriteAllText(filespec, settings);
File.SetAttributes(filespec, FileAttributes.Hidden);
Process.Start(filespec);
}
private static string GetRdpSettings(string hostName)
{
return @"redirectclipboard:i:1
redirectposdevices:i:0
redirectprinters:i:0
redirectcomports:i:1
redirectsmartcards:i:0
devicestoredirect:s:
drivestoredirect:s:
session bpp:i:32
prompt for credentials on client:i:1
span monitors:i:1
use multimon:i:1
remoteapplicationmode:i:1
server port:i:1111
allow font smoothing:i:1
screen mode id:i:1
smart sizing:i:1
promptcredentialonce:i:1
authentication level:i:2
gatewayusagemethod:i:2
gatewayprofileusagemethod:i:0
gatewaycredentialssource:i:0
full address:s:" + hostName + @"
alternate shell:s:||iexplore
remoteapplicationprogram:s:||iexplore
gatewayhostname:s:
remoteapplicationname:s:iexplore.exe
remoteapplicationcmdline:s:";
}
你必須要能夠補充一點可以運行,而不是IE等軟件的目標計算機的任何控制? (例如,使用你自己的''alternate shell''參數的程序,讓它啓動IE,然後等待它關閉。)。此外,如果這是除IE以外的其他應用程序,我認爲你會有更多的選擇。你總是在做IE嗎,或者你是否選擇了這個例子? –
謝謝斯科特。對於我正在處理的項目,使用IE是必需的。目標計算機可能因不同的客戶而異。所以硬編碼也將被省略。 – zeetit
暫時擱置一會兒。您是否想以管理員身份運行'mstsc.exe'(遠程桌面程序),還是想要以管理員身份在要連接的服務器上運行iexplore.exe? –