Heim > Artikel > Betrieb und Instandhaltung > Teilen Sie ein Beispiel-Tutorial zur Verwendung von C# zur Implementierung einer Windows-Remotedesktopverbindung
In diesem Artikel wird hauptsächlich c# zur Implementierung des Programmcodes für die Windows-Remotedesktopverbindung vorgestellt. Der Herausgeber hält ihn für recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Editor und werfen wir einen Blick auf
Verwenden Sie Winform, um ein Windows-Remotedesktopverbindungsprogramm zu erstellen. Wir müssen die Remotedesktopverbindung integrieren.
in unser eigenes Winform-Programm und realisiert die Konfigurationsverwaltung des Remote-Hosts.
Remotedesktop-Kernklassenbibliothek
Windows-System wird mit Remotedesktop-ActiveX-DLL geliefert, Verzeichnis:
c:WindowsSystem32mstscax.dll
Diese Art von Bibliothek kann nicht direkt mit c# aufgerufen werden. Wir stellen ein Tool AxImp.exe vor
AxImp.exe
msdn.microsoft.com/zh-cn/library/ 8ccdh774( VS.80).<a href="http://www.php.cn/wiki/1519.html" target="_blank">asp<code>msdn.microsoft.com/zh-cn/library/8ccdh774(VS.80).<a href="http://www.php.cn/wiki/1519.html" target="_blank">asp</a>x
x
Der ActiveX-Control-Importer konvertiert die Typdefinitionen in der COM-Typbibliothek des ActiveX-Steuerelements in Windows Forms-Steuerelemente.
Konvertierung steuern
Geben Sie den folgenden Befehl in cmd ein
"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\AxImp.exe" "c:\Windows\System32\mstscax.dll"
, um AxMSTSCLib.dll, MSTSCLib.dll zu generieren
Remotedesktopverbindungs-Kerncode
//远程连接核心方法 private AxMSTSCLib.AxMsRdpClient7 rdpc = null; protected void OnCreateControl() { rdpc = new AxMSTSCLib.AxMsRdpClient7(); rdpc.OnDisconnected += new AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEventHandler(rdpc_OnDisconnected); this.Controls.Add(rdpc); rdpc.Dock = DockStyle.Fill; rdpc.BringToFront(); } void rdpc_OnDisconnected(object sender, AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEvent e) { //处理断开连接 } public void Disconnect() { try { if (rdpc.Connected == 1) { rdpc.Disconnect(); } } catch (Exception) { } } private void SetRdpClientProperties(Machine parMachine) { rdpc.Server = parMachine.MachineName; rdpc.AdvancedSettings2.RDPPort = parMachine.Port; rdpc.UserName = parMachine.UserName; rdpc.Domain = parMachine.DomainName; if (parMachine.Password != "") { rdpc.AdvancedSettings5.ClearTextPassword = parMachine.Password; } rdpc.AdvancedSettings5.RedirectDrives = parMachine.ShareDiskDrives; rdpc.AdvancedSettings5.RedirectPrinters = parMachine.SharePrinters; rdpc.ColorDepth = (int)parMachine.ColorDepth; } public void Connect(Machine parMachine) { SetRdpClientProperties(parMachine); rdpc.Connect(); } //远程主机配置 [Serializable()] public class Machine { private string _RemoteDesktopConnectionName; public string RemoteDesktopConnectionName { get { return _RemoteDesktopConnectionName; } set { _RemoteDesktopConnectionName = value; } } private string _MachineName; public string MachineName { get { return _MachineName; } set { _MachineName = value; } } private string _DomainName; public string DomainName { get { return _DomainName; } set { _DomainName = value; } } private string _UserName; public string UserName { get { return _UserName; } set { _UserName = value; } } private string _Password; public string Password { get { return _Password; } set { _Password = value; } } private bool _AutoConnect; public bool AutoConnect { get { return _AutoConnect; } set { _AutoConnect = value; } } private bool _ShareDiskDrives; public bool ShareDiskDrives { get { return _ShareDiskDrives; } set { _ShareDiskDrives = value; } } private bool _SharePrinters; public bool SharePrinters { get { return _SharePrinters; } set { _SharePrinters = value; } } private bool _SavePassword; public bool SavePassword { get { return _SavePassword; } set { _SavePassword = value; } } private Colors _ColorDepth; public Colors ColorDepth { get { return _ColorDepth; } set { _ColorDepth = value; } } public int Port { get { return _Port; } set { _Port = value; } } private int _Port; public enum Colors { HighColor15 = 15, HighColor16 = 16, Color256 = 8, TrueColor = 24 } }
[Verwandte Empfehlungen]
1. Kann ich Navicat verwenden, um eine Verbindung unter Windows herzustellen? PHP kann keine Verbindung zu Remote-MySQL-bezogenen Problemen herstellen!
2.Installieren Sie den Ulipad-Editor unter dem Windows-System
3.Verwenden Sie Python, um Windows-Desktopprogramme zu entwickeln
4.Eine kurze Diskussion über die Verbindungseinstellungen zwischen PHP4.0 und Oracle 8 unter Windows_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonTeilen Sie ein Beispiel-Tutorial zur Verwendung von C# zur Implementierung einer Windows-Remotedesktopverbindung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!