示例#1
0
 public void remote_session()
 {
     try
     {
         rdp.Server   = ip_address;
         rdp.UserName = username;
         MsRdpClient8NotSafeForScripting secured = (MsRdpClient8NotSafeForScripting)rdp.GetOcx();
         secured.AdvancedSettings8.ClearTextPassword    = password;
         secured.AdvancedSettings8.EnableCredSspSupport = true;
         secured.ColorDepth = 24;
         secured.AdvancedSettings8.SmartSizing = true;
         secured.DesktopHeight = Screen.PrimaryScreen.Bounds.Height;
         secured.DesktopWidth  = Screen.PrimaryScreen.Bounds.Width;
         rdp.Connect();
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error: " + ex.Message);
     }
 }
示例#2
0
        public override bool Initialize()
        {
            base.Initialize();
            try
            {
                Control.CreateControl();
                _connectionInfo = InterfaceControl.Info;

                try
                {
                    while (!Control.Created)
                    {
                        Thread.Sleep(0);
                        Application.DoEvents();
                    }
                    _rdpClient = (MsRdpClient8NotSafeForScripting)((AxMsRdpClient8NotSafeForScripting)Control).GetOcx();
                }
                catch (System.Runtime.InteropServices.COMException ex)
                {
                    Runtime.MessageCollector.AddExceptionMessage(Language.strRdpControlCreationFailed, ex);
                    Control.Dispose();
                    return(false);
                }

                _rdpVersion = new Version(_rdpClient.Version);

                _rdpClient.Server = _connectionInfo.Hostname;

                SetCredentials();
                SetResolution();
                _rdpClient.FullScreenTitle = _connectionInfo.Name;

                //not user changeable
                _rdpClient.AdvancedSettings2.GrabFocusOnConnect   = true;
                _rdpClient.AdvancedSettings3.EnableAutoReconnect  = true;
                _rdpClient.AdvancedSettings3.MaxReconnectAttempts = Settings.Default.RdpReconnectionCount;
                _rdpClient.AdvancedSettings2.keepAliveInterval    = 60000;              //in milliseconds (10.000 = 10 seconds)
                _rdpClient.AdvancedSettings5.AuthenticationLevel  = 0;
                _rdpClient.AdvancedSettings2.EncryptionEnabled    = 1;

                _rdpClient.AdvancedSettings2.overallConnectionTimeout = Settings.Default.ConRDPOverallConnectionTimeout;

                _rdpClient.AdvancedSettings2.BitmapPeristence = Convert.ToInt32(_connectionInfo.CacheBitmaps);
                if (_rdpVersion >= Versions.RDC61)
                {
                    _rdpClient.AdvancedSettings7.EnableCredSspSupport = _connectionInfo.UseCredSsp;
                }

                SetUseConsoleSession();
                SetPort();
                RedirectKeys = _connectionInfo.RedirectKeys;
                SetRedirection();
                SetAuthenticationLevel();
                SetLoadBalanceInfo();
                SetRdGateway();

                _rdpClient.ColorDepth = (int)_connectionInfo.Colors;

                SetPerformanceFlags();

                _rdpClient.ConnectingText = Language.strConnecting;

                Control.Anchor = AnchorStyles.None;

                return(true);
            }
            catch (Exception ex)
            {
                Runtime.MessageCollector.AddExceptionStackTrace(Language.strRdpSetPropsFailed, ex);
                return(false);
            }
        }
        public override bool Initialize()
        {
            base.Initialize();
            try
            {
                Control.CreateControl();
                _connectionInfo = InterfaceControl.Info;

                try
                {
                    while (!Control.Created)
                    {
                        Thread.Sleep(0);
                        Application.DoEvents();
                    }
                    _rdpClient = (MsRdpClient8NotSafeForScripting)((AxMsRdpClient8NotSafeForScripting)Control).GetOcx();

                }
                catch (System.Runtime.InteropServices.COMException ex)
                {
                    Runtime.MessageCollector.AddExceptionMessage(Language.strRdpControlCreationFailed, ex);
                    Control.Dispose();
                    return false;
                }

                _rdpVersion = new Version(_rdpClient.Version);

                _rdpClient.Server = _connectionInfo.Hostname;

                SetCredentials();
                SetResolution();
                _rdpClient.FullScreenTitle = _connectionInfo.Name;

                //not user changeable
                _rdpClient.AdvancedSettings2.GrabFocusOnConnect = true;
                _rdpClient.AdvancedSettings3.EnableAutoReconnect = true;
                _rdpClient.AdvancedSettings3.MaxReconnectAttempts = Settings.Default.RdpReconnectionCount;
                _rdpClient.AdvancedSettings2.keepAliveInterval = 60000; //in milliseconds (10,000 = 10 seconds)
                _rdpClient.AdvancedSettings5.AuthenticationLevel = 0;
                _rdpClient.AdvancedSettings2.EncryptionEnabled = 1;

                _rdpClient.AdvancedSettings2.overallConnectionTimeout = Settings.Default.ConRDPOverallConnectionTimeout;

                _rdpClient.AdvancedSettings2.BitmapPeristence = Convert.ToInt32(_connectionInfo.CacheBitmaps);
                if (_rdpVersion >= Versions.RDC61)
                {
                    _rdpClient.AdvancedSettings7.EnableCredSspSupport = _connectionInfo.UseCredSsp;
                    _rdpClient.AdvancedSettings8.AudioQualityMode = (uint)_connectionInfo.SoundQuality;
                }

                SetUseConsoleSession();
                SetPort();
                RedirectKeys = _connectionInfo.RedirectKeys;
                SetRedirection();
                SetAuthenticationLevel();
                SetLoadBalanceInfo();
                SetRdGateway();

                _rdpClient.ColorDepth = (int)_connectionInfo.Colors;

                SetPerformanceFlags();

                _rdpClient.ConnectingText = Language.strConnecting;

                Control.Anchor = AnchorStyles.None;

                return true;
            }
            catch (Exception ex)
            {
                Runtime.MessageCollector.AddExceptionStackTrace(Language.strRdpSetPropsFailed, ex);
                return false;
            }
        }