예제 #1
0
        private void RDPEvent_OnDisconnected(int discReason)
        {
            const int UI_ERR_NORMAL_DISCONNECT = 0xB08;

            if (discReason != UI_ERR_NORMAL_DISCONNECT)
            {
                string reason = _rdpClient.GetErrorDescription((uint)discReason, (uint)_rdpClient.ExtendedDisconnectReason);
                Event_Disconnected(this, discReason + "\r\n" + reason);
            }

            if (Settings.Default.ReconnectOnDisconnect)
            {
                ReconnectGroup = new ReconnectGroup();
                ReconnectGroup.CloseClicked += Event_ReconnectGroupCloseClicked;
                ReconnectGroup.Left          = (int)(((double)Control.Width / 2) - ((double)ReconnectGroup.Width / 2));
                ReconnectGroup.Top           = (int)(((double)Control.Height / 2) - ((double)ReconnectGroup.Height / 2));
                ReconnectGroup.Parent        = Control;
                ReconnectGroup.Show();
                tmrReconnect.Enabled = true;
            }
            else
            {
                Close();
            }
        }
예제 #2
0
        public void tmrReconnect_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            bool srvReady = Scanner.IsPortOpen(_Info.Hostname, Convert.ToString(_Info.Port));

            ReconnectGroup.ServerReady = srvReady;

            if (ReconnectGroup.ReconnectWhenReady && srvReady)
            {
                tmrReconnect.Enabled = false;
                ReconnectGroup.DisposeReconnectGroup();
                _ICAClient.Connect();
            }
        }
예제 #3
0
        public void tmrReconnect_Elapsed(object sender, ElapsedEventArgs e)
        {
            var srvReady = PortScanner.IsPortOpen(_info.Hostname, Convert.ToString(_info.Port));

            ReconnectGroup.ServerReady = srvReady;

            if (!ReconnectGroup.ReconnectWhenReady || !srvReady)
            {
                return;
            }
            tmrReconnect.Enabled = false;
            ReconnectGroup.DisposeReconnectGroup();
            _icaClient.Connect();
        }
예제 #4
0
        private void ICAEvent_OnDisconnect(object sender, System.EventArgs e)
        {
            base.Event_Disconnected(this, e.ToString());

            if (mRemoteNG.Settings.Default.ReconnectOnDisconnect)
            {
                ReconnectGroup = new ReconnectGroup();
                //this.Load += ReconnectGroup_Load;
                ReconnectGroup.Left   = (int)(((double)Control.Width / 2) - ((double)ReconnectGroup.Width / 2));
                ReconnectGroup.Top    = (int)(((double)Control.Height / 2) - ((double)ReconnectGroup.Height / 2));
                ReconnectGroup.Parent = Control;
                ReconnectGroup.Show();
                tmrReconnect.Enabled = true;
            }
            else
            {
                base.Close();
            }
        }
예제 #5
0
        public void tmrReconnect_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            try
            {
                var srvReady = PortScanner.IsPortOpen(_connectionInfo.Hostname, Convert.ToString(_connectionInfo.Port));

                ReconnectGroup.ServerReady = srvReady;

                if (ReconnectGroup.ReconnectWhenReady && srvReady)
                {
                    tmrReconnect.Enabled = false;
                    ReconnectGroup.DisposeReconnectGroup();
                    //SetProps()
                    _rdpClient.Connect();
                }
            }
            catch (Exception ex)
            {
                Runtime.MessageCollector.AddExceptionMessage(string.Format(Language.AutomaticReconnectError, _connectionInfo.Hostname),
                                                             ex, MessageClass.WarningMsg, false);
            }
        }