public VirtualChannelAvCtrlHandler(Logger m_logger, AxMsRdpClient7 rdpClient, LibVLC _libVLC, MediaPlayer _mp) { this.m_logger = m_logger; this.rdpClient = rdpClient; this._libVLC = _libVLC; this._mp = _mp; }
public Checker(AxMsRdpClient7 client) { this.client = client; this.client.OnConnected += new EventHandler(client_OnConnected); this.client.OnDisconnected += new IMsTscAxEvents_OnDisconnectedEventHandler(client_OnDisconnected); this.client.OnLoginComplete += new EventHandler(client_OnLoginComplete); this.client.OnLogonError += new IMsTscAxEvents_OnLogonErrorEventHandler(client_OnLogonError); this.client.OnFatalError += new IMsTscAxEvents_OnFatalErrorEventHandler(client_OnFatalError); status = CheckerStatusEnum.free; result = CheckStatusEnum.NotConnected; failInfo = new StringBuilder(); timer = new System.Timers.Timer(ConfigHelper.CheckingTimeout * 1000); timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); }
public VirtualChannelDevCapsHandler(Logger m_logger, AxMsRdpClient7 rdpClient) { this.m_logger = m_logger; this.rdpClient = rdpClient; }
/// <summary> /// 连接远程服务器 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void ConnectRemoteHost(object sender, EventArgs e) { var host = (RemoteHost)((MetroTile)sender).Tag; var ipInfo = host.IpAddress; var port = ipInfo.Port;//实时计算属性,缓存 #region 1.0 创建页签 var page = new TabPage(string.Format("{0}[{1}]", host.FName, ipInfo.FFullUrl)); tabControl.TabPages.Add(page); page.ContextMenuStrip = menuTabPage; tabControl.SelectedTab = page; #endregion #region 2.0 创建远程桌面客户端 //https://msdn.microsoft.com/en-us/library/ee620996(v=vs.85).aspx var rdpClient = new AxMsRdpClient7 { Dock = DockStyle.Fill, Width = Screen.PrimaryScreen.Bounds.Width, Height = Screen.PrimaryScreen.Bounds.Height }; page.Controls.Add(rdpClient); rdpClient.DesktopWidth = Screen.PrimaryScreen.Bounds.Width; rdpClient.DesktopHeight = Screen.PrimaryScreen.Bounds.Height; //page.AutoScroll = true; rdpClient.Server = ipInfo.FIpAddress; rdpClient.UserName = ipInfo.FLoginUser; if (port > 0) { rdpClient.AdvancedSettings2.RDPPort = port; } rdpClient.AdvancedSettings2.ClearTextPassword = ipInfo.FPassword; //偏好设置 rdpClient.ColorDepth = 32; rdpClient.ConnectingText = string.Format("正在连接[{0}],请稍等... {1}", host.FName, ipInfo.FFullUrl); #endregion rdpClient.OnConfirmClose += RdpClient_OnConfirmClose; rdpClient.OnDisconnected += RdpClient_OnDisconnected; //rdpClient.OnLeaveFullScreenMode += RdpClient_OnLeaveFullScreenMode; rdpClient.OnAuthenticationWarningDisplayed += RdpClient_OnAuthenticationWarningDisplayed; rdpClient.OnRequestLeaveFullScreen += RdpClient_OnLeaveFullScreenMode; rdpClient.OnRequestGoFullScreen += RdpClient_OnRequestGoFullScreen; rdpClient.OnRequestContainerMinimize += RdpClient_OnRequestContainerMinimize; rdpClient.AdvancedSettings8.RedirectDrives = true; //映射驱动器 rdpClient.AdvancedSettings8.RedirectPrinters = true; //映射打印机 rdpClient.AdvancedSettings8.RedirectClipboard = true; //映射剪贴板 rdpClient.AdvancedSettings8.ContainerHandledFullScreen = 1; rdpClient.AdvancedSettings8.ConnectionBarShowRestoreButton = true; rdpClient.AdvancedSettings8.SmartSizing = true; //rdpClient.AdvancedSettings8.ConnectionBarShowMinimizeButton = false;//不显示最小化按钮 var settings = (IMsRdpClientNonScriptable5)rdpClient.GetOcx(); settings.RedirectDynamicDrives = true;//动态映射驱动器 settings.RedirectionWarningType = RedirectionWarningType.RedirectionWarningTypeTrusted; settings.AllowCredentialSaving = true; settings.ShowRedirectionWarningDialog = false; settings.AllowPromptingForCredentials = false; settings.PromptForCredentials = false; settings.PromptForCredsOnClient = false; settings.MarkRdpSettingsSecure = true; settings.NegotiateSecurityLayer = true; settings.WarnAboutClipboardRedirection = false; settings.WarnAboutDirectXRedirection = false; settings.WarnAboutPrinterRedirection = false; settings.WarnAboutSendingCredentials = false; //连接远程桌面 rdpClient.Connect(); }