mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
RDP version 8 Client & code clean up
This commit is contained in:
@@ -18,7 +18,14 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
public class ProtocolRDP : ProtocolBase
|
||||
{
|
||||
#region Private Declarations
|
||||
private MsRdpClient6NotSafeForScripting _rdpClient;
|
||||
/* RDP v8 requires Windows 7 with:
|
||||
* https://support.microsoft.com/en-us/kb/2592687
|
||||
* OR
|
||||
* https://support.microsoft.com/en-us/kb/2923545
|
||||
*
|
||||
* Windows 8+ support RDP v8 out of the box.
|
||||
*/
|
||||
private MsRdpClient8NotSafeForScripting _rdpClient;
|
||||
private Version _rdpVersion;
|
||||
private ConnectionInfo _connectionInfo;
|
||||
private bool _loginComplete;
|
||||
@@ -68,13 +75,13 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
return ;
|
||||
}
|
||||
|
||||
Debug.Assert(System.Convert.ToBoolean(_rdpClient.SecuredSettingsEnabled));
|
||||
MSTSCLib.IMsRdpClientSecuredSettings msRdpClientSecuredSettings = _rdpClient.SecuredSettings2;
|
||||
Debug.Assert(Convert.ToBoolean(_rdpClient.SecuredSettingsEnabled));
|
||||
IMsRdpClientSecuredSettings msRdpClientSecuredSettings = _rdpClient.SecuredSettings2;
|
||||
msRdpClientSecuredSettings.KeyboardHookMode = 1; // Apply key combinations at the remote server.
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetRedirectKeysFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetRedirectKeysFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -83,7 +90,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
#region Constructors
|
||||
public ProtocolRDP()
|
||||
{
|
||||
Control = new AxMsRdpClient6NotSafeForScripting();
|
||||
Control = new AxMsRdpClient8NotSafeForScripting();
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -101,9 +108,10 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
while (!Control.Created)
|
||||
{
|
||||
Thread.Sleep(0);
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
Application.DoEvents();
|
||||
}
|
||||
_rdpClient = (MsRdpClient6NotSafeForScripting)((AxMsRdpClient6NotSafeForScripting)Control).GetOcx();
|
||||
_rdpClient = (MsRdpClient8NotSafeForScripting)((AxMsRdpClient8NotSafeForScripting)Control).GetOcx();
|
||||
|
||||
}
|
||||
catch (System.Runtime.InteropServices.COMException ex)
|
||||
{
|
||||
@@ -114,39 +122,39 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
|
||||
_rdpVersion = new Version(_rdpClient.Version);
|
||||
|
||||
_rdpClient.Server = this._connectionInfo.Hostname;
|
||||
|
||||
this.SetCredentials();
|
||||
this.SetResolution();
|
||||
this._rdpClient.FullScreenTitle = this._connectionInfo.Name;
|
||||
_rdpClient.Server = _connectionInfo.Hostname;
|
||||
|
||||
SetCredentials();
|
||||
SetResolution();
|
||||
_rdpClient.FullScreenTitle = _connectionInfo.Name;
|
||||
|
||||
//not user changeable
|
||||
_rdpClient.AdvancedSettings2.GrabFocusOnConnect = true;
|
||||
_rdpClient.AdvancedSettings3.EnableAutoReconnect = true;
|
||||
_rdpClient.AdvancedSettings3.MaxReconnectAttempts = System.Convert.ToInt32(My.Settings.Default.RdpReconnectionCount);
|
||||
_rdpClient.AdvancedSettings3.MaxReconnectAttempts = Convert.ToInt32(My.Settings.Default.RdpReconnectionCount);
|
||||
_rdpClient.AdvancedSettings2.keepAliveInterval = 60000; //in milliseconds (10.000 = 10 seconds)
|
||||
_rdpClient.AdvancedSettings5.AuthenticationLevel = 0;
|
||||
_rdpClient.AdvancedSettings2.EncryptionEnabled = 1;
|
||||
|
||||
_rdpClient.AdvancedSettings2.overallConnectionTimeout = 20;
|
||||
|
||||
_rdpClient.AdvancedSettings2.BitmapPeristence = System.Convert.ToInt32(this._connectionInfo.CacheBitmaps);
|
||||
_rdpClient.AdvancedSettings2.BitmapPeristence = Convert.ToInt32(_connectionInfo.CacheBitmaps);
|
||||
if (_rdpVersion >= Versions.RDC61)
|
||||
{
|
||||
_rdpClient.AdvancedSettings7.EnableCredSspSupport = _connectionInfo.UseCredSsp;
|
||||
}
|
||||
|
||||
this.SetUseConsoleSession();
|
||||
this.SetPort();
|
||||
|
||||
SetUseConsoleSession();
|
||||
SetPort();
|
||||
RedirectKeys = _connectionInfo.RedirectKeys;
|
||||
this.SetRedirection();
|
||||
this.SetAuthenticationLevel();
|
||||
SetRedirection();
|
||||
SetAuthenticationLevel();
|
||||
SetLoadBalanceInfo();
|
||||
this.SetRdGateway();
|
||||
SetRdGateway();
|
||||
|
||||
_rdpClient.ColorDepth = System.Convert.ToInt32(Conversion.Int(this._connectionInfo.Colors));
|
||||
|
||||
this.SetPerformanceFlags();
|
||||
_rdpClient.ColorDepth = Convert.ToInt32(Conversion.Int(_connectionInfo.Colors));
|
||||
|
||||
SetPerformanceFlags();
|
||||
|
||||
_rdpClient.ConnectingText = My.Language.strConnecting;
|
||||
|
||||
@@ -156,7 +164,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPropsFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetPropsFailed + Environment.NewLine + ex.Message, true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -174,7 +182,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpConnectionOpenFailed + Environment.NewLine + ex.Message);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpConnectionOpenFailed + Environment.NewLine + ex.Message);
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -188,7 +196,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpDisconnectFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpDisconnectFailed + Environment.NewLine + ex.Message, true);
|
||||
base.Close();
|
||||
}
|
||||
}
|
||||
@@ -197,11 +205,11 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Fullscreen = !this.Fullscreen;
|
||||
Fullscreen = !Fullscreen;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpToggleFullscreenFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpToggleFullscreenFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,11 +217,11 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
try
|
||||
{
|
||||
this.SmartSize = !this.SmartSize;
|
||||
SmartSize = !SmartSize;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpToggleSmartSizeFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpToggleSmartSizeFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,7 +236,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpFocusFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpFocusFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -310,7 +318,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
size = Screen.FromControl(Control).Bounds.Size;
|
||||
}
|
||||
|
||||
IMsRdpClient8 msRdpClient8 = (IMsRdpClient8)_rdpClient;
|
||||
IMsRdpClient8 msRdpClient8 = _rdpClient;
|
||||
msRdpClient8.Reconnect((uint)size.Width, (uint)size.Height);
|
||||
}
|
||||
|
||||
@@ -328,7 +336,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, My.Language.strRdpGatewayIsSupported, true);
|
||||
}
|
||||
|
||||
if (!(_connectionInfo.RDGatewayUsageMethod == RDGatewayUsageMethod.Never))
|
||||
if (_connectionInfo.RDGatewayUsageMethod != RDGatewayUsageMethod.Never)
|
||||
{
|
||||
_rdpClient.TransportSettings.GatewayUsageMethod = (uint)_connectionInfo.RDGatewayUsageMethod;
|
||||
_rdpClient.TransportSettings.GatewayHostname = _connectionInfo.RDGatewayHostname;
|
||||
@@ -386,12 +394,12 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
|
||||
if (_rdpVersion >= Versions.RDC61)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, string.Format(My.Language.strRdpSetConsoleSwitch, "6.1"), true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, string.Format(My.Language.strRdpSetConsoleSwitch, _rdpVersion), true);
|
||||
//_rdpClient.AdvancedSettings7.ConnectToAdministerServer = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, string.Format(My.Language.strRdpSetConsoleSwitch, "6.0"), true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, string.Format(My.Language.strRdpSetConsoleSwitch, _rdpVersion), true);
|
||||
_rdpClient.AdvancedSettings2.ConnectToServerConsole = value;
|
||||
}
|
||||
}
|
||||
@@ -416,13 +424,13 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
|
||||
if (string.IsNullOrEmpty(userName))
|
||||
{
|
||||
if ((string) My.Settings.Default.EmptyCredentials == "windows")
|
||||
if (My.Settings.Default.EmptyCredentials == "windows")
|
||||
{
|
||||
_rdpClient.UserName = Environment.UserName;
|
||||
}
|
||||
else if ((string) My.Settings.Default.EmptyCredentials == "custom")
|
||||
else if (My.Settings.Default.EmptyCredentials == "custom")
|
||||
{
|
||||
_rdpClient.UserName = System.Convert.ToString(My.Settings.Default.DefaultUsername);
|
||||
_rdpClient.UserName = Convert.ToString(My.Settings.Default.DefaultUsername);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -432,11 +440,11 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
|
||||
if (string.IsNullOrEmpty(password))
|
||||
{
|
||||
if ((string) My.Settings.Default.EmptyCredentials == "custom")
|
||||
if (My.Settings.Default.EmptyCredentials == "custom")
|
||||
{
|
||||
if (My.Settings.Default.DefaultPassword != "")
|
||||
{
|
||||
_rdpClient.AdvancedSettings2.ClearTextPassword = Security.Crypt.Decrypt(System.Convert.ToString(My.Settings.Default.DefaultPassword), App.Info.GeneralAppInfo.EncryptionKey);
|
||||
_rdpClient.AdvancedSettings2.ClearTextPassword = Security.Crypt.Decrypt(Convert.ToString(My.Settings.Default.DefaultPassword), App.Info.GeneralAppInfo.EncryptionKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -447,13 +455,13 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
|
||||
if (string.IsNullOrEmpty(domain))
|
||||
{
|
||||
if ((string) My.Settings.Default.EmptyCredentials == "windows")
|
||||
if (My.Settings.Default.EmptyCredentials == "windows")
|
||||
{
|
||||
_rdpClient.Domain = Environment.UserDomainName;
|
||||
}
|
||||
else if ((string) My.Settings.Default.EmptyCredentials == "custom")
|
||||
else if (My.Settings.Default.EmptyCredentials == "custom")
|
||||
{
|
||||
_rdpClient.Domain = System.Convert.ToString(My.Settings.Default.DefaultDomain);
|
||||
_rdpClient.Domain = Convert.ToString(My.Settings.Default.DefaultDomain);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -463,7 +471,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetCredentialsFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetCredentialsFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -471,7 +479,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((this.Force & Connection.ConnectionInfo.Force.Fullscreen) == Connection.ConnectionInfo.Force.Fullscreen)
|
||||
if ((Force & ConnectionInfo.Force.Fullscreen) == ConnectionInfo.Force.Fullscreen)
|
||||
{
|
||||
_rdpClient.FullScreen = true;
|
||||
_rdpClient.DesktopWidth = Screen.FromControl(frmMain.Default).Bounds.Width;
|
||||
@@ -480,12 +488,12 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
return;
|
||||
}
|
||||
|
||||
if ((this.InterfaceControl.Info.Resolution == RDPResolutions.FitToWindow) || (this.InterfaceControl.Info.Resolution == RDPResolutions.SmartSize))
|
||||
if ((InterfaceControl.Info.Resolution == RDPResolutions.FitToWindow) || (InterfaceControl.Info.Resolution == RDPResolutions.SmartSize))
|
||||
{
|
||||
_rdpClient.DesktopWidth = InterfaceControl.Size.Width;
|
||||
_rdpClient.DesktopHeight = InterfaceControl.Size.Height;
|
||||
}
|
||||
else if (this.InterfaceControl.Info.Resolution == RDPResolutions.Fullscreen)
|
||||
else if (InterfaceControl.Info.Resolution == RDPResolutions.Fullscreen)
|
||||
{
|
||||
_rdpClient.FullScreen = true;
|
||||
_rdpClient.DesktopWidth = Screen.FromControl(frmMain.Default).Bounds.Width;
|
||||
@@ -500,7 +508,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetResolutionFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetResolutionFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -515,7 +523,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPortFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetPortFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -523,15 +531,15 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
try
|
||||
{
|
||||
_rdpClient.AdvancedSettings2.RedirectDrives = this._connectionInfo.RedirectDiskDrives;
|
||||
_rdpClient.AdvancedSettings2.RedirectPorts = this._connectionInfo.RedirectPorts;
|
||||
_rdpClient.AdvancedSettings2.RedirectPrinters = this._connectionInfo.RedirectPrinters;
|
||||
_rdpClient.AdvancedSettings2.RedirectSmartCards = this._connectionInfo.RedirectSmartCards;
|
||||
_rdpClient.SecuredSettings2.AudioRedirectionMode = System.Convert.ToInt32(Conversion.Int(this._connectionInfo.RedirectSound));
|
||||
_rdpClient.AdvancedSettings2.RedirectDrives = _connectionInfo.RedirectDiskDrives;
|
||||
_rdpClient.AdvancedSettings2.RedirectPorts = _connectionInfo.RedirectPorts;
|
||||
_rdpClient.AdvancedSettings2.RedirectPrinters = _connectionInfo.RedirectPrinters;
|
||||
_rdpClient.AdvancedSettings2.RedirectSmartCards = _connectionInfo.RedirectSmartCards;
|
||||
_rdpClient.SecuredSettings2.AudioRedirectionMode = Convert.ToInt32(Conversion.Int(_connectionInfo.RedirectSound));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetRedirectionFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetRedirectionFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -540,31 +548,31 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
try
|
||||
{
|
||||
int pFlags = 0;
|
||||
if (this._connectionInfo.DisplayThemes == false)
|
||||
if (_connectionInfo.DisplayThemes == false)
|
||||
{
|
||||
pFlags += System.Convert.ToInt32(Conversion.Int(ProtocolRDP.RDPPerformanceFlags.DisableThemes));
|
||||
pFlags += Convert.ToInt32(Conversion.Int(RDPPerformanceFlags.DisableThemes));
|
||||
}
|
||||
|
||||
if (this._connectionInfo.DisplayWallpaper == false)
|
||||
if (_connectionInfo.DisplayWallpaper == false)
|
||||
{
|
||||
pFlags += System.Convert.ToInt32(Conversion.Int(ProtocolRDP.RDPPerformanceFlags.DisableWallpaper));
|
||||
pFlags += Convert.ToInt32(Conversion.Int(RDPPerformanceFlags.DisableWallpaper));
|
||||
}
|
||||
|
||||
if (this._connectionInfo.EnableFontSmoothing)
|
||||
if (_connectionInfo.EnableFontSmoothing)
|
||||
{
|
||||
pFlags += System.Convert.ToInt32(Conversion.Int(ProtocolRDP.RDPPerformanceFlags.EnableFontSmoothing));
|
||||
pFlags += Convert.ToInt32(Conversion.Int(RDPPerformanceFlags.EnableFontSmoothing));
|
||||
}
|
||||
|
||||
if (this._connectionInfo.EnableDesktopComposition)
|
||||
if (_connectionInfo.EnableDesktopComposition)
|
||||
{
|
||||
pFlags += System.Convert.ToInt32(Conversion.Int(ProtocolRDP.RDPPerformanceFlags.EnableDesktopComposition));
|
||||
pFlags += Convert.ToInt32(Conversion.Int(RDPPerformanceFlags.EnableDesktopComposition));
|
||||
}
|
||||
|
||||
_rdpClient.AdvancedSettings2.PerformanceFlags = pFlags;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPerformanceFlagsFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetPerformanceFlagsFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -572,11 +580,11 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
{
|
||||
try
|
||||
{
|
||||
_rdpClient.AdvancedSettings5.AuthenticationLevel = (uint)this._connectionInfo.RDPAuthenticationLevel;
|
||||
_rdpClient.AdvancedSettings5.AuthenticationLevel = (uint)_connectionInfo.RDPAuthenticationLevel;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetAuthenticationLevelFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetAuthenticationLevelFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -609,7 +617,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetEventHandlersFailed + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpSetEventHandlersFailed + Environment.NewLine + ex.Message, true);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@@ -617,15 +625,15 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
#region Private Events & Handlers
|
||||
private void RDPEvent_OnFatalError(int errorCode)
|
||||
{
|
||||
Event_ErrorOccured(this, System.Convert.ToString(errorCode));
|
||||
Event_ErrorOccured(this, Convert.ToString(errorCode));
|
||||
}
|
||||
|
||||
private void RDPEvent_OnDisconnected(int discReason)
|
||||
{
|
||||
const int UI_ERR_NORMAL_DISCONNECT = 0xB08;
|
||||
if (!(discReason == UI_ERR_NORMAL_DISCONNECT))
|
||||
if (discReason != UI_ERR_NORMAL_DISCONNECT)
|
||||
{
|
||||
string reason = _rdpClient.GetErrorDescription((uint)discReason, (System.UInt32) _rdpClient.ExtendedDisconnectReason);
|
||||
string reason = _rdpClient.GetErrorDescription((uint)discReason, (uint) _rdpClient.ExtendedDisconnectReason);
|
||||
Event_Disconnected(this, discReason + "\r\n" + reason);
|
||||
}
|
||||
|
||||
@@ -669,18 +677,18 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
#endregion
|
||||
|
||||
#region Public Events & Handlers
|
||||
public delegate void LeaveFullscreenEventHandler(ProtocolRDP sender, System.EventArgs e);
|
||||
public delegate void LeaveFullscreenEventHandler(ProtocolRDP sender, EventArgs e);
|
||||
private LeaveFullscreenEventHandler LeaveFullscreenEvent;
|
||||
|
||||
public event LeaveFullscreenEventHandler LeaveFullscreen
|
||||
{
|
||||
add
|
||||
{
|
||||
LeaveFullscreenEvent = (LeaveFullscreenEventHandler) System.Delegate.Combine(LeaveFullscreenEvent, value);
|
||||
LeaveFullscreenEvent = (LeaveFullscreenEventHandler)Delegate.Combine(LeaveFullscreenEvent, value);
|
||||
}
|
||||
remove
|
||||
{
|
||||
LeaveFullscreenEvent = (LeaveFullscreenEventHandler) System.Delegate.Remove(LeaveFullscreenEvent, value);
|
||||
LeaveFullscreenEvent = (LeaveFullscreenEventHandler)Delegate.Remove(LeaveFullscreenEvent, value);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@@ -803,7 +811,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
else
|
||||
{
|
||||
return new Rectangle(0, 0, System.Convert.ToInt32(resolutionParts[0]), System.Convert.ToInt32(resolutionParts[1]));
|
||||
return new Rectangle(0, 0, Convert.ToInt32(resolutionParts[0]), Convert.ToInt32(resolutionParts[1]));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@@ -814,6 +822,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
public static Version RDC61 = new Version(6, 0, 6001);
|
||||
public static Version RDC70 = new Version(6, 1, 7600);
|
||||
public static Version RDC80 = new Version(6, 2, 9200);
|
||||
public static Version RDC81 = new Version(6, 3, 9600);
|
||||
}
|
||||
|
||||
#region Fatal Errors
|
||||
@@ -846,7 +855,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Runtime.MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpErrorGetFailure + Environment.NewLine + ex.Message, true);
|
||||
Runtime.MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strRdpErrorGetFailure + Environment.NewLine + ex.Message, true);
|
||||
return string.Format(My.Language.strRdpErrorUnknown, id);
|
||||
}
|
||||
}
|
||||
@@ -856,7 +865,7 @@ namespace mRemoteNG.Connection.Protocol.RDP
|
||||
#region Reconnect Stuff
|
||||
public void tmrReconnect_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
bool srvReady = Tools.PortScan.Scanner.IsPortOpen(_connectionInfo.Hostname, System.Convert.ToString(_connectionInfo.Port));
|
||||
bool srvReady = Tools.PortScan.Scanner.IsPortOpen(_connectionInfo.Hostname, Convert.ToString(_connectionInfo.Port));
|
||||
|
||||
ReconnectGroup.ServerReady = srvReady;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace mRemoteNG.UI.Window
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.pnlCheck1 = new System.Windows.Forms.Panel();
|
||||
this.Load += new System.EventHandler(ComponentsCheck_Load);
|
||||
this.Load += new EventHandler(ComponentsCheck_Load);
|
||||
this.txtCheck1 = new System.Windows.Forms.TextBox();
|
||||
this.lblCheck1 = new System.Windows.Forms.Label();
|
||||
this.pbCheck1 = new System.Windows.Forms.PictureBox();
|
||||
@@ -60,9 +60,9 @@ namespace mRemoteNG.UI.Window
|
||||
this.lblCheck5 = new System.Windows.Forms.Label();
|
||||
this.pbCheck5 = new System.Windows.Forms.PictureBox();
|
||||
this.btnCheckAgain = new System.Windows.Forms.Button();
|
||||
this.btnCheckAgain.Click += new System.EventHandler(this.btnCheckAgain_Click);
|
||||
this.btnCheckAgain.Click += new EventHandler(this.btnCheckAgain_Click);
|
||||
this.chkAlwaysShow = new System.Windows.Forms.CheckBox();
|
||||
this.chkAlwaysShow.CheckedChanged += new System.EventHandler(this.chkAlwaysShow_CheckedChanged);
|
||||
this.chkAlwaysShow.CheckedChanged += new EventHandler(this.chkAlwaysShow_CheckedChanged);
|
||||
this.pnlChecks = new System.Windows.Forms.Panel();
|
||||
this.pnlCheck1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize) this.pbCheck1).BeginInit();
|
||||
@@ -79,287 +79,287 @@ namespace mRemoteNG.UI.Window
|
||||
//
|
||||
//pnlCheck1
|
||||
//
|
||||
this.pnlCheck1.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.pnlCheck1.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.pnlCheck1.Controls.Add(this.txtCheck1);
|
||||
this.pnlCheck1.Controls.Add(this.lblCheck1);
|
||||
this.pnlCheck1.Controls.Add(this.pbCheck1);
|
||||
this.pnlCheck1.Location = new System.Drawing.Point(3, 3);
|
||||
this.pnlCheck1.Location = new Point(3, 3);
|
||||
this.pnlCheck1.Name = "pnlCheck1";
|
||||
this.pnlCheck1.Size = new System.Drawing.Size(562, 130);
|
||||
this.pnlCheck1.Size = new Size(562, 130);
|
||||
this.pnlCheck1.TabIndex = 10;
|
||||
this.pnlCheck1.Visible = false;
|
||||
//
|
||||
//txtCheck1
|
||||
//
|
||||
this.txtCheck1.Anchor = (System.Windows.Forms.AnchorStyles) (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.txtCheck1.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.txtCheck1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.txtCheck1.BackColor = SystemColors.Control;
|
||||
this.txtCheck1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.txtCheck1.Location = new System.Drawing.Point(129, 29);
|
||||
this.txtCheck1.Location = new Point(129, 29);
|
||||
this.txtCheck1.Multiline = true;
|
||||
this.txtCheck1.Name = "txtCheck1";
|
||||
this.txtCheck1.ReadOnly = true;
|
||||
this.txtCheck1.Size = new System.Drawing.Size(430, 97);
|
||||
this.txtCheck1.Size = new Size(430, 97);
|
||||
this.txtCheck1.TabIndex = 2;
|
||||
//
|
||||
//lblCheck1
|
||||
//
|
||||
this.lblCheck1.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.lblCheck1.Font = new System.Drawing.Font("Microsoft Sans Serif", (float) (12.0F), System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(0));
|
||||
this.lblCheck1.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
this.lblCheck1.Location = new System.Drawing.Point(108, 3);
|
||||
this.lblCheck1.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.lblCheck1.Font = new Font("Microsoft Sans Serif", 12.0F, FontStyle.Bold, System.Drawing.GraphicsUnit.Point, Convert.ToByte(0));
|
||||
this.lblCheck1.ForeColor = SystemColors.ControlText;
|
||||
this.lblCheck1.Location = new Point(108, 3);
|
||||
this.lblCheck1.Name = "lblCheck1";
|
||||
this.lblCheck1.Size = new System.Drawing.Size(451, 23);
|
||||
this.lblCheck1.Size = new Size(451, 23);
|
||||
this.lblCheck1.TabIndex = 1;
|
||||
this.lblCheck1.Text = "RDP check succeeded!";
|
||||
//
|
||||
//pbCheck1
|
||||
//
|
||||
this.pbCheck1.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left);
|
||||
this.pbCheck1.Location = new System.Drawing.Point(3, 3);
|
||||
this.pbCheck1.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left;
|
||||
this.pbCheck1.Location = new Point(3, 3);
|
||||
this.pbCheck1.Name = "pbCheck1";
|
||||
this.pbCheck1.Size = new System.Drawing.Size(72, 123);
|
||||
this.pbCheck1.Size = new Size(72, 123);
|
||||
this.pbCheck1.TabIndex = 0;
|
||||
this.pbCheck1.TabStop = false;
|
||||
//
|
||||
//pnlCheck2
|
||||
//
|
||||
this.pnlCheck2.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.pnlCheck2.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.pnlCheck2.Controls.Add(this.txtCheck2);
|
||||
this.pnlCheck2.Controls.Add(this.lblCheck2);
|
||||
this.pnlCheck2.Controls.Add(this.pbCheck2);
|
||||
this.pnlCheck2.Location = new System.Drawing.Point(3, 139);
|
||||
this.pnlCheck2.Location = new Point(3, 139);
|
||||
this.pnlCheck2.Name = "pnlCheck2";
|
||||
this.pnlCheck2.Size = new System.Drawing.Size(562, 130);
|
||||
this.pnlCheck2.Size = new Size(562, 130);
|
||||
this.pnlCheck2.TabIndex = 20;
|
||||
this.pnlCheck2.Visible = false;
|
||||
//
|
||||
//txtCheck2
|
||||
//
|
||||
this.txtCheck2.Anchor = (System.Windows.Forms.AnchorStyles) (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.txtCheck2.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.txtCheck2.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.txtCheck2.BackColor = SystemColors.Control;
|
||||
this.txtCheck2.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.txtCheck2.Location = new System.Drawing.Point(129, 29);
|
||||
this.txtCheck2.Location = new Point(129, 29);
|
||||
this.txtCheck2.Multiline = true;
|
||||
this.txtCheck2.Name = "txtCheck2";
|
||||
this.txtCheck2.ReadOnly = true;
|
||||
this.txtCheck2.Size = new System.Drawing.Size(430, 97);
|
||||
this.txtCheck2.Size = new Size(430, 97);
|
||||
this.txtCheck2.TabIndex = 2;
|
||||
//
|
||||
//lblCheck2
|
||||
//
|
||||
this.lblCheck2.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.lblCheck2.Font = new System.Drawing.Font("Microsoft Sans Serif", (float) (12.0F), System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(0));
|
||||
this.lblCheck2.Location = new System.Drawing.Point(112, 3);
|
||||
this.lblCheck2.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.lblCheck2.Font = new Font("Microsoft Sans Serif", 12.0F, FontStyle.Bold, System.Drawing.GraphicsUnit.Point, Convert.ToByte(0));
|
||||
this.lblCheck2.Location = new Point(112, 3);
|
||||
this.lblCheck2.Name = "lblCheck2";
|
||||
this.lblCheck2.Size = new System.Drawing.Size(447, 23);
|
||||
this.lblCheck2.Size = new Size(447, 23);
|
||||
this.lblCheck2.TabIndex = 1;
|
||||
this.lblCheck2.Text = "RDP check succeeded!";
|
||||
//
|
||||
//pbCheck2
|
||||
//
|
||||
this.pbCheck2.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left);
|
||||
this.pbCheck2.Location = new System.Drawing.Point(3, 3);
|
||||
this.pbCheck2.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left;
|
||||
this.pbCheck2.Location = new Point(3, 3);
|
||||
this.pbCheck2.Name = "pbCheck2";
|
||||
this.pbCheck2.Size = new System.Drawing.Size(72, 123);
|
||||
this.pbCheck2.Size = new Size(72, 123);
|
||||
this.pbCheck2.TabIndex = 0;
|
||||
this.pbCheck2.TabStop = false;
|
||||
//
|
||||
//pnlCheck3
|
||||
//
|
||||
this.pnlCheck3.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.pnlCheck3.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.pnlCheck3.Controls.Add(this.txtCheck3);
|
||||
this.pnlCheck3.Controls.Add(this.lblCheck3);
|
||||
this.pnlCheck3.Controls.Add(this.pbCheck3);
|
||||
this.pnlCheck3.Location = new System.Drawing.Point(3, 275);
|
||||
this.pnlCheck3.Location = new Point(3, 275);
|
||||
this.pnlCheck3.Name = "pnlCheck3";
|
||||
this.pnlCheck3.Size = new System.Drawing.Size(562, 130);
|
||||
this.pnlCheck3.Size = new Size(562, 130);
|
||||
this.pnlCheck3.TabIndex = 30;
|
||||
this.pnlCheck3.Visible = false;
|
||||
//
|
||||
//txtCheck3
|
||||
//
|
||||
this.txtCheck3.Anchor = (System.Windows.Forms.AnchorStyles) (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.txtCheck3.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.txtCheck3.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.txtCheck3.BackColor = SystemColors.Control;
|
||||
this.txtCheck3.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.txtCheck3.Location = new System.Drawing.Point(129, 29);
|
||||
this.txtCheck3.Location = new Point(129, 29);
|
||||
this.txtCheck3.Multiline = true;
|
||||
this.txtCheck3.Name = "txtCheck3";
|
||||
this.txtCheck3.ReadOnly = true;
|
||||
this.txtCheck3.Size = new System.Drawing.Size(430, 97);
|
||||
this.txtCheck3.Size = new Size(430, 97);
|
||||
this.txtCheck3.TabIndex = 2;
|
||||
//
|
||||
//lblCheck3
|
||||
//
|
||||
this.lblCheck3.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.lblCheck3.Font = new System.Drawing.Font("Microsoft Sans Serif", (float) (12.0F), System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(0));
|
||||
this.lblCheck3.Location = new System.Drawing.Point(112, 3);
|
||||
this.lblCheck3.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.lblCheck3.Font = new Font("Microsoft Sans Serif", 12.0F, FontStyle.Bold, System.Drawing.GraphicsUnit.Point, Convert.ToByte(0));
|
||||
this.lblCheck3.Location = new Point(112, 3);
|
||||
this.lblCheck3.Name = "lblCheck3";
|
||||
this.lblCheck3.Size = new System.Drawing.Size(447, 23);
|
||||
this.lblCheck3.Size = new Size(447, 23);
|
||||
this.lblCheck3.TabIndex = 1;
|
||||
this.lblCheck3.Text = "RDP check succeeded!";
|
||||
//
|
||||
//pbCheck3
|
||||
//
|
||||
this.pbCheck3.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left);
|
||||
this.pbCheck3.Location = new System.Drawing.Point(3, 3);
|
||||
this.pbCheck3.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left;
|
||||
this.pbCheck3.Location = new Point(3, 3);
|
||||
this.pbCheck3.Name = "pbCheck3";
|
||||
this.pbCheck3.Size = new System.Drawing.Size(72, 123);
|
||||
this.pbCheck3.Size = new Size(72, 123);
|
||||
this.pbCheck3.TabIndex = 0;
|
||||
this.pbCheck3.TabStop = false;
|
||||
//
|
||||
//pnlCheck4
|
||||
//
|
||||
this.pnlCheck4.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.pnlCheck4.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.pnlCheck4.Controls.Add(this.txtCheck4);
|
||||
this.pnlCheck4.Controls.Add(this.lblCheck4);
|
||||
this.pnlCheck4.Controls.Add(this.pbCheck4);
|
||||
this.pnlCheck4.Location = new System.Drawing.Point(3, 411);
|
||||
this.pnlCheck4.Location = new Point(3, 411);
|
||||
this.pnlCheck4.Name = "pnlCheck4";
|
||||
this.pnlCheck4.Size = new System.Drawing.Size(562, 130);
|
||||
this.pnlCheck4.Size = new Size(562, 130);
|
||||
this.pnlCheck4.TabIndex = 40;
|
||||
this.pnlCheck4.Visible = false;
|
||||
//
|
||||
//txtCheck4
|
||||
//
|
||||
this.txtCheck4.Anchor = (System.Windows.Forms.AnchorStyles) (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.txtCheck4.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.txtCheck4.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.txtCheck4.BackColor = SystemColors.Control;
|
||||
this.txtCheck4.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.txtCheck4.Location = new System.Drawing.Point(129, 30);
|
||||
this.txtCheck4.Location = new Point(129, 30);
|
||||
this.txtCheck4.Multiline = true;
|
||||
this.txtCheck4.Name = "txtCheck4";
|
||||
this.txtCheck4.ReadOnly = true;
|
||||
this.txtCheck4.Size = new System.Drawing.Size(430, 97);
|
||||
this.txtCheck4.Size = new Size(430, 97);
|
||||
this.txtCheck4.TabIndex = 2;
|
||||
//
|
||||
//lblCheck4
|
||||
//
|
||||
this.lblCheck4.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.lblCheck4.Font = new System.Drawing.Font("Microsoft Sans Serif", (float) (12.0F), System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(0));
|
||||
this.lblCheck4.Location = new System.Drawing.Point(112, 3);
|
||||
this.lblCheck4.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.lblCheck4.Font = new Font("Microsoft Sans Serif", 12.0F, FontStyle.Bold, System.Drawing.GraphicsUnit.Point, Convert.ToByte(0));
|
||||
this.lblCheck4.Location = new Point(112, 3);
|
||||
this.lblCheck4.Name = "lblCheck4";
|
||||
this.lblCheck4.Size = new System.Drawing.Size(447, 23);
|
||||
this.lblCheck4.Size = new Size(447, 23);
|
||||
this.lblCheck4.TabIndex = 1;
|
||||
this.lblCheck4.Text = "RDP check succeeded!";
|
||||
//
|
||||
//pbCheck4
|
||||
//
|
||||
this.pbCheck4.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left);
|
||||
this.pbCheck4.Location = new System.Drawing.Point(3, 3);
|
||||
this.pbCheck4.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left;
|
||||
this.pbCheck4.Location = new Point(3, 3);
|
||||
this.pbCheck4.Name = "pbCheck4";
|
||||
this.pbCheck4.Size = new System.Drawing.Size(72, 123);
|
||||
this.pbCheck4.Size = new Size(72, 123);
|
||||
this.pbCheck4.TabIndex = 0;
|
||||
this.pbCheck4.TabStop = false;
|
||||
//
|
||||
//pnlCheck5
|
||||
//
|
||||
this.pnlCheck5.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.pnlCheck5.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.pnlCheck5.Controls.Add(this.txtCheck5);
|
||||
this.pnlCheck5.Controls.Add(this.lblCheck5);
|
||||
this.pnlCheck5.Controls.Add(this.pbCheck5);
|
||||
this.pnlCheck5.Location = new System.Drawing.Point(3, 547);
|
||||
this.pnlCheck5.Location = new Point(3, 547);
|
||||
this.pnlCheck5.Name = "pnlCheck5";
|
||||
this.pnlCheck5.Size = new System.Drawing.Size(562, 130);
|
||||
this.pnlCheck5.Size = new Size(562, 130);
|
||||
this.pnlCheck5.TabIndex = 50;
|
||||
this.pnlCheck5.Visible = false;
|
||||
//
|
||||
//txtCheck5
|
||||
//
|
||||
this.txtCheck5.Anchor = (System.Windows.Forms.AnchorStyles) (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.txtCheck5.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.txtCheck5.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.txtCheck5.BackColor = SystemColors.Control;
|
||||
this.txtCheck5.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.txtCheck5.Location = new System.Drawing.Point(129, 29);
|
||||
this.txtCheck5.Location = new Point(129, 29);
|
||||
this.txtCheck5.Multiline = true;
|
||||
this.txtCheck5.Name = "txtCheck5";
|
||||
this.txtCheck5.ReadOnly = true;
|
||||
this.txtCheck5.Size = new System.Drawing.Size(430, 97);
|
||||
this.txtCheck5.Size = new Size(430, 97);
|
||||
this.txtCheck5.TabIndex = 2;
|
||||
//
|
||||
//lblCheck5
|
||||
//
|
||||
this.lblCheck5.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.lblCheck5.Font = new System.Drawing.Font("Microsoft Sans Serif", (float) (12.0F), System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, System.Convert.ToByte(0));
|
||||
this.lblCheck5.Location = new System.Drawing.Point(112, 3);
|
||||
this.lblCheck5.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.lblCheck5.Font = new Font("Microsoft Sans Serif", 12.0F, FontStyle.Bold, System.Drawing.GraphicsUnit.Point, Convert.ToByte(0));
|
||||
this.lblCheck5.Location = new Point(112, 3);
|
||||
this.lblCheck5.Name = "lblCheck5";
|
||||
this.lblCheck5.Size = new System.Drawing.Size(447, 23);
|
||||
this.lblCheck5.Size = new Size(447, 23);
|
||||
this.lblCheck5.TabIndex = 1;
|
||||
this.lblCheck5.Text = "RDP check succeeded!";
|
||||
//
|
||||
//pbCheck5
|
||||
//
|
||||
this.pbCheck5.Anchor = (System.Windows.Forms.AnchorStyles) ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left);
|
||||
this.pbCheck5.Location = new System.Drawing.Point(3, 3);
|
||||
this.pbCheck5.Anchor = (System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left;
|
||||
this.pbCheck5.Location = new Point(3, 3);
|
||||
this.pbCheck5.Name = "pbCheck5";
|
||||
this.pbCheck5.Size = new System.Drawing.Size(72, 123);
|
||||
this.pbCheck5.Size = new Size(72, 123);
|
||||
this.pbCheck5.TabIndex = 0;
|
||||
this.pbCheck5.TabStop = false;
|
||||
//
|
||||
//btnCheckAgain
|
||||
//
|
||||
this.btnCheckAgain.Anchor = (System.Windows.Forms.AnchorStyles) (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right);
|
||||
this.btnCheckAgain.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
this.btnCheckAgain.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnCheckAgain.Location = new System.Drawing.Point(476, 842);
|
||||
this.btnCheckAgain.Location = new Point(476, 842);
|
||||
this.btnCheckAgain.Name = "btnCheckAgain";
|
||||
this.btnCheckAgain.Size = new System.Drawing.Size(104, 23);
|
||||
this.btnCheckAgain.Size = new Size(104, 23);
|
||||
this.btnCheckAgain.TabIndex = 0;
|
||||
this.btnCheckAgain.Text = "Check again";
|
||||
this.btnCheckAgain.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//chkAlwaysShow
|
||||
//
|
||||
this.chkAlwaysShow.Anchor = (System.Windows.Forms.AnchorStyles) (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left);
|
||||
this.chkAlwaysShow.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
|
||||
this.chkAlwaysShow.AutoSize = true;
|
||||
this.chkAlwaysShow.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.chkAlwaysShow.Location = new System.Drawing.Point(12, 846);
|
||||
this.chkAlwaysShow.Location = new Point(12, 846);
|
||||
this.chkAlwaysShow.Name = "chkAlwaysShow";
|
||||
this.chkAlwaysShow.Size = new System.Drawing.Size(185, 17);
|
||||
this.chkAlwaysShow.Size = new Size(185, 17);
|
||||
this.chkAlwaysShow.TabIndex = 51;
|
||||
this.chkAlwaysShow.Text = "Always show this screen at startup";
|
||||
this.chkAlwaysShow.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//pnlChecks
|
||||
//
|
||||
this.pnlChecks.Anchor = (System.Windows.Forms.AnchorStyles) (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right);
|
||||
this.pnlChecks.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right;
|
||||
this.pnlChecks.AutoScroll = true;
|
||||
this.pnlChecks.Controls.Add(this.pnlCheck1);
|
||||
this.pnlChecks.Controls.Add(this.pnlCheck2);
|
||||
this.pnlChecks.Controls.Add(this.pnlCheck3);
|
||||
this.pnlChecks.Controls.Add(this.pnlCheck5);
|
||||
this.pnlChecks.Controls.Add(this.pnlCheck4);
|
||||
this.pnlChecks.Location = new System.Drawing.Point(12, 12);
|
||||
this.pnlChecks.Location = new Point(12, 12);
|
||||
this.pnlChecks.Name = "pnlChecks";
|
||||
this.pnlChecks.Size = new System.Drawing.Size(568, 824);
|
||||
this.pnlChecks.Size = new Size(568, 824);
|
||||
this.pnlChecks.TabIndex = 52;
|
||||
//
|
||||
//ComponentsCheck
|
||||
//
|
||||
this.ClientSize = new System.Drawing.Size(592, 877);
|
||||
this.ClientSize = new Size(592, 877);
|
||||
this.Controls.Add(this.pnlChecks);
|
||||
this.Controls.Add(this.chkAlwaysShow);
|
||||
this.Controls.Add(this.btnCheckAgain);
|
||||
@@ -399,11 +399,11 @@ namespace mRemoteNG.UI.Window
|
||||
#endregion
|
||||
|
||||
#region Form Stuff
|
||||
private void ComponentsCheck_Load(object sender, System.EventArgs e)
|
||||
private void ComponentsCheck_Load(object sender, EventArgs e)
|
||||
{
|
||||
ApplyLanguage();
|
||||
|
||||
chkAlwaysShow.Checked = System.Convert.ToBoolean(My.Settings.Default.StartupComponentsCheck);
|
||||
chkAlwaysShow.Checked = Convert.ToBoolean(My.Settings.Default.StartupComponentsCheck);
|
||||
CheckComponents();
|
||||
}
|
||||
|
||||
@@ -415,12 +415,12 @@ namespace mRemoteNG.UI.Window
|
||||
btnCheckAgain.Text = My.Language.strCcCheckAgain;
|
||||
}
|
||||
|
||||
private void btnCheckAgain_Click(System.Object sender, System.EventArgs e)
|
||||
private void btnCheckAgain_Click(object sender, EventArgs e)
|
||||
{
|
||||
CheckComponents();
|
||||
}
|
||||
|
||||
private void chkAlwaysShow_CheckedChanged(System.Object sender, System.EventArgs e)
|
||||
private void chkAlwaysShow_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
My.Settings.Default.StartupComponentsCheck = chkAlwaysShow.Checked;
|
||||
My.Settings.Default.Save();
|
||||
@@ -451,9 +451,9 @@ namespace mRemoteNG.UI.Window
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
}
|
||||
|
||||
if (!(new Version(System.Convert.ToString(rdpClient.Version)) >= ProtocolRDP.Versions.RDC60))
|
||||
if (!(new Version(Convert.ToString(rdpClient.Version)) >= ProtocolRDP.Versions.RDC80))
|
||||
{
|
||||
throw (new Exception(string.Format("Found RDC Client version {0} but version {1} or higher is required.", rdpClient.Version, ProtocolRDP.Versions.RDC60)));
|
||||
throw (new Exception(string.Format("Found RDC Client version {0} but version {1} or higher is required.", rdpClient.Version, ProtocolRDP.Versions.RDC80)));
|
||||
}
|
||||
|
||||
pbCheck1.Image = My.Resources.Good_Symbol;
|
||||
@@ -519,7 +519,7 @@ namespace mRemoteNG.UI.Window
|
||||
}
|
||||
else
|
||||
{
|
||||
pPath = System.Convert.ToString(My.Settings.Default.CustomPuttyPath);
|
||||
pPath = Convert.ToString(My.Settings.Default.CustomPuttyPath);
|
||||
}
|
||||
|
||||
if (File.Exists(pPath))
|
||||
@@ -584,9 +584,9 @@ namespace mRemoteNG.UI.Window
|
||||
GeckoBad = true;
|
||||
}
|
||||
|
||||
if (Directory.Exists(System.Convert.ToString(My.Settings.Default.XULRunnerPath)))
|
||||
if (Directory.Exists(Convert.ToString(My.Settings.Default.XULRunnerPath)))
|
||||
{
|
||||
if (File.Exists(Path.Combine(System.Convert.ToString(My.Settings.Default.XULRunnerPath), "xpcom.dll")) == false)
|
||||
if (File.Exists(Path.Combine(Convert.ToString(My.Settings.Default.XULRunnerPath), "xpcom.dll")) == false)
|
||||
{
|
||||
GeckoBad = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user