Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
        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;
 }
Exemplo n.º 4
0
        /// <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();
        }