Compare commits

...

33 Commits
1.60 ... 1.63

Author SHA1 Message Date
Riley McArdle
9a0f8881a7 Added build configuration for portable edition.
Fixes for portable edition.
Added missing Icons directory.
New build script to make release ZIPs and installer EXE.
2010-02-02 23:01:14 -06:00
Riley McArdle
7c41abb1b4 Updated Components Check to check for Remote Desktop Connection 6.1. 2010-02-02 20:57:10 -06:00
Riley McArdle
e3ae10518d Added PuTTY Settings item to tab context menu. 2010-02-01 03:58:45 -06:00
Riley McArdle
93eb34b71f Delete Interop.EOLWTSCOM.dll. 2010-02-01 03:13:50 -06:00
Riley McArdle
9ccf91ad74 Changed COM/ActiveX references to be dynamically created. 2010-02-01 03:13:00 -06:00
Riley McArdle
d44254f6b2 Popups can now be allowed in Internet Explorer by holding Ctrl+Alt when clicking a link. 2010-02-01 02:51:07 -06:00
Riley McArdle
6afe0c9748 Add Load/Save of RD Gateway information to SQL. 2010-02-01 01:16:56 -06:00
Riley McArdle
201d1b7b42 Add CREDITS.TXT. 2010-01-30 05:21:46 -06:00
Riley McArdle
61b3644a03 Changed exit confirmation from MsgBox to TaskDialog. 2010-01-30 03:43:55 -06:00
Riley McArdle
a5ac1284a2 More RD Gateway support additions. 2010-01-30 02:09:02 -06:00
Riley McArdle
090dc8b421 Added support for Credential Security Support Provider (CredSSP) which is required for Network Level Authentication (NLA). 2010-01-29 15:52:51 -06:00
Riley McArdle
e3730b4e1f Improved RDP error reporting.
Added Gateway config category.
More RD Gateway additions.
2010-01-29 01:32:51 -06:00
David Vidmar
e6ff376e5b Ignoring ReSharper cache folder. 2010-01-29 13:45:27 +08:00
Riley McArdle
829475567b More RD Gateway support additions. 2010-01-28 23:45:00 -06:00
Riley McArdle
ef983b90b2 Fixed flashing and red lines at bottom of the window on first run
Added View->Reset Layout menu item
Added F11 shortcut key to View->Full Screen
2010-01-27 01:42:38 -06:00
David Vidmar
122945b575 Removed some files from project that were missing and were not needed. 2010-01-27 07:21:40 +08:00
Riley McArdle
016fcb13f7 Started adding RD Gateway support. 2010-01-26 01:29:17 -06:00
Riley McArdle
6ef5c621e8 Fixed error if the mouse is clicked outside of the remote screen area of a VNC connection. 2010-01-24 19:08:51 -06:00
Riley McArdle
80a9c4de37 Fixed problems moving or resizing the main window while PuTTY (SSH/telnet/rlogin/raw) connections are open. Fixed PuTTY processes not closing on Vista and 7 with UAC enabled. Updated DockPanel Suite from 2.2.0 to 2.3.1. 2010-01-24 00:47:05 -06:00
Riley McArdle
d6f145ede7 New icon and logo. Changed fonts on About, Options and Update pages. 2010-01-20 17:23:09 -06:00
Riley McArdle
5fe4e9e058 Do not add language code to end of update download URL. 2010-01-19 22:10:18 -06:00
Riley McArdle
83ee8c160b Change version in installer to 1.62. Show password dialog if no password is saved for VNC connection. Added VncSharpNG.dll to source control. 2010-01-19 21:23:10 -06:00
Riley McArdle
681528cbd2 Fixed a bug with the inheritance buttons on the Config panel disappearing after awhile. 2010-01-19 01:39:08 -06:00
Riley McArdle
61db381eae Added RDP, VNC and ICA version numbers to Components Check page. Fixed check for VncSharpNG on Components Check page. 2010-01-19 01:15:15 -06:00
Riley McArdle
25e3919595 Renamed Quicky toolbar to Quick Connect toolbar. Changed back to allowing toolbars to dock to the left or right of the menu bar and added gripper to move it around. Added constants and cleaned up variable names in WndProc for frmMain. 2010-01-19 00:11:17 -06:00
Riley McArdle
2a5121d07a Only check for updates based on update frequency setting. Changed design of Check for Updates page. 2010-01-17 18:25:37 -06:00
Riley McArdle
149f5785ad Show Update Options page on first startup. Fixed persistence configuration for some settings. Code to load and save new update settings. 2010-01-17 16:20:15 -06:00
Riley McArdle
f80eadaa0d Switched VNC ViewOnly and Scaled functionality to use new properties in VncSharpNG. Adjusted the look of the About page. 2010-01-17 13:31:02 -06:00
Riley McArdle
f272af53d0 Merge Branch_1.60 back into master. 2010-01-17 00:23:51 -06:00
Riley McArdle
37854b1901 Switched to VncSharp, an open source VNC component. 2010-01-16 23:39:30 -06:00
Riley McArdle
11ed1b43ff Removed unlicensed SmartCode Solutions ViewerX VNC Viewer ActiveX. 2010-01-14 19:49:52 -06:00
Riley McArdle
7c151824f6 Changed version number to 1.61. No longer show About page on first run. Started adding code to open the Updates options tab before connecting for the first time. Moved Notifications settings from their own tab to the Tabs & Panels tab. Added Updates tab and moved updates settings to that tab. 2010-01-13 21:05:04 -06:00
Riley McArdle
9cb88bae36 Added more information to show for the uninstaller in Programs and Features control panel. 2010-01-11 23:03:04 -06:00
89 changed files with 2862 additions and 1607 deletions

6
.gitignore vendored
View File

@@ -1,8 +1,10 @@
Installer/bin
Release
mRemoteV1/bin
mRemoteV1/obj
mRemoteV1/publish
*.pfx
*.suo
*.vbproj.user
Thumbs.db
Thumbs.db
_ReSharper.*
*.resharper.user

32
BUILD.CMD Normal file
View File

@@ -0,0 +1,32 @@
@echo off
SET VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
SET DEVENV="devenv.exe"
SET MAKENSIS="%ProgramFiles(x86)%\NSIS\makensis.exe"
SET RAR="%ProgramFiles%\WinRAR\Rar.exe"
SET BINARYZIP="%~dp0\Release\mRemoteNG-1.63.zip"
SET PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-1.63.zip"
call %VCVARSALL% x86
rmdir /s /q "%~dp0\mRemoteV1\bin"
rmdir /s /q "%~dp0\mRemoteV1\obj"
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release"
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release Portable"
mkdir "%~dp0\Release"
%MAKENSIS% "%~dp0\Installer\mRemote.nsi"
del /f /q %BINARYZIP%
%RAR% a -m5 -r -ep1 %BINARYZIP% "%~dp0\mRemoteV1\bin\Release\*.*"
%RAR% a -m5 -r -ep1 %BINARYZIP% "%~dp0\Installer\Dependencies\*.*"
%RAR% a -m5 -ep %BINARYZIP% "%~dp0\*.TXT"
del /f /q %PORTABLEZIP%
%RAR% a -m5 -r -ep1 %PORTABLEZIP% "%~dp0\mRemoteV1\bin\Release Portable\*.*"
%RAR% a -m5 -r -ep1 %PORTABLEZIP% "%~dp0\Installer\Dependencies\*.*"
%RAR% a -m5 -ep %PORTABLEZIP% "%~dp0\*.TXT"

101
CREDITS.TXT Normal file
View File

@@ -0,0 +1,101 @@
Contributors
============
Felix Deimel
Riley McArdle
David Vidmar
Included Source Code
====================
Command Line Arguments Parser 1.0
Copyright <20> 2002 Richard Lopes
MIT License
http://www.codeproject.com/KB/recipes/command_line.aspx
Included Components
===================
ADTree 1.0
Copyright <20> 2004 Marc Merritt
Copyright <20> 2008 Felix Deimel
http://www.codeproject.com/KB/selection/ADPickerCtrl.aspx
DiffieHellman 1.0
Copyright <20> 2003 The Mentalis.org Team
Modified New BSD License
http://www.mentalis.org/
DockPanel Suite 2.3.1
Copyright <20> 2007 Weifen Luo
MIT License
http://sourceforge.net/projects/dockpanelsuite/
Emergent OnLine WTSCOM 2.0.6.0
Copyright <20> 2001-2003 Emergent OnLine
http://www.go-eol.com/
FilteredPropertyGrid 1.0.0.0
Copyright <20> 2006 Azuria
http://www.codeproject.com/KB/cs/FilteredPropertyGrid.aspx
GeckoFX 1.8.1.4
Copyright <20> 2008 Skybound Software
Mozilla Public License 1.1
http://www.geckofx.org/
IPTextBox 1.1
Copyright <20> 2006 Matthew Kleinwaks
Copyright <20> 2008 Felix Deimel
http://www.vbforums.com/showthread.php?t=430169
log4net 1.2.10.0
Copyright <20> 2001-2006 The Apache Software Foundation
Apache License Version 2.0
http://logging.apache.org/log4net/
Magic Library 1.7.4
Copyright <20> 2002-2003 Crownwood Consulting, Ltd.
Freely redistributable with attribution
http://www.dotnetmagic.com/magic_download.html
Mentalis.org Security Library 1.0.13.715
Copyright <20> 2002-2005 The Mentalis.org Team
Modified New BSD License
http://www.mentalis.org/
MiniGeckoBrowser 1.0
Copyright <20> 2008 Felix Deimel
http://www.appjuice.org/
MiniTabControl 1.0
Copyright <20> 2008 Felix Deimel
http://www.appjuice.org/
PuTTY 0.60
Copyright <20> 1997-2007 Simon Tatham
MIT License
http://www.chiark.greenend.org.uk/~sgtatham/putty/
SharpSSH 1.1.1.13
Copyright <20> 2002-2008 Atsuhiko Yamanaka, JCraft, Inc.
Copyright <20> 2007 Tamir Gal
BSD Style License
http://www.tamirgal.com/blog/page/SharpSSH.aspx
Silk Icon Set
Copyright <20> 2005-2008 FAMFAMFAM
Creative Commons Attribution 2.5 License
http://www.famfamfam.com/
Vista TaskDialog Wrapper and Emulator 1.0
Copyright <20> 2007-2009 Hedley Muscroft
Code Project Open License (CPOL)
http://www.codeproject.com/KB/vista/Vista_TaskDialog_Wrapper.aspx
VncSharp 1.0
Copyright <20> 2004-2009 David Humphrey
GNU General Public License (GPL) Version 2
http://cdot.senecac.on.ca/projects/vncsharp/

Binary file not shown.

View File

@@ -3,7 +3,7 @@
!insertmacro VersionCompare
!DEFINE PRODUCT_VERSION_MAJOR 1
!DEFINE PRODUCT_VERSION_MINOR 60
!DEFINE PRODUCT_VERSION_MINOR 63
!DEFINE PRODUCT_VERSION "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}"
!DEFINE PRODUCT_VERSION_LONG "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}.0.0"
@@ -13,7 +13,7 @@ Var InstallDotNET
; Basic Config
Name "mRemoteNG ${PRODUCT_VERSION}"
OutFile "bin\mRemoteNG-Installer-${PRODUCT_VERSION}.exe"
OutFile "..\Release\mRemoteNG-Installer-${PRODUCT_VERSION}.exe"
SetCompressor /SOLID lzma
InstallDir "$PROGRAMFILES\mRemoteNG"
InstallDirRegKey HKLM "Software\mRemoteNG" "InstallPath"
@@ -95,7 +95,6 @@ Section "" ; Install
; Register ActiveX components
RegDLL "$INSTDIR\eolwtscom.dll"
RegDLL "$INSTDIR\scvncctrl.dll"
; Start Menu
CreateDirectory "$SMPROGRAMS\mRemoteNG"
@@ -105,16 +104,22 @@ Section "" ; Install
; Registry
WriteRegStr HKLM "Software\mRemoteNG" "InstallPath" $INSTDIR
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayName" "mRemoteNG"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "Publisher" "mRemoteNG"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayIcon" "$INSTDIR\mRemoteNG.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "UninstallString" '"$INSTDIR\Uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "EstimatedSize" 6464
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayVersion" ${PRODUCT_VERSION}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMajor" ${PRODUCT_VERSION_MAJOR}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMinor" ${PRODUCT_VERSION_MINOR}
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "UninstallString" '"$INSTDIR\Uninstall.exe"'
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "NoRepair" 1
SectionEnd
Section "un.Uninstall"
; Unregister ActiveX components
UnregDLL "$INSTDIR\eolwtscom.dll"
UnregDLL "$INSTDIR\scvncctrl.dll"
; Delete Files
RMDIR /r $INSTDIR

View File

@@ -5,12 +5,18 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "mRemoteV1", "mRemoteV1\mRem
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug Portable|Any CPU = Debug Portable|Any CPU
Debug|Any CPU = Debug|Any CPU
Release Portable|Any CPU = Release Portable|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug Portable|Any CPU.ActiveCfg = Debug Portable|Any CPU
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug Portable|Any CPU.Build.0 = Debug Portable|Any CPU
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release Portable|Any CPU.ActiveCfg = Release Portable|Any CPU
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release Portable|Any CPU.Build.0 = Release Portable|Any CPU
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection

View File

@@ -11,15 +11,14 @@ Namespace App
Public Shared ReadOnly HomePath As String = My.Application.Info.DirectoryPath
Public Shared EncryptionKey As String = "mR3m"
Public Shared ReportingFilePath As String = ""
Public Shared SmartCodeURL As String = "http://www.s-code.com/products/viewerx/"
Public Shared FamFamFamURL As String = "http://www.famfamfam.com/"
End Class
Public Class Settings
'Exchange to make portable/normal
#If Not PORTABLE Then
Public Shared ReadOnly SettingsPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName
'Public Shared ReadOnly SettingsPath As String = My.Application.Info.DirectoryPath
#Else
Public Shared ReadOnly SettingsPath As String = My.Application.Info.DirectoryPath
#End If
Public Shared ReadOnly LayoutFileName As String = "pnlLayout.xml"
Public Shared ReadOnly ExtAppsFilesName As String = "extApps.xml"
End Class
@@ -37,7 +36,7 @@ Namespace App
Public Shared ReadOnly DefaultConnectionsPath As String = App.Info.Settings.SettingsPath
Public Shared ReadOnly DefaultConnectionsFile As String = "confCons.xml"
Public Shared ReadOnly DefaultConnectionsFileNew As String = "confConsNew.xml"
Public Shared ReadOnly ConnectionFileVersion As Double = 2.1
Public Shared ReadOnly ConnectionFileVersion As Double = 2.2
End Class
Public Class Credentials

View File

@@ -20,7 +20,7 @@ Namespace App
End Function
<DllImport("user32.dll")> _
Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer
Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Long) As Integer
End Function
<DllImport("user32.dll", SetLastError:=True)> _
@@ -117,6 +117,10 @@ Namespace App
Public Const MF_BYPOSITION As Integer = &H400
Public Const MF_POPUP As Integer = &H10
Public Const WM_GETTEXT As Integer = &HD
Public Const WM_ACTIVATEAPP As Integer = &H1C
Public Const WM_WINDOWPOSCHANGED As Integer = &H47
Public Const WM_SYSCOMMAND As Integer = &H112
Public Const WM_LBUTTONDOWN As Integer = &H201

View File

@@ -172,55 +172,26 @@ Namespace App
End Class
Public Class Startup
Public Shared Sub CreatePanels(Optional ByVal ShowDefault As Boolean = False)
Public Shared Sub CreatePanels()
Windows.configForm = New UI.Window.Config(Windows.configPanel)
Windows.configPanel = Windows.configForm
If ShowDefault Then
Windows.configPanel.Show(frmMain.pnlDock, DockState.DockLeft)
End If
Windows.treeForm = New UI.Window.Tree(Windows.treePanel)
Windows.treePanel = Windows.treeForm
Tree.Node.TreeView = Windows.treeForm.tvConnections
If ShowDefault Then
Windows.treePanel.Show(frmMain.pnlDock, DockState.DockLeft)
Windows.treePanel.DockTo(frmMain.pnlDock.Panes(frmMain.pnlDock.Panes.Count - 1), DockStyle.Top, 0)
End If
Windows.errorsForm = New UI.Window.ErrorsAndInfos(Windows.errorsPanel)
Windows.errorsPanel = Windows.errorsForm
If ShowDefault Then
Windows.errorsPanel.AutoHidePortion = 150
Windows.errorsPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
End If
Windows.sessionsForm = New UI.Window.Sessions(Windows.sessionsPanel)
Windows.sessionsPanel = Windows.sessionsForm
If ShowDefault Then
Windows.sessionsPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.sessionsPanel.DockTo(frmMain.pnlDock.Panes(frmMain.pnlDock.Panes.Count - 1), DockStyle.Bottom, 0)
End If
Windows.screenshotForm = New UI.Window.ScreenshotManager(Windows.screenshotPanel)
Windows.screenshotPanel = Windows.screenshotForm
If ShowDefault Then
Windows.screenshotPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.screenshotForm.Hide()
End If
Windows.quickyForm = New UI.Window.QuickConnect(Windows.quickyPanel)
Windows.quickyPanel = Windows.quickyForm
If ShowDefault Then
Windows.quickyPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.quickyForm.Hide()
End If
Windows.updateForm = New UI.Window.Update(Windows.updatePanel)
Windows.updatePanel = Windows.updateForm
@@ -228,6 +199,32 @@ Namespace App
Windows.AnnouncementPanel = Windows.AnnouncementForm
End Sub
Public Shared Sub SetDefaultLayout()
frmMain.pnlDock.Visible = False
Windows.configPanel.Show(frmMain.pnlDock, DockState.DockLeft)
Windows.treePanel.Show(frmMain.pnlDock, DockState.DockLeft)
For Each pane As DockPane In frmMain.pnlDock.Panes
If pane.DockState = DockState.DockLeft Then
Windows.treePanel.DockTo(pane, DockStyle.Top, 0)
Exit For
End If
Next
Windows.errorsPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.sessionsPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.screenshotPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.screenshotForm.Hide()
Windows.quickyPanel.Show(frmMain.pnlDock, DockState.DockBottomAutoHide)
Windows.quickyForm.Hide()
frmMain.pnlDock.Visible = True
End Sub
Public Shared Sub GetConnectionIcons()
Dim iPath As String = My.Application.Info.DirectoryPath & "\Icons\"
@@ -254,26 +251,33 @@ Namespace App
End Sub
Public Shared Sub UpdateCheck()
If My.Settings.CheckForUpdatesOnStartup Then
frmMain.tmrShowUpdate.Enabled = True
Windows.updateForm.CheckForUpdate()
AddHandler Windows.updateForm.UpdateCheckCompleted, AddressOf UpdateCheckComplete
If My.Settings.CheckForUpdatesAsked And My.Settings.CheckForUpdatesOnStartup Then
If My.Settings.UpdatePending Or My.Settings.CheckForUpdatesLastCheck < Date.Now.Subtract(TimeSpan.FromDays(My.Settings.CheckForUpdatesFrequencyDays)) Then
frmMain.tmrShowUpdate.Enabled = True
Windows.updateForm.CheckForUpdate()
AddHandler Windows.updateForm.UpdateCheckCompleted, AddressOf UpdateCheckComplete
End If
End If
End Sub
Private Shared Sub UpdateCheckComplete(ByVal UpdateAvailable As Boolean)
My.Settings.CheckForUpdatesLastCheck = Date.Now
My.Settings.UpdatePending = UpdateAvailable
IsUpdateAvailable = UpdateAvailable
End Sub
Public Shared Sub AnnouncementCheck()
If App.Editions.Spanlink.Enabled = False Then
frmMain.tmrShowUpdate.Enabled = True
Windows.AnnouncementForm.CheckForAnnouncement()
AddHandler Windows.AnnouncementForm.AnnouncementCheckCompleted, AddressOf AnnouncementCheckComplete
If My.Settings.CheckForUpdatesAsked And My.Settings.CheckForUpdatesOnStartup And App.Editions.Spanlink.Enabled = False Then
If My.Settings.CheckForUpdatesLastCheck < Date.Now.Subtract(TimeSpan.FromDays(My.Settings.CheckForUpdatesFrequencyDays)) Then
frmMain.tmrShowUpdate.Enabled = True
Windows.AnnouncementForm.CheckForAnnouncement()
AddHandler Windows.AnnouncementForm.AnnouncementCheckCompleted, AddressOf AnnouncementCheckComplete
End If
End If
End Sub
Private Shared Sub AnnouncementCheckComplete(ByVal AnnouncementAvailable As Boolean)
My.Settings.CheckForUpdatesLastCheck = Date.Now
IsAnnouncementAvailable = AnnouncementAvailable
End Sub
@@ -1184,7 +1188,7 @@ Namespace App
Next
If qHost <> "" Then
nCi.Name = "Quicky: " & qHost
nCi.Name = "Quick: " & qHost
nCi.Hostname = qHost
nCi.Port = qPort
nCi.IsQuicky = True
@@ -1202,7 +1206,7 @@ Namespace App
'--------
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Creating quicky failed" & vbNewLine & ex.Message)
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Creating quick connect failed" & vbNewLine & ex.Message)
End Try
Return Nothing
@@ -1424,10 +1428,16 @@ Namespace App
mC.AddMessage(Messages.MessageClass.InformationMsg, "Protocol Event Disconnected" & vbNewLine & "Message: " & DisconnectedMessage, True)
Dim Prot As Connection.Protocol.Base = sender
If Prot.InterfaceControl.Info.Protocol = Connection.Protocol.Protocols.RDP Then
If DisconnectedMessage > 3 Then
mC.AddMessage(Messages.MessageClass.WarningMsg, "RDP Disconnected!" & vbNewLine & "Error Code: " & DisconnectedMessage & vbNewLine & "Error Description: " & Connection.Protocol.RDP.DisconnectionErrors.GetError(DisconnectedMessage))
Dim Reason As String() = DisconnectedMessage.Split(vbCrLf)
Dim ReasonCode As String = Reason(0)
Dim ReasonDescription As String = Reason(1)
If ReasonCode > 3 Then
If ReasonDescription <> "" Then
mC.AddMessage(Messages.MessageClass.WarningMsg, "RDP Disconnected!" & vbNewLine & ReasonDescription & vbNewLine & "Error code " & ReasonCode & ".")
Else
mC.AddMessage(Messages.MessageClass.WarningMsg, "RDP Disconnected!" & vbNewLine & "Error code " & ReasonCode & ".")
End If
End If
End If
Catch ex As Exception
@@ -1520,7 +1530,7 @@ Namespace App
Public Shared Sub GoToURL(ByVal URL As String)
Dim cI As New mRemote.Connection.Info
cI.Name = "Website"
cI.Name = ""
cI.Hostname = URL
If URL.StartsWith("https:") Then
cI.Protocol = Connection.Protocol.Protocols.HTTPS
@@ -1632,6 +1642,17 @@ Namespace App
Return Nothing
End Function
' Override the font of all controls in a container with the default font based on the OS version
Public Shared Sub FontOverride(ByRef ctlParent As Control)
Dim ctlChild As Control
For Each ctlChild In ctlParent.Controls
ctlChild.Font = New System.Drawing.Font(SystemFonts.MessageBoxFont.Name, ctlChild.Font.Size, ctlChild.Font.Style, ctlChild.Font.Unit, ctlChild.Font.GdiCharSet)
If ctlChild.Controls.Count > 0 Then
FontOverride(ctlChild)
End If
Next
End Sub
#End Region
#Region "SQL Watcher"

View File

@@ -75,7 +75,7 @@ Namespace App
'get Download URL
Dim strU As String = ""
strU = strUpdate.Substring(strUpdate.IndexOf("dURL: ") + 6, strUpdate.IndexOf(vbNewLine) - 6).Replace(".exe", "_" & Language.Base.CurrentLanguage.ToString & ".exe")
strU = strUpdate.Substring(strUpdate.IndexOf("dURL: ") + 6, strUpdate.IndexOf(vbNewLine) - 6)
uI.DownloadUrl = strU
@@ -125,7 +125,7 @@ Namespace App
_curUI.UpdateLocation = My.Computer.FileSystem.SpecialDirectories.Temp & "\mRemote_Update.exe"
wCl.DownloadFileAsync(New Uri(dURL), _curUI.UpdateLocation)
Return True
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.WarningMsg, "Update download failed" & vbNewLine & ex.Message, True)

View File

@@ -1,4 +1,39 @@
1.60:
1.63:
New icon and logo
Fixed problems moving or resizing the main window while PuTTY (SSH/telnet/rlogin/raw) connections are open
Fixed PuTTY processes not closing on Vista and 7 with UAC enabled
Updated DockPanel Suite from 2.2.0 to 2.3.1
Fixed error if the mouse is clicked outside of the remote screen area of a VNC connection
Fixed flashing and red lines at bottom of the window on first run
Added View->Reset Layout menu item
Added F11 shortcut key to View->Full Screen
Improved RDP error reporting
Added support for Credential Security Support Provider (CredSSP) which is required for Network Level Authentication (NLA)
Added support for connecting through Remote Desktop Gateway servers
Popups can now be allowed in Internet Explorer by holding Ctrl+Alt when clicking a link
Added PuTTY Settings item to tab context menu
1.62:
Switched to VncSharp, an open source VNC component
VNC is supported again except for the following features:
Windows authentication
Setting the compression, encoding and color settings
Connecting through a proxy server
Free SmartSize mode (it does the same thing as Aspect SmartSize mode now)
Rearranged the Options page and added an Updates tab
Added option to change how often updates are checked
Open Updates options tab before connecting for the first time
No longer show About page on first run
Renamed Quicky toolbar to Quick Connect toolbar
Changed back to allowing toolbars to dock to the left or right of the menu bar and added gripper to move it around
Added RDP, VNC and ICA version numbers to Components Check page
Fixed a bug with the inheritance buttons on the Config panel disappearing after awhile
1.61:
Removed unlicensed SmartCode Solutions ViewerX VNC Viewer ActiveX
This version of mRemoteNG does not support VNC
1.60:
Changed name to mRemoteNG
Fixed menu bar not staying docked to left side
Removed snakes game Easter egg

View File

@@ -536,6 +536,20 @@ Namespace Config
conI.Inherit.ExtApp = .Item("InheritExtApp")
End If
If Me.confVersion >= 2.2 Then
conI.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod), .Item("RDGatewayUsageMethod"))
conI.RDGatewayHostname = .Item("RDGatewayHostname")
conI.RDGatewayUseConnectionCredentials = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials), .Item("RDGatewayUseConnectionCredentials"))
conI.RDGatewayUsername = .Item("RDGatewayUsername")
conI.RDGatewayPassword = Security.Crypt.Decrypt(.Item("RDGatewayPassword"), pW)
conI.RDGatewayDomain = .Item("RDGatewayDomain")
conI.Inherit.RDGatewayUsageMethod = .Item("InheritRDGatewayUsageMethod")
conI.Inherit.RDGatewayHostname = .Item("InheritRDGatewayHostname")
conI.Inherit.RDGatewayUsername = .Item("InheritRDGatewayUsername")
conI.Inherit.RDGatewayPassword = .Item("InheritRDGatewayPassword")
conI.Inherit.RDGatewayDomain = .Item("InheritRDGatewayDomain")
End If
If SQLUpdate = True Then
conI.PleaseConnect = .Item("Connected")
End If
@@ -973,6 +987,20 @@ Namespace Config
conI.ExtApp = .Attributes("ExtApp").Value
conI.Inherit.ExtApp = .Attributes("InheritExtApp").Value
End If
If Me.confVersion > 2.1 Then '2.2
conI.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod), .Attributes("RDGatewayUsageMethod").Value)
conI.RDGatewayHostname = .Attributes("RDGatewayHostname").Value
conI.RDGatewayUseConnectionCredentials = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials), .Attributes("RDGatewayUseConnectionCredentials").Value)
conI.RDGatewayUsername = .Attributes("RDGatewayUsername").Value
conI.RDGatewayPassword = Security.Crypt.Decrypt(.Attributes("RDGatewayPassword").Value, pW)
conI.RDGatewayDomain = .Attributes("RDGatewayDomain").Value
conI.Inherit.RDGatewayUsageMethod = .Attributes("InheritRDGatewayUsageMethod").Value
conI.Inherit.RDGatewayHostname = .Attributes("InheritRDGatewayHostname").Value
conI.Inherit.RDGatewayUsername = .Attributes("InheritRDGatewayUsername").Value
conI.Inherit.RDGatewayPassword = .Attributes("InheritRDGatewayPassword").Value
conI.Inherit.RDGatewayDomain = .Attributes("InheritRDGatewayDomain").Value
End If
End With
Return conI

View File

@@ -227,7 +227,9 @@ Namespace Config
"RedirectPrinters, RedirectSmartCards, RedirectSound, RedirectKeys, " & _
"Connected, PreExtApp, PostExtApp, MacAddress, UserField, ExtApp, VNCCompression, VNCEncoding, VNCAuthMode, " & _
"VNCProxyType, VNCProxyIP, VNCProxyPort, VNCProxyUsername, VNCProxyPassword, " & _
"VNCColors, VNCSmartSizeMode, VNCViewOnly, InheritCacheBitmaps, InheritColors, " & _
"VNCColors, VNCSmartSizeMode, VNCViewOnly, " & _
"RDGatewayUsageMethod, RDGatewayHostname, RDGatewayUseConnectionCredentials, RDGatewayUsername, RDGatewayPassword, RDGatewayDomain, " & _
"InheritCacheBitmaps, InheritColors, " & _
"InheritDescription, InheritDisplayThemes, InheritDisplayWallpaper, InheritDomain, " & _
"InheritIcon, InheritPanel, InheritPassword, InheritPort, " & _
"InheritProtocol, InheritPuttySession, InheritRedirectDiskDrives, " & _
@@ -238,6 +240,7 @@ Namespace Config
"InheritVNCAuthMode, InheritVNCProxyType, InheritVNCProxyIP, InheritVNCProxyPort, " & _
"InheritVNCProxyUsername, InheritVNCProxyPassword, InheritVNCColors, " & _
"InheritVNCSmartSizeMode, InheritVNCViewOnly, " & _
"InheritRDGatewayUsageMethod, InheritRDGatewayHostname, InheritRDGatewayUseConnectionCredentials, InheritRDGatewayUsername, InheritRDGatewayPassword, InheritRDGatewayDomain, " & _
"PositionID, ParentID, ConstantID, LastChange)" & _
"VALUES (", sqlCon)
@@ -340,6 +343,28 @@ Namespace Config
sqlQuery.CommandText &= "'" & .VNCSmartSizeMode.ToString & "',"
sqlQuery.CommandText &= "'" & .VNCViewOnly & "',"
sqlQuery.CommandText &= "'" & .RDGatewayUsageMethod.ToString & "',"
sqlQuery.CommandText &= "'" & .RDGatewayHostname & "',"
sqlQuery.CommandText &= "'" & .RDGatewayUseConnectionCredentials.ToString & "',"
If Me._SaveSecurity.Username = True Then
sqlQuery.CommandText &= "'" & .RDGatewayUsername & "',"
Else
sqlQuery.CommandText &= "'" & "" & "',"
End If
If Me._SaveSecurity.Password = True Then
sqlQuery.CommandText &= "'" & .RDGatewayPassword & "',"
Else
sqlQuery.CommandText &= "'" & "" & "',"
End If
If Me._SaveSecurity.Domain = True Then
sqlQuery.CommandText &= "'" & .RDGatewayDomain & "',"
Else
sqlQuery.CommandText &= "'" & "" & "',"
End If
With .Inherit
If Me._SaveSecurity.Inheritance = True Then
sqlQuery.CommandText &= "'" & .CacheBitmaps & "',"
@@ -383,6 +408,13 @@ Namespace Config
sqlQuery.CommandText &= "'" & .VNCColors & "',"
sqlQuery.CommandText &= "'" & .VNCSmartSizeMode & "',"
sqlQuery.CommandText &= "'" & .VNCViewOnly & "',"
sqlQuery.CommandText &= "'" & .RDGatewayUsageMethod & "',"
sqlQuery.CommandText &= "'" & .RDGatewayHostname & "',"
sqlQuery.CommandText &= "'" & .RDGatewayUseConnectionCredentials & "',"
sqlQuery.CommandText &= "'" & .RDGatewayUsername & "',"
sqlQuery.CommandText &= "'" & .RDGatewayPassword & "',"
sqlQuery.CommandText &= "'" & .RDGatewayDomain & "',"
Else
sqlQuery.CommandText &= "'" & False & "',"
sqlQuery.CommandText &= "'" & False & "',"
@@ -425,6 +457,13 @@ Namespace Config
sqlQuery.CommandText &= "'" & False & "',"
sqlQuery.CommandText &= "'" & False & "',"
sqlQuery.CommandText &= "'" & False & "',"
sqlQuery.CommandText &= "'" & False & "'," ' .RDGatewayUsageMethod
sqlQuery.CommandText &= "'" & False & "'," ' .RDGatewayHostname
sqlQuery.CommandText &= "'" & False & "'," ' .RDGatewayUseConnectionCredentials
sqlQuery.CommandText &= "'" & False & "'," ' .RDGatewayUsername
sqlQuery.CommandText &= "'" & False & "'," ' .RDGatewayPassword
sqlQuery.CommandText &= "'" & False & "'," ' .RDGatewayDomain
End If
End With
@@ -638,6 +677,29 @@ Namespace Config
xW.WriteAttributeString("VNCSmartSizeMode", "", curConI.VNCSmartSizeMode.ToString)
xW.WriteAttributeString("VNCViewOnly", "", curConI.VNCViewOnly)
xW.WriteAttributeString("RDGatewayUsageMethod", "", curConI.RDGatewayUsageMethod.ToString)
xW.WriteAttributeString("RDGatewayHostname", "", curConI.RDGatewayHostname)
xW.WriteAttributeString("RDGatewayUseConnectionCredentials", "", curConI.RDGatewayUseConnectionCredentials.ToString)
If Me._SaveSecurity.Username = True Then
xW.WriteAttributeString("RDGatewayUsername", "", curConI.RDGatewayUsername)
Else
xW.WriteAttributeString("RDGatewayUsername", "", "")
End If
If Me._SaveSecurity.Password = True Then
xW.WriteAttributeString("RDGatewayPassword", "", curConI.RDGatewayPassword)
Else
xW.WriteAttributeString("RDGatewayPassword", "", "")
End If
If Me._SaveSecurity.Domain = True Then
xW.WriteAttributeString("RDGatewayDomain", "", curConI.RDGatewayDomain)
Else
xW.WriteAttributeString("RDGatewayDomain", "", "")
End If
If Me._SaveSecurity.Inheritance = True Then
xW.WriteAttributeString("InheritCacheBitmaps", "", curConI.Inherit.CacheBitmaps)
xW.WriteAttributeString("InheritColors", "", curConI.Inherit.Colors)
@@ -679,6 +741,12 @@ Namespace Config
xW.WriteAttributeString("InheritVNCColors", "", curConI.Inherit.VNCColors)
xW.WriteAttributeString("InheritVNCSmartSizeMode", "", curConI.Inherit.VNCSmartSizeMode)
xW.WriteAttributeString("InheritVNCViewOnly", "", curConI.Inherit.VNCViewOnly)
xW.WriteAttributeString("InheritRDGatewayUsageMethod", "", curConI.Inherit.RDGatewayUsageMethod)
xW.WriteAttributeString("InheritRDGatewayHostname", "", curConI.Inherit.RDGatewayHostname)
xW.WriteAttributeString("InheritRDGatewayUseConnectionCredentials", "", curConI.Inherit.RDGatewayUseConnectionCredentials)
xW.WriteAttributeString("InheritRDGatewayUsername", "", curConI.Inherit.RDGatewayUsername)
xW.WriteAttributeString("InheritRDGatewayPassword", "", curConI.Inherit.RDGatewayPassword)
xW.WriteAttributeString("InheritRDGatewayDomain", "", curConI.Inherit.RDGatewayDomain)
Else
xW.WriteAttributeString("InheritCacheBitmaps", "", False)
xW.WriteAttributeString("InheritColors", "", False)
@@ -720,6 +788,11 @@ Namespace Config
xW.WriteAttributeString("InheritVNCColors", "", False)
xW.WriteAttributeString("InheritVNCSmartSizeMode", "", False)
xW.WriteAttributeString("InheritVNCViewOnly", "", False)
xW.WriteAttributeString("InheritRDGatewayHostname", "", False)
xW.WriteAttributeString("InheritRDGatewayUseConnectionCredentials", "", False)
xW.WriteAttributeString("InheritRDGatewayUsername", "", False)
xW.WriteAttributeString("InheritRDGatewayPassword", "", False)
xW.WriteAttributeString("InheritRDGatewayDomain", "", False)
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SaveConnectionFields failed" & vbNewLine & ex.Message, True)
@@ -727,8 +800,9 @@ Namespace Config
End Sub
#End Region
Private csvWr As StreamWriter
#Region "CSV"
Private csvWr As StreamWriter
Private Sub SaveTomRCSV()
If App.Runtime.ConnectionsFileLoaded = False Then
Exit Sub
@@ -759,13 +833,12 @@ Namespace Config
csvLn += "Domain;"
End If
csvLn += "Hostname;Protocol;PuttySession;Port;ConnectToConsole;RenderingEngine;ICAEncryptionStrength;RDPAuthenticationLevel;Colors;Resolution;DisplayWallpaper;DisplayThemes;CacheBitmaps;RedirectDiskDrives;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;RedirectKeys;PreExtApp;PostExtApp;MacAddress;UserField;ExtApp;VNCCompression;VNCEncoding;VNCAuthMode;VNCProxyType;VNCProxyIP;VNCProxyPort;VNCProxyUsername;VNCProxyPassword;VNCColors;VNCSmartSizeMode;VNCViewOnly;"
csvLn += "Hostname;Protocol;PuttySession;Port;ConnectToConsole;RenderingEngine;ICAEncryptionStrength;RDPAuthenticationLevel;Colors;Resolution;DisplayWallpaper;DisplayThemes;CacheBitmaps;RedirectDiskDrives;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;RedirectKeys;PreExtApp;PostExtApp;MacAddress;UserField;ExtApp;VNCCompression;VNCEncoding;VNCAuthMode;VNCProxyType;VNCProxyIP;VNCProxyPort;VNCProxyUsername;VNCProxyPassword;VNCColors;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
If SaveSecurity.Inheritance Then
csvLn += "InheritCacheBitmaps;InheritColors;InheritDescription;InheritDisplayThemes;InheritDisplayWallpaper;InheritDomain;InheritIcon;InheritPanel;InheritPassword;InheritPort;InheritProtocol;InheritPuttySession;InheritRedirectDiskDrives;InheritRedirectKeys;InheritRedirectPorts;InheritRedirectPrinters;InheritRedirectSmartCards;InheritRedirectSound;InheritResolution;InheritUseConsoleSession;InheritRenderingEngine;InheritUsername;InheritICAEncryptionStrength;InheritRDPAuthenticationLevel;InheritPreExtApp;InheritPostExtApp;InheritMacAddress;InheritUserField;InheritExtApp;InheritVNCCompression;InheritVNCEncoding;InheritVNCAuthMode;InheritVNCProxyType;InheritVNCProxyIP;InheritVNCProxyPort;InheritVNCProxyUsername;InheritVNCProxyPassword;InheritVNCColors;InheritVNCSmartSizeMode;InheritVNCViewOnly"
csvLn += "InheritCacheBitmaps;InheritColors;InheritDescription;InheritDisplayThemes;InheritDisplayWallpaper;InheritDomain;InheritIcon;InheritPanel;InheritPassword;InheritPort;InheritProtocol;InheritPuttySession;InheritRedirectDiskDrives;InheritRedirectKeys;InheritRedirectPorts;InheritRedirectPrinters;InheritRedirectSmartCards;InheritRedirectSound;InheritResolution;InheritUseConsoleSession;InheritRenderingEngine;InheritUsername;InheritICAEncryptionStrength;InheritRDPAuthenticationLevel;InheritPreExtApp;InheritPostExtApp;InheritMacAddress;InheritUserField;InheritExtApp;InheritVNCCompression;InheritVNCEncoding;InheritVNCAuthMode;InheritVNCProxyType;InheritVNCProxyIP;InheritVNCProxyPort;InheritVNCProxyUsername;InheritVNCProxyPassword;InheritVNCColors;InheritVNCSmartSizeMode;InheritVNCViewOnly;InheritRDGatewayUsageMethod;InheritRDGatewayHostname;InheritRDGatewayUseConnectionCredentials;InheritRDGatewayUsername;InheritRDGatewayPassword;InheritRDGatewayDomain"
End If
csvWr.WriteLine(csvLn)
SaveNodemRCSV(tNC)

View File

@@ -26,9 +26,15 @@ Namespace Config
Public Sub Load()
Try
With Me._MainForm
' Migrate settings from previous version
If My.Settings.DoUpgrade Then
My.Settings.Upgrade()
My.Settings.DoUpgrade = False
' Clear pending update flag
' This is used for automatic updates, not for settings migration, but it
' needs to be cleared here because we know that we just updated.
My.Settings.UpdatePending = False
End If
If My.Settings.MainFormLocation <> New Point(999, 999) Then
@@ -79,9 +85,9 @@ Namespace Config
Me.LoadExternalAppsFromXML()
If My.Settings.ResetToolbars = False Then
Me.LoadToolbarsFromSettings()
LoadToolbarsFromSettings()
Else
Me.SetToolbarsDefault()
SetToolbarsDefault()
End If
End With
Catch ex As Exception
@@ -152,16 +158,12 @@ Namespace Config
dc.Close()
Loop
.pnlDock.SuspendLayout(True)
Startup.CreatePanels()
If File.Exists(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName) And My.Settings.ResetPanels = False Then
Startup.CreatePanels()
.pnlDock.LoadFromXml(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName, AddressOf GetContentFromPersistString)
Else
Startup.CreatePanels(True)
Startup.SetDefaultLayout()
End If
.pnlDock.ResumeLayout(True, True)
End With
Catch ex As Exception
App.Runtime.log.Error("LoadPanelsFromXML failed" & vbNewLine & ex.Message)

View File

@@ -6,15 +6,13 @@ Namespace Config
Namespace Settings
Namespace Providers
Public Class ChooseProvider
'Exchange to make portable/normal
#If Not PORTABLE Then
Inherits LocalFileSettingsProvider
'Inherits PortableSettingsProvider
#Else
Inherits PortableSettingsProvider
#End If
End Class
Public Class PortableSettingsProvider
Inherits SettingsProvider
@@ -145,13 +143,17 @@ Namespace Config
End Try
'Check to see if the node exists, if so then set its new value
If Not SettingNode Is Nothing Then
SettingNode.InnerText = propVal.SerializedValue.ToString
If SettingNode IsNot Nothing Then
If propVal.SerializedValue IsNot Nothing Then
SettingNode.InnerText = propVal.SerializedValue.ToString
End If
Else
If IsRoaming(propVal.Property) Then
'Store the value as an element of the Settings Root Node
SettingNode = SettingsXML.CreateElement(propVal.Name)
SettingNode.InnerText = propVal.SerializedValue.ToString
If propVal.SerializedValue IsNot Nothing Then
SettingNode.InnerText = propVal.SerializedValue.ToString
End If
SettingsXML.SelectSingleNode(SETTINGSROOT).AppendChild(SettingNode)
Else
'Its machine specific, store as an element of the machine name node,
@@ -169,10 +171,14 @@ Namespace Config
End If
SettingNode = SettingsXML.CreateElement(propVal.Name)
SettingNode.InnerText = propVal.SerializedValue.ToString
If propVal.SerializedValue IsNot Nothing Then
SettingNode.InnerText = propVal.SerializedValue.ToString
End If
MachineNode.AppendChild(SettingNode)
End If
End If
End Sub
Private Function IsRoaming(ByVal prop As SettingsProperty) As Boolean

View File

@@ -1,9 +1,6 @@
Imports System.Windows.Forms
Imports System.Threading
Imports System.ComponentModel
Imports mRemote.Tools.Controls
Imports mRemote.Tools.Misc.PropertyGridCategory
Imports mRemote.Tools.Misc.PropertyGridValue
Imports mRemote.App.Runtime
Namespace Connection
@@ -414,9 +411,169 @@ Namespace Connection
End Set
End Property
#End Region
#Region "4 Appearance"
#Region "4 RD Gateway"
Private _RDGatewayUsageMethod As mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDGatewayUsageMethod), My.Settings.ConDefaultRDGatewayUsageMethod)
<Category(Category4 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Props_RDGatewayUsageMethod), _
Description(Language.Base.Descr_RDGatewayUsageMethod), _
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
Public Property RDGatewayUsageMethod() As mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod
Get
If Me._Inherit.RDGatewayUsageMethod And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
If Me._IsContainer Then
Dim curCont As Container.Info = Me._Parent
Dim parCont As Container.Info = curCont.Parent
parCon = parCont.ConnectionInfo
End If
Return parCon.RDGatewayUsageMethod
Else
Return _RDGatewayUsageMethod
End If
End Get
Set(ByVal value As mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod)
_RDGatewayUsageMethod = value
End Set
End Property
Private _RDGatewayHostname As String
<Category(Category4 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Props_RDGatewayHostname), _
Description(Language.Base.Descr_RDGatewayHostname)> _
Public Property RDGatewayHostname() As String
Get
If Me._Inherit.RDGatewayHostname And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
If Me._IsContainer = True Then
Dim curCont As Container.Info = Me._Parent
Dim parCont As Container.Info = curCont.Parent
parCon = parCont.ConnectionInfo
End If
Return parCon.RDGatewayHostname
Else
Return Me._RDGatewayHostname
End If
End Get
Set(ByVal value As String)
Me._RDGatewayHostname = value
End Set
End Property
Private _RDGatewayUseConnectionCredentials As mRemote.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDGatewayUseConnectionCredentials), My.Settings.ConDefaultRDGatewayUseConnectionCredentials)
<Category(Category4 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Props_RDGatewayUseConnectionCredentials), _
Description(Language.Base.Descr_RDGatewayUseConnectionCredentials), _
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
Public Property RDGatewayUseConnectionCredentials() As mRemote.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials
Get
If Me._Inherit.RDGatewayUseConnectionCredentials And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
If Me._IsContainer Then
Dim curCont As Container.Info = Me._Parent
Dim parCont As Container.Info = curCont.Parent
parCon = parCont.ConnectionInfo
End If
Return parCon.RDGatewayUseConnectionCredentials
Else
Return _RDGatewayUseConnectionCredentials
End If
End Get
Set(ByVal value As mRemote.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials)
_RDGatewayUseConnectionCredentials = value
End Set
End Property
Private _RDGatewayUsername As String
<Category(Category4 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Props_RDGatewayUsername), _
Description(Language.Base.Descr_RDGatewayUsername)> _
Public Property RDGatewayUsername() As String
Get
If Me._Inherit.RDGatewayUsername And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
If Me._IsContainer = True Then
Dim curCont As Container.Info = Me._Parent
Dim parCont As Container.Info = curCont.Parent
parCon = parCont.ConnectionInfo
End If
Return parCon.RDGatewayUsername
Else
Return Me._RDGatewayUsername
End If
End Get
Set(ByVal value As String)
Me._RDGatewayUsername = value
End Set
End Property
Private _RDGatewayPassword As String
<Category(Category4 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Props_RDGatewayPassword), _
Description(Language.Base.Descr_RDGatewayPassword), _
PasswordPropertyText(True)> _
Public Property RDGatewayPassword() As String
Get
If Me._Inherit.RDGatewayPassword And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
If Me._IsContainer = True Then
Dim curCont As Container.Info = Me._Parent
Dim parCont As Container.Info = curCont.Parent
parCon = parCont.ConnectionInfo
End If
Return parCon.RDGatewayPassword
Else
Return Me._RDGatewayPassword
End If
End Get
Set(ByVal value As String)
Me._RDGatewayPassword = value
End Set
End Property
Private _RDGatewayDomain As String
<Category(Category4 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Props_RDGatewayDomain), _
Description(Language.Base.Descr_RDGatewayDomain)> _
Public Property RDGatewayDomain() As String
Get
If Me._Inherit.RDGatewayDomain And Me._Parent IsNot Nothing Then
Dim parCon As Connection.Info = TryCast(Me._Parent, Container.Info).ConnectionInfo
If Me._IsContainer = True Then
Dim curCont As Container.Info = Me._Parent
Dim parCont As Container.Info = curCont.Parent
parCon = parCont.ConnectionInfo
End If
Return parCon.RDGatewayDomain
Else
Return Me._RDGatewayDomain
End If
End Get
Set(ByVal value As String)
Me._RDGatewayDomain = value
End Set
End Property
#End Region
#Region "5 Appearance"
Private _Resolution As Connection.Protocol.RDP.RDPResolutions = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDPResolutions), My.Settings.ConDefaultResolution)
<Category(Category4 & Language.Base.Props_Appearance), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Props_Resolution), _
Description(Language.Base.Descr_Resolution), _
@@ -443,7 +600,7 @@ Namespace Connection
End Property
Private _Colors As Connection.Protocol.RDP.RDPColors = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDPColors), My.Settings.ConDefaultColors)
<Category(Category4 & Language.Base.Props_Appearance), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Props_Colors), _
Description(Language.Base.Descr_Colors), _
@@ -470,7 +627,7 @@ Namespace Connection
End Property
Private _CacheBitmaps As Boolean = My.Settings.ConDefaultCacheBitmaps
<Category(Category4 & Language.Base.Props_Appearance), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Props_CacheBitmaps), _
Description(Language.Base.Descr_CacheBitmaps), _
@@ -497,7 +654,7 @@ Namespace Connection
End Property
Private _DisplayWallpaper As Boolean = My.Settings.ConDefaultDisplayWallpaper
<Category(Category4 & Language.Base.Props_Appearance), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Props_DisplayWallpaper), _
Description(Language.Base.Descr_DisplayWallpaper), _
@@ -524,7 +681,7 @@ Namespace Connection
End Property
Private _DisplayThemes As Boolean = My.Settings.ConDefaultDisplayThemes
<Category(Category4 & Language.Base.Props_Appearance), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Props_DisplayThemes), _
Description(Language.Base.Descr_DisplayThemes), _
@@ -550,9 +707,9 @@ Namespace Connection
End Set
End Property
#End Region
#Region "5 Redirect"
#Region "6 Redirect"
Private _RedirectKeys As Boolean = My.Settings.ConDefaultRedirectKeys
<Category(Category5 & Language.Base.Props_Redirect), _
<Category(Category6 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Props_RedKeyCombinations), _
Description(Language.Base.Descr_RedKeyCombinations), _
@@ -579,7 +736,7 @@ Namespace Connection
End Property
Private _RedirectDiskDrives As Boolean = My.Settings.ConDefaultRedirectDiskDrives
<Category(Category5 & Language.Base.Props_Redirect), _
<Category(Category6 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Props_RedDiskDrives), _
Description(Language.Base.Descr_RedDiskDrives), _
@@ -606,7 +763,7 @@ Namespace Connection
End Property
Private _RedirectPrinters As Boolean = My.Settings.ConDefaultRedirectPrinters
<Category(Category5 & Language.Base.Props_Redirect), _
<Category(Category6 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Props_RedPrinters), _
Description(Language.Base.Descr_RedPrinters), _
@@ -633,7 +790,7 @@ Namespace Connection
End Property
Private _RedirectPorts As Boolean = My.Settings.ConDefaultRedirectPorts
<Category(Category5 & Language.Base.Props_Redirect), _
<Category(Category6 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Props_RedPorts), _
Description(Language.Base.Descr_RedPorts), _
@@ -660,7 +817,7 @@ Namespace Connection
End Property
Private _RedirectSmartCards As Boolean = My.Settings.ConDefaultRedirectSmartCards
<Category(Category5 & Language.Base.Props_Redirect), _
<Category(Category6 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Props_RedSmartCards), _
Description(Language.Base.Descr_RedSmartCards), _
@@ -687,7 +844,7 @@ Namespace Connection
End Property
Private _RedirectSound As Connection.Protocol.RDP.RDPSounds = Tools.Misc.StringToEnum(GetType(Connection.Protocol.RDP.RDPSounds), My.Settings.ConDefaultRedirectSound)
<Category(Category5 & Language.Base.Props_Redirect), _
<Category(Category6 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Props_RedSounds), _
Description(Language.Base.Descr_RedSound), _
@@ -713,9 +870,9 @@ Namespace Connection
End Set
End Property
#End Region
#Region "6 Misc"
#Region "7 Misc"
Private _PreExtApp As String = My.Settings.ConDefaultPreExtApp
<Category(Category6 & Language.Base.Props_Misc), _
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Props_PreExtApp), _
Description(Language.Base.Descr_PreExtApp), _
@@ -742,7 +899,7 @@ Namespace Connection
End Property
Private _PostExtApp As String = My.Settings.ConDefaultPostExtApp
<Category(Category6 & Language.Base.Props_Misc), _
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Props_PostExtApp), _
Description(Language.Base.Descr_PostExtApp), _
@@ -768,8 +925,8 @@ Namespace Connection
End Set
End Property
Private _MacAddress As String = My.Settings.conDefaultMacAddress
<Category(Category6 & Language.Base.Props_Misc), _
Private _MacAddress As String = My.Settings.ConDefaultMacAddress
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Props_MacAddress), _
Description(Language.Base.Descr_MacAddress)> _
@@ -795,7 +952,7 @@ Namespace Connection
End Property
Private _UserField As String = My.Settings.ConDefaultUserField
<Category(Category6 & Language.Base.Props_Misc), _
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Props_UserField), _
Description(Language.Base.Descr_UserField)> _
@@ -822,8 +979,8 @@ Namespace Connection
#End Region
#Region "VNC"
Private _VNCCompression As mRemote.Connection.Protocol.VNC.Compression = Tools.Misc.StringToEnum(GetType(Connection.Protocol.VNC.Compression), My.Settings.ConDefaultVNCCompression)
<Category(Category4 & Language.Base.Props_Appearance), _
Browsable(True), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(False), _
DisplayName(Language.Base.Props_Compression), _
Description(Language.Base.Descr_Compression), _
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
@@ -849,8 +1006,8 @@ Namespace Connection
End Property
Private _VNCEncoding As mRemote.Connection.Protocol.VNC.Encoding = Tools.Misc.StringToEnum(GetType(Connection.Protocol.VNC.Encoding), My.Settings.ConDefaultVNCEncoding)
<Category(Category4 & Language.Base.Props_Appearance), _
Browsable(True), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(False), _
DisplayName(Language.Base.Props_Encoding), _
Description(Language.Base.Descr_Encoding), _
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
@@ -878,7 +1035,7 @@ Namespace Connection
Private _VNCAuthMode As mRemote.Connection.Protocol.VNC.AuthMode = Tools.Misc.StringToEnum(GetType(Connection.Protocol.VNC.AuthMode), My.Settings.ConDefaultVNCAuthMode)
<Category(Category2 & Language.Base.Props_Connection), _
Browsable(True), _
Browsable(False), _
DisplayName(Language.Base.Props_AuthMode), _
Description(Language.Base.Descr_AuthMode), _
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
@@ -904,8 +1061,8 @@ Namespace Connection
End Property
Private _VNCProxyType As mRemote.Connection.Protocol.VNC.ProxyType = Tools.Misc.StringToEnum(GetType(Connection.Protocol.VNC.ProxyType), My.Settings.ConDefaultVNCProxyType)
<Category(Category6 & Language.Base.Props_Misc), _
Browsable(True), _
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(False), _
DisplayName(Language.Base.Props_ProxyType), _
Description(Language.Base.Descr_ProxyType), _
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
@@ -931,8 +1088,8 @@ Namespace Connection
End Property
Private _VNCProxyIP As String = My.Settings.ConDefaultVNCProxyIP
<Category(Category6 & Language.Base.Props_Misc), _
Browsable(True), _
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(False), _
DisplayName(Language.Base.Props_ProxyIP), _
Description(Language.Base.Descr_ProxyIP)> _
Public Property VNCProxyIP() As String
@@ -957,8 +1114,8 @@ Namespace Connection
End Property
Private _VNCProxyPort As Integer = My.Settings.ConDefaultVNCProxyPort
<Category(Category6 & Language.Base.Props_Misc), _
Browsable(True), _
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(False), _
DisplayName(Language.Base.Props_ProxyPort), _
Description(Language.Base.Descr_ProxyPort)> _
Public Property VNCProxyPort() As Integer
@@ -983,8 +1140,8 @@ Namespace Connection
End Property
Private _VNCProxyUsername As String = My.Settings.ConDefaultVNCProxyUsername
<Category(Category6 & Language.Base.Props_Misc), _
Browsable(True), _
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(False), _
DisplayName(Language.Base.Props_ProxyUsername), _
Description(Language.Base.Props_ProxyUsername)> _
Public Property VNCProxyUsername() As String
@@ -1009,8 +1166,8 @@ Namespace Connection
End Property
Private _VNCProxyPassword As String = My.Settings.ConDefaultVNCProxyPassword
<Category(Category6 & Language.Base.Props_Misc), _
Browsable(True), _
<Category(Category7 & Language.Base.Props_Misc), _
Browsable(False), _
DisplayName(Language.Base.Props_ProxyPassword), _
Description(Language.Base.Descr_ProxyPassword), _
PasswordPropertyText(True)> _
@@ -1036,8 +1193,8 @@ Namespace Connection
End Property
Private _VNCColors As mRemote.Connection.Protocol.VNC.Colors = Tools.Misc.StringToEnum(GetType(Connection.Protocol.VNC.Colors), My.Settings.ConDefaultVNCColors)
<Category(Category4 & Language.Base.Props_Appearance), _
Browsable(True), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(False), _
DisplayName(Language.Base.Props_Colors), _
Description(Language.Base.Descr_Colors), _
TypeConverter(GetType(Tools.Misc.EnumTypeConverter))> _
@@ -1063,7 +1220,7 @@ Namespace Connection
End Property
Private _VNCSmartSizeMode As mRemote.Connection.Protocol.VNC.SmartSizeMode = Tools.Misc.StringToEnum(GetType(Connection.Protocol.VNC.SmartSizeMode), My.Settings.ConDefaultVNCSmartSizeMode)
<Category(Category4 & Language.Base.Props_Appearance), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Props_SmartSizeMode), _
Description(Language.Base.Descr_SmartSizeMode), _
@@ -1090,7 +1247,7 @@ Namespace Connection
End Property
Private _VNCViewOnly As Boolean = My.Settings.ConDefaultVNCViewOnly
<Category(Category4 & Language.Base.Props_Appearance), _
<Category(Category5 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Props_ViewOnly), _
Description(Language.Base.Descr_ViewOnly), _
@@ -1118,8 +1275,6 @@ Namespace Connection
#End Region
Private _Inherit As Inheritance = New Inheritance(Me)
<Category(""), _
Browsable(False)> _
@@ -1614,9 +1769,94 @@ Namespace Connection
End Set
End Property
#End Region
#Region "5 Appearance"
#Region "5 RD Gateway"
Private _RDGatewayUsageMethod As Boolean = False
<Category(Category5 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RDGatewayUsageMethod), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
Public Property RDGatewayUsageMethod() As Boolean
Get
Return Me._RDGatewayUsageMethod
End Get
Set(ByVal value As Boolean)
Me._RDGatewayUsageMethod = value
End Set
End Property
Private _RDGatewayHostname As Boolean = False
<Category(Category5 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RDGatewayHostname), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
Public Property RDGatewayHostname() As Boolean
Get
Return Me._RDGatewayHostname
End Get
Set(ByVal value As Boolean)
Me._RDGatewayHostname = value
End Set
End Property
Private _RDGatewayUseConnectionCredentials As Boolean = False
<Category(Category5 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RDGatewayUseConnectionCredentials), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
Public Property RDGatewayUseConnectionCredentials() As Boolean
Get
Return Me._RDGatewayUseConnectionCredentials
End Get
Set(ByVal value As Boolean)
Me._RDGatewayUseConnectionCredentials = value
End Set
End Property
Private _RDGatewayUsername As Boolean = False
<Category(Category5 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RDGatewayUsername), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
Public Property RDGatewayUsername() As Boolean
Get
Return Me._RDGatewayUsername
End Get
Set(ByVal value As Boolean)
Me._RDGatewayUsername = value
End Set
End Property
Private _RDGatewayPassword As Boolean = False
<Category(Category5 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RDGatewayPassword), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
Public Property RDGatewayPassword() As Boolean
Get
Return Me._RDGatewayPassword
End Get
Set(ByVal value As Boolean)
Me._RDGatewayPassword = value
End Set
End Property
Private _RDGatewayDomain As Boolean = False
<Category(Category5 & Language.Base.Category_RDGateway), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RDGatewayDomain), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
Public Property RDGatewayDomain() As Boolean
Get
Return Me._RDGatewayDomain
End Get
Set(ByVal value As Boolean)
Me._RDGatewayDomain = value
End Set
End Property
#End Region
#Region "6 Appearance"
Private _Resolution As Boolean = My.Settings.InhDefaultResolution
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_Resolution), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1630,7 +1870,7 @@ Namespace Connection
End Property
Private _Colors As Boolean = My.Settings.InhDefaultColors
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_Colors), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1644,7 +1884,7 @@ Namespace Connection
End Property
Private _CacheBitmaps As Boolean = My.Settings.InhDefaultCacheBitmaps
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_CacheBitmaps), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1658,7 +1898,7 @@ Namespace Connection
End Property
Private _DisplayWallpaper As Boolean = My.Settings.InhDefaultDisplayWallpaper
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_DisplayWallpaper), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1672,7 +1912,7 @@ Namespace Connection
End Property
Private _DisplayThemes As Boolean = My.Settings.InhDefaultDisplayThemes
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_DisplayThemes), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1687,7 +1927,7 @@ Namespace Connection
#End Region
#Region "6 Redirect"
Private _RedirectKeys As Boolean = My.Settings.InhDefaultRedirectKeys
<Category(Category6 & Language.Base.Props_Redirect), _
<Category(Category7 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RedKeyCombinations), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1701,7 +1941,7 @@ Namespace Connection
End Property
Private _RedirectDiskDrives As Boolean = My.Settings.InhDefaultRedirectDiskDrives
<Category(Category6 & Language.Base.Props_Redirect), _
<Category(Category7 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RedDiskDrives), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1715,7 +1955,7 @@ Namespace Connection
End Property
Private _RedirectPrinters As Boolean = My.Settings.InhDefaultRedirectPrinters
<Category(Category6 & Language.Base.Props_Redirect), _
<Category(Category7 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RedPrinters), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1729,7 +1969,7 @@ Namespace Connection
End Property
Private _RedirectPorts As Boolean = My.Settings.InhDefaultRedirectPorts
<Category(Category6 & Language.Base.Props_Redirect), _
<Category(Category7 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RedPorts), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1743,7 +1983,7 @@ Namespace Connection
End Property
Private _RedirectSmartCards As Boolean = My.Settings.InhDefaultRedirectSmartCards
<Category(Category6 & Language.Base.Props_Redirect), _
<Category(Category7 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RedSmartCards), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1757,7 +1997,7 @@ Namespace Connection
End Property
Private _RedirectSound As Boolean = My.Settings.InhDefaultRedirectSound
<Category(Category6 & Language.Base.Props_Redirect), _
<Category(Category7 & Language.Base.Props_Redirect), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_RedSounds), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1772,7 +2012,7 @@ Namespace Connection
#End Region
#Region "7 Misc"
Private _PreExtApp As Boolean = My.Settings.InhDefaultPreExtApp
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_PreExtApp), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1786,7 +2026,7 @@ Namespace Connection
End Property
Private _PostExtApp As Boolean = My.Settings.InhDefaultPostExtApp
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_PostExtApp), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1800,7 +2040,7 @@ Namespace Connection
End Property
Private _MacAddress As Boolean = My.Settings.InhDefaultMacAddress
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_MacAddress), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1814,7 +2054,7 @@ Namespace Connection
End Property
Private _UserField As Boolean = My.Settings.InhDefaultUserField
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_UserField), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1829,7 +2069,7 @@ Namespace Connection
#End Region
#Region "VNC"
Private _VNCCompression As Boolean = My.Settings.InhDefaultVNCCompression
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_Compression), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1843,7 +2083,7 @@ Namespace Connection
End Property
Private _VNCEncoding As Boolean = My.Settings.InhDefaultVNCEncoding
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_Encoding), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1871,7 +2111,7 @@ Namespace Connection
End Property
Private _VNCProxyType As Boolean = My.Settings.InhDefaultVNCProxyType
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_ProxyType), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1885,7 +2125,7 @@ Namespace Connection
End Property
Private _VNCProxyIP As Boolean = My.Settings.InhDefaultVNCProxyIP
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_ProxyIP), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1899,7 +2139,7 @@ Namespace Connection
End Property
Private _VNCProxyPort As Boolean = My.Settings.InhDefaultVNCProxyPort
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_ProxyPort), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1913,7 +2153,7 @@ Namespace Connection
End Property
Private _VNCProxyUsername As Boolean = My.Settings.InhDefaultVNCProxyUsername
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_ProxyUsername), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1927,7 +2167,7 @@ Namespace Connection
End Property
Private _VNCProxyPassword As Boolean = My.Settings.InhDefaultVNCProxyPassword
<Category(Category7 & Language.Base.Props_Misc), _
<Category(Category8 & Language.Base.Props_Misc), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_ProxyPassword), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1941,7 +2181,7 @@ Namespace Connection
End Property
Private _VNCColors As Boolean = My.Settings.InhDefaultVNCColors
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_Colors), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1955,7 +2195,7 @@ Namespace Connection
End Property
Private _VNCSmartSizeMode As Boolean = My.Settings.InhDefaultVNCSmartSizeMode
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_SmartSizeMode), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1969,7 +2209,7 @@ Namespace Connection
End Property
Private _VNCViewOnly As Boolean = My.Settings.InhDefaultVNCViewOnly
<Category(Category5 & Language.Base.Props_Appearance), _
<Category(Category6 & Language.Base.Props_Appearance), _
Browsable(True), _
DisplayName(Language.Base.Inherit & " " & Language.Base.Props_ViewOnly), _
TypeConverter(GetType(mRemote.Tools.Misc.YesNoTypeConverter))> _
@@ -1982,6 +2222,7 @@ Namespace Connection
End Set
End Property
#End Region
End Class
<Flags()> _

View File

@@ -1,6 +1,5 @@
Imports System.Windows.Forms
Imports mRemote.App.Runtime
Imports Skybound.Gecko
Imports System.ComponentModel
Namespace Connection
@@ -19,7 +18,6 @@ Namespace Connection
Public Sub New(ByVal RenderingEngine As RenderingEngine)
Try
If RenderingEngine = RenderingEngine.Gecko Then
'Skybound.Gecko.Xpcom.Initialize(My.Settings.XULRunnerPath)
Me.Control = New MiniGeckoBrowser.MiniGeckoBrowser
TryCast(Me.Control, MiniGeckoBrowser.MiniGeckoBrowser).XULrunnerPath = My.Settings.XULRunnerPath
Else
@@ -39,19 +37,29 @@ Namespace Connection
MyBase.SetProps()
Try
wBrowser = Me.Control
Dim objTabPage As Crownwood.Magic.Controls.TabPage = TryCast(Me.InterfaceControl.Parent, Crownwood.Magic.Controls.TabPage)
Me.tabTitle = objTabPage.Title
Catch ex As Exception
Me.tabTitle = ""
End Try
Try
Me.wBrowser = Me.Control
If InterfaceControl.Info.RenderingEngine = RenderingEngine.Gecko Then
'AddHandler TryCast(wBrowser, GeckoWebBrowser).CreateWindow, AddressOf gex_CreateWindow
AddHandler TryCast(wBrowser, MiniGeckoBrowser.MiniGeckoBrowser).TitleChanged, AddressOf wBrowser_DocumentTitleChanged
AddHandler TryCast(wBrowser, MiniGeckoBrowser.MiniGeckoBrowser).LastTabRemoved, AddressOf wBrowser_LastTabRemoved
'wBrowser.Width = wBrowser.Width
Else
TryCast(wBrowser, WebBrowser).AllowWebBrowserDrop = False
TryCast(wBrowser, WebBrowser).ScrollBarsEnabled = True
Dim objMiniGeckoBrowser As MiniGeckoBrowser.MiniGeckoBrowser = TryCast(wBrowser, MiniGeckoBrowser.MiniGeckoBrowser)
AddHandler TryCast(wBrowser, WebBrowser).DocumentTitleChanged, AddressOf wBrowser_DocumentTitleChanged
AddHandler TryCast(wBrowser, WebBrowser).NewWindow, AddressOf wBrowser_NewWindow
AddHandler objMiniGeckoBrowser.TitleChanged, AddressOf wBrowser_DocumentTitleChanged
AddHandler objMiniGeckoBrowser.LastTabRemoved, AddressOf wBrowser_LastTabRemoved
Else
Dim objWebBrowser As WebBrowser = TryCast(wBrowser, WebBrowser)
Dim objAxWebBrowser As SHDocVw.WebBrowser = DirectCast(objWebBrowser.ActiveXInstance, SHDocVw.WebBrowser)
objWebBrowser.AllowWebBrowserDrop = False
objWebBrowser.ScrollBarsEnabled = True
AddHandler objWebBrowser.DocumentTitleChanged, AddressOf wBrowser_DocumentTitleChanged
AddHandler objAxWebBrowser.NewWindow3, AddressOf wBrowser_NewWindow3
End If
Return True
@@ -111,14 +119,15 @@ Namespace Connection
#Region "Events"
Private Sub gex_CreateWindow(ByVal sender As Object, ByVal e As Skybound.Gecko.GeckoCreateWindowEventArgs)
'Dim tP As TabPage = AddTab()
'e.WebBrowser = tP.Controls(0)
e.WebBrowser = Me.wBrowser
End Sub
Private Sub wBrowser_NewWindow(ByVal sender As Object, ByVal e As CancelEventArgs)
e.Cancel = True
TryCast(wBrowser, WebBrowser).Navigate(TryCast(wBrowser, WebBrowser).StatusText)
Private Sub wBrowser_NewWindow3(ByRef ppDisp As Object, ByRef Cancel As Boolean, ByVal dwFlags As Long, ByVal bstrUrlContext As String, ByVal bstrUrl As String)
If (dwFlags And NWMF.NWMF_OVERRIDEKEY) Then
Cancel = False
Else
Cancel = True
End If
End Sub
Private Sub wBrowser_LastTabRemoved(ByVal sender As Object)
@@ -131,10 +140,6 @@ Namespace Connection
tabP = TryCast(InterfaceControl.Parent, Crownwood.Magic.Controls.TabPage)
If tabP IsNot Nothing Then
If tabTitle = "" Then
tabTitle = tabP.Title
End If
Dim shortTitle As String = ""
If Me.InterfaceControl.Info.RenderingEngine = RenderingEngine.Gecko Then
@@ -151,7 +156,11 @@ Namespace Connection
End If
End If
tabP.Title = tabTitle & " - " & shortTitle
If Me.tabTitle <> "" Then
tabP.Title = tabTitle & " - " & shortTitle
Else
tabP.Title = shortTitle
End If
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.WarningMsg, "wBrowser_DocumentTitleChanged (Connection.Protocol.HTTPBase) failed" & vbNewLine & ex.Message, True)
@@ -159,12 +168,31 @@ Namespace Connection
End Sub
#End Region
#Region "Enums"
Public Enum RenderingEngine
<Description("Internet Explorer")> _
IE = 1
<Description("Gecko (Firefox)")> _
Gecko = 2
End Enum
Private Enum NWMF
NWMF_UNLOADING = &H1
NWMF_USERINITED = &H2
NWMF_FIRST = &H4
NWMF_OVERRIDEKEY = &H8
NWMF_SHOWHELP = &H10
NWMF_HTMLDIALOG = &H20
NWMF_FROMDIALOGCHILD = &H40
NWMF_USERREQUESTED = &H80
NWMF_USERALLOWED = &H100
NWMF_FORCEWINDOW = &H10000
NWMF_FORCETAB = &H20000
NWMF_SUGGESTWINDOW = &H40000
NWMF_SUGGESTTAB = &H80000
NWMF_INACTIVETAB = &H100000
End Enum
#End Region
End Class
End Namespace
End Namespace

View File

@@ -9,9 +9,11 @@ Namespace Connection
Public Class PuttyBase
Inherits Connection.Protocol.Base
#Region "Constants"
Private Const IDM_RECONF As Int32 = &H50 ' PuTTY Settings Menu ID
#End Region
#Region "Private Properties"
Private PuttyProcessStartInfo As New ProcessStartInfo()
Private Arguments As String
#End Region
#Region "Public Properties"
@@ -101,50 +103,52 @@ Namespace Connection
Public Overrides Function Connect() As Boolean
Try
PuttyProcessStartInfo.FileName = _PuttyPath
PuttyProcess = New Process
Select Case Me._PuttyProtocol
Case Putty_Protocol.raw
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.rlogin
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.ssh
Dim UserArg As String = ""
Dim PassArg As String = ""
With PuttyProcess.StartInfo
.FileName = _PuttyPath
If My.Settings.EmptyCredentials = "windows" Then
UserArg = " -l """ & Environment.UserName & """"
ElseIf My.Settings.EmptyCredentials = "custom" Then
UserArg = " -l """ & My.Settings.DefaultUsername & """"
PassArg = " -pw """ & Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey) & """"
End If
Select Case Me._PuttyProtocol
Case Putty_Protocol.raw
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.rlogin
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.ssh
Dim UserArg As String = ""
Dim PassArg As String = ""
If Me.InterfaceControl.Info.Username <> "" Then
UserArg = " -l """ & Me.InterfaceControl.Info.Username & """"
End If
If My.Settings.EmptyCredentials = "windows" Then
UserArg = " -l """ & Environment.UserName & """"
ElseIf My.Settings.EmptyCredentials = "custom" Then
UserArg = " -l """ & My.Settings.DefaultUsername & """"
PassArg = " -pw """ & Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey) & """"
End If
If Me.InterfaceControl.Info.Password <> "" Then
PassArg = " -pw """ & Me.InterfaceControl.Info.Password & """"
End If
If Me.InterfaceControl.Info.Username <> "" Then
UserArg = " -l """ & Me.InterfaceControl.Info.Username & """"
End If
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -" & Me._PuttySSHVersion & UserArg & PassArg & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.telnet
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.serial
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
End Select
If Me.InterfaceControl.Info.Password <> "" Then
PassArg = " -pw """ & Me.InterfaceControl.Info.Password & """"
End If
'REMOVE IN RELEASE!
'mC.AddMessage(Messages.MessageClass.InformationMsg, "PuTTY Arguments: " & Arguments, True)
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -" & Me._PuttySSHVersion & UserArg & PassArg & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.telnet
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
Case Putty_Protocol.serial
.Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
End Select
PuttyProcessStartInfo.Arguments = Arguments
'REMOVE IN RELEASE!
'mC.AddMessage(Messages.MessageClass.InformationMsg, "PuTTY Arguments: " & .Arguments, True)
End With
PuttyProcess = Process.Start(PuttyProcessStartInfo)
PuttyProcess.EnableRaisingEvents = True
PuttyProcess.WaitForInputIdle()
AddHandler PuttyProcess.Exited, AddressOf ProcessExited
PuttyProcess.Start()
PuttyProcess.WaitForInputIdle()
Dim TryCount As Integer = 0
Do Until PuttyProcess.MainWindowHandle <> IntPtr.Zero And Me.InterfaceControl.Handle <> IntPtr.Zero And Me.PuttyProcess.MainWindowTitle <> "Default IME"
If TryCount >= My.Settings.MaxPuttyWaitTime * 2 Then
@@ -167,9 +171,8 @@ Namespace Connection
mC.AddMessage(Messages.MessageClass.InformationMsg, "PuTTY Title: " & PuttyProcess.MainWindowTitle, True)
mC.AddMessage(Messages.MessageClass.InformationMsg, "Panel Handle: " & Me.InterfaceControl.Parent.Handle.ToString, True)
SetParent(Me.PuttyHandle, Me.InterfaceControl.Parent.Handle)
SetWindowLong(Me.PuttyHandle, 0, WS_VISIBLE)
ShowWindow(Me.PuttyHandle, SW_SHOWMAXIMIZED)
SetParent(PuttyHandle, InterfaceControl.Parent.Handle)
ShowWindow(PuttyHandle, SW_SHOWMAXIMIZED)
Resize()
MyBase.Connect()
@@ -180,10 +183,9 @@ Namespace Connection
End Try
End Function
Public Overrides Sub Focus()
Try
SetForegroundWindow(PuttyHandle)
'SetForegroundWindow(PuttyHandle)
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Focus (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
End Try
@@ -214,6 +216,15 @@ Namespace Connection
MyBase.Close()
End Sub
Public Sub ShowSettingsDialog()
Try
PostMessage(Me.PuttyHandle, WM_SYSCOMMAND, IDM_RECONF, 0)
SetForegroundWindow(Me.PuttyHandle)
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ShowSettingsDialog failed (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
End Try
End Sub
#End Region
#Region "Public Shared Methods"

View File

@@ -33,15 +33,14 @@ Namespace Connection
#End Region
#Region "Private Declarations"
Private rd As MSTSCLib.IMsRdpClient5
Private RDP As AxMsRdpClient5
Private RDP As AxMsRdpClient6NotSafeForScripting
Private Info As Connection.Info
Private RDPVersion As Version
#End Region
#Region "Public Methods"
Public Sub New()
Me.Control = New AxMsRdpClient5
Me.Control = New AxMsRdpClient6NotSafeForScripting
End Sub
Public Overrides Function SetProps() As Boolean
@@ -80,6 +79,7 @@ Namespace Connection
RDP.AdvancedSettings2.keepAliveInterval = 60000 'in milliseconds (10.000 = 10 seconds)
RDP.AdvancedSettings5.AuthenticationLevel = 0
RDP.AdvancedSettings.EncryptionEnabled = 1
RDP.AdvancedSettings7.EnableCredSspSupport = True
RDP.AdvancedSettings2.overallConnectionTimeout = 20
@@ -90,7 +90,7 @@ Namespace Connection
Me.SetRedirectKeys()
Me.SetRedirection()
Me.SetAuthenticationLevel()
Me.SetTSGateway()
Me.SetRDGateway()
RDP.ColorDepth = Int(Me.Info.Colors)
@@ -156,15 +156,29 @@ Namespace Connection
#End Region
#Region "Private Methods"
Private Sub SetTSGateway()
Private Sub SetRDGateway()
Try
'If RDP.TransportSettings.GatewayIsSupported = 1 Then
' MsgBox("TS Gateway supported")
'Else
' MsgBox("TS Gateway unsupported")
'End If
If RDP.TransportSettings.GatewayIsSupported = 1 Then
mC.AddMessage(Messages.MessageClass.InformationMsg, "RD Gateway is supported", True)
If Me.Info.RDGatewayUsageMethod <> RDGatewayUsageMethod.Never Then
RDP.TransportSettings2.GatewayProfileUsageMethod = 1
RDP.TransportSettings.GatewayUsageMethod = Me.Info.RDGatewayUsageMethod
RDP.TransportSettings.GatewayHostname = Me.Info.RDGatewayHostname
If Me.Info.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.Yes Then
RDP.TransportSettings.GatewayUsername = Me.Info.Username
RDP.TransportSettings.GatewayPassword = Me.Info.Password
RDP.TransportSettings.GatewayDomain = Me.Info.Domain
Else
RDP.TransportSettings.GatewayUsername = Me.Info.RDGatewayUsername
RDP.TransportSettings.GatewayPassword = Me.Info.RDGatewayPassword
RDP.TransportSettings.GatewayDomain = Me.Info.RDGatewayDomain
End If
End If
Else
mC.AddMessage(Messages.MessageClass.InformationMsg, "RD Gateway is not supported", True)
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetTSGateway failed" & vbNewLine & ex.Message, True)
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetRDGateway failed" & vbNewLine & ex.Message, True)
End Try
End Sub
@@ -353,7 +367,8 @@ Namespace Connection
End Sub
Private Sub RDPEvent_OnDisconnected(ByVal sender As Object, ByVal e As AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEvent)
MyBase.Event_Disconnected(Me, e.discReason)
Dim Reason As String = RDP.GetErrorDescription(e.discReason, RDP.ExtendedDisconnectReason)
MyBase.Event_Disconnected(Me, e.discReason & vbCrLf & Reason)
If My.Settings.ReconnectOnDisconnect Then
ReconnectGroup = New ReconnectGroup
@@ -480,6 +495,22 @@ Namespace Connection
<Description(Language.Base.WarnIfAuthFails)> _
WarnOnFailedAuth = 2
End Enum
Public Enum RDGatewayUsageMethod
<Description("Never")> _
Never = 0 ' TSC_PROXY_MODE_NONE_DIRECT
<Description("Always")> _
Always = 1 ' TSC_PROXY_MODE_DIRECT
<Description("Detect")> _
Detect = 2 ' TSC_PROXY_MODE_DETECT
End Enum
Public Enum RDGatewayUseConnectionCredentials
<Description("Use a different username and password")> _
No = 0
<Description("Use the same username and password")> _
Yes = 1
End Enum
#End Region
#Region "Resolution"
@@ -717,71 +748,27 @@ Namespace Connection
End Class
#End Region
#Region "Disconnection Errors"
Public Class DisconnectionErrors
Public Shared Code(3080) As String
Public Shared Function GetError(ByVal id As Integer) As String
Try
Code(1) = "Local Disconnection (not an error)"
Code(2) = "Remote Disconnection by user (not an error)"
Code(3) = "Remote Disconnection by server (not an error)"
Code(260) = "DNS Lookup Failed"
Code(262) = "Out of memory condition"
Code(264) = "Connection Timed Out"
Code(516) = "WinSock socket connect failed"
Code(518) = "Out of memory condition"
Code(520) = "Host Not Found error (GetHostByName failed)."
Code(772) = "WinSock send call failed"
Code(774) = "Out of memory condition"
Code(776) = "Invalid IP address specified"
Code(1028) = "WinSock recv call failed"
Code(1030) = "Invalid Security Data"
Code(1032) = "Internal error (code 1032)"
Code(1286) = "Invalid Encryption Method"
Code(1288) = "DNS Lookup failed"
Code(1540) = "GetHostByName call failed"
Code(1542) = "Invalid server security data"
Code(1544) = "Internal Error (timer error)"
Code(1796) = "Timeout occurred"
Code(1798) = "Failed to unpack server certificate"
Code(2052) = "Bad IP address specified"
Code(2054) = "Internal Security Error"
Code(2308) = "Socket closed"
Code(2310) = "Internal Security Error"
Code(2566) = "Internal Security Error"
Code(2822) = "Encryption error"
Code(2824) = "Your session was taken by someone else"
Code(3078) = "Decryption error"
Return (Code(id))
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "GetError failed (DisconnectionErrors)" & vbNewLine & ex.Message, True)
End Try
Return ""
End Function
End Class
#Region "Fatal Errors"
Public Class FatalErrors
Public Shared Code(110) As String
Protected Shared _description() As String = { _
0 = "An unknown error has occurred.", _
1 = "Internal error code 1.", _
2 = "An out-of-memory error has occurred.", _
3 = "A window-creation error has occurred.", _
4 = "Internal error code 2.", _
5 = "Internal error code 3. This is not a valid state.", _
6 = "Internal error code 4.", _
7 = "An unrecoverable error has occurred during client connection.", _
100 = "Winsock initialization error." _
}
Public Shared Function GetError(ByVal id As String) As String
Try
Code(0) = "An unknown error has occurred"
Code(1) = "Internal error code 1"
Code(2) = "Out of memory error"
Code(3) = "Window creation error"
Code(4) = "Internal error code 2"
Code(5) = "Internal error code 3 (Invalid state)"
Code(100) = "Winsock initialization error"
Return (Code(id))
Return (_description(id))
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "GetError failed (FatalErrors)" & vbNewLine & ex.Message, True)
Return String.Format("An unknown fatal RDP error has occurred. Error code {0}.", id)
End Try
Return ""
End Function
End Class
#End Region

View File

@@ -1,5 +1,5 @@
Imports mRemote.App.Runtime
Imports AxViewerX
Imports VncSharp
Imports System.ComponentModel
Namespace Connection
@@ -10,22 +10,10 @@ Namespace Connection
#Region "Properties"
Public Property SmartSize() As Boolean
Get
If VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_NONE Then
Return False
Else
Return True
End If
Return VNC.Scaled
End Get
Set(ByVal value As Boolean)
If value = False Then
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_NONE
Else
If Info.VNCSmartSizeMode = SmartSizeMode.SmartSFree Then
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_FREE
Else
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_ASPECT
End If
End If
VNC.Scaled = value
End Set
End Property
@@ -40,14 +28,13 @@ Namespace Connection
#End Region
#Region "Private Declarations"
Private VNC As AxCSC_ViewerXControl
Private VNC As VncSharp.RemoteDesktop
Private Info As Connection.Info
#End Region
#Region "Public Methods"
Public Sub New()
Me.Control = New AxCSC_ViewerXControl
SetupLicense(Me.Control)
Me.Control = New VncSharp.RemoteDesktop
End Sub
Public Overrides Function SetProps() As Boolean
@@ -58,84 +45,70 @@ Namespace Connection
Info = Me.InterfaceControl.Info
VNC.BeginInit()
VNC.VncPort = Me.Info.Port
VNC.Port = Me.Info.Port
VNC.HostIP = Me.Info.Hostname
'If Info.VNCCompression <> Compression.CompNone Then
' VNC.JPEGCompression = True
' VNC.JPEGCompressionLevel = Info.VNCCompression
'End If
If Info.VNCCompression <> Compression.CompNone Then
VNC.JPEGCompression = True
VNC.JPEGCompressionLevel = Info.VNCCompression
End If
'Select Case Info.VNCEncoding
' Case Encoding.EncCorre
' VNC.Encoding = ViewerX.VNCEncoding.RFB_CORRE
' Case Encoding.EncHextile
' VNC.Encoding = ViewerX.VNCEncoding.RFB_HEXTILE
' Case Encoding.EncRaw
' VNC.Encoding = ViewerX.VNCEncoding.RFB_RAW
' Case Encoding.EncRRE
' VNC.Encoding = ViewerX.VNCEncoding.RFB_RRE
' Case Encoding.EncTight
' VNC.Encoding = ViewerX.VNCEncoding.RFB_TIGHT
' Case Encoding.EncZlib
' VNC.Encoding = ViewerX.VNCEncoding.RFB_ZLIB
' Case Encoding.EncZLibHex
' VNC.Encoding = ViewerX.VNCEncoding.RFB_ZLIBHEX
' Case Encoding.EncZRLE
' VNC.Encoding = ViewerX.VNCEncoding.RFB_ZRLE
'End Select
Select Case Info.VNCEncoding
Case Encoding.EncCorre
VNC.Encoding = ViewerX.VNCEncoding.RFB_CORRE
Case Encoding.EncHextile
VNC.Encoding = ViewerX.VNCEncoding.RFB_HEXTILE
Case Encoding.EncRaw
VNC.Encoding = ViewerX.VNCEncoding.RFB_RAW
Case Encoding.EncRRE
VNC.Encoding = ViewerX.VNCEncoding.RFB_RRE
Case Encoding.EncTight
VNC.Encoding = ViewerX.VNCEncoding.RFB_TIGHT
Case Encoding.EncZlib
VNC.Encoding = ViewerX.VNCEncoding.RFB_ZLIB
Case Encoding.EncZLibHex
VNC.Encoding = ViewerX.VNCEncoding.RFB_ZLIBHEX
Case Encoding.EncZRLE
VNC.Encoding = ViewerX.VNCEncoding.RFB_ZRLE
End Select
'If Info.VNCAuthMode = AuthMode.AuthWin Then
' VNC.LoginType = ViewerX.ViewerLoginType.VLT_MSWIN
' VNC.MsUser = Me.Info.Username
' VNC.MsDomain = Me.Info.Domain
' VNC.MsPassword = Me.Info.Password
'Else
' VNC.LoginType = ViewerX.ViewerLoginType.VLT_VNC
' VNC.Password = Me.Info.Password
'End If
If Info.VNCAuthMode = AuthMode.AuthWin Then
VNC.LoginType = ViewerX.ViewerLoginType.VLT_MSWIN
VNC.MsUser = Me.Info.Username
VNC.MsDomain = Me.Info.Domain
VNC.MsPassword = Me.Info.Password
Else
VNC.LoginType = ViewerX.ViewerLoginType.VLT_VNC
VNC.Password = Me.Info.Password
End If
'Select Case Info.VNCProxyType
' Case ProxyType.ProxyNone
' VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_NONE
' Case ProxyType.ProxyHTTP
' VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_HTTP
' Case ProxyType.ProxySocks5
' VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_SOCKS5
' Case ProxyType.ProxyUltra
' VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_ULTRA_REPEATER
'End Select
Select Case Info.VNCProxyType
Case ProxyType.ProxyNone
VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_NONE
Case ProxyType.ProxyHTTP
VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_HTTP
Case ProxyType.ProxySocks5
VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_SOCKS5
Case ProxyType.ProxyUltra
VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_ULTRA_REPEATER
End Select
'If Info.VNCProxyType <> ProxyType.ProxyNone Then
' VNC.ProxyIP = Info.VNCProxyIP
' VNC.ProxyPort = Info.VNCProxyPort
' VNC.ProxyUser = Info.VNCProxyUsername
' VNC.ProxyPassword = Info.VNCProxyPassword
'End If
If Info.VNCProxyType <> ProxyType.ProxyNone Then
VNC.ProxyIP = Info.VNCProxyIP
VNC.ProxyPort = Info.VNCProxyPort
VNC.ProxyUser = Info.VNCProxyUsername
VNC.ProxyPassword = Info.VNCProxyPassword
End If
'If Info.VNCColors = Colors.Col8Bit Then
' VNC.RestrictPixel = True
'Else
' VNC.RestrictPixel = False
'End If
If Info.VNCColors = Colors.Col8Bit Then
VNC.RestrictPixel = True
Else
VNC.RestrictPixel = False
End If
Select Case Info.VNCSmartSizeMode
Case SmartSizeMode.SmartSNo
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_NONE
Case SmartSizeMode.SmartSFree
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_FREE
Case SmartSizeMode.SmartSAspect
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_ASPECT
End Select
VNC.ViewOnly = Info.VNCViewOnly
VNC.ConnectingText = Language.Base.Connecting & " (SmartCode VNC viewer)"
VNC.DisconnectedText = Language.Base.Disconnected
VNC.MessageBoxes = False
VNC.EndInit()
'VNC.ConnectingText = Language.Base.Connecting & " (SmartCode VNC viewer)"
'VNC.DisconnectedText = Language.Base.Disconnected
'VNC.MessageBoxes = False
'VNC.EndInit()
Return True
Catch ex As Exception
@@ -148,7 +121,7 @@ Namespace Connection
Me.SetEventHandlers()
Try
VNC.ConnectAsync()
VNC.Connect(Me.Info.Hostname, Me.Info.VNCViewOnly, Info.VNCSmartSizeMode <> SmartSizeMode.SmartSNo)
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Opening connection failed" & vbNewLine & ex.Message)
Return False
@@ -169,9 +142,9 @@ Namespace Connection
Try
Select Case Keys
Case SpecialKeys.CtrlAltDel
VNC.SendCAD()
VNC.SendSpecialKeys(SpecialKeys.CtrlAltDel)
Case SpecialKeys.CtrlEsc
VNC.SendCtrlEsq()
VNC.SendSpecialKeys(SpecialKeys.CtrlEsc)
End Select
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC SendSpecialKeys failed" & vbNewLine & ex.Message, True)
@@ -198,11 +171,11 @@ Namespace Connection
Public Sub StartChat()
Try
If VNC.Capabilities.Chat = True Then
VNC.OpenChat()
Else
mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support chat")
End If
'If VNC.Capabilities.Chat = True Then
' VNC.OpenChat()
'Else
' mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support chat")
'End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC StartChat failed" & vbNewLine & ex.Message, True)
End Try
@@ -210,11 +183,11 @@ Namespace Connection
Public Sub StartFileTransfer()
Try
If VNC.Capabilities.FileTransfer = True Then
VNC.OpenFileTransfer()
Else
mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support file transfers")
End If
'If VNC.Capabilities.FileTransfer = True Then
' VNC.OpenFileTransfer()
'Else
' mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support file transfers")
'End If
Catch ex As Exception
End Try
@@ -222,7 +195,7 @@ Namespace Connection
Public Sub RefreshScreen()
Try
VNC.RequestRefresh()
VNC.FullScreenUpdate()
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC RefreshScreen failed" & vbNewLine & ex.Message, True)
End Try
@@ -232,33 +205,31 @@ Namespace Connection
#Region "Private Methods"
Private Sub SetEventHandlers()
Try
AddHandler VNC.ConnectedEvent, AddressOf VNCEvent_Connected
AddHandler VNC.Disconnected, AddressOf VNCEvent_Disconnected
AddHandler VNC.ConnectComplete, AddressOf VNCEvent_Connected
AddHandler VNC.ConnectionLost, AddressOf VNCEvent_Disconnected
If Not String.IsNullOrEmpty(Info.Password) Then
VNC.GetPassword = AddressOf VNCEvent_Authenticate
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC SetEventHandlers failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Public Shared Sub SetupLicense(ByVal vncCtrl As Control)
Try
Dim f As System.Reflection.FieldInfo
f = GetType(AxHost).GetField("licenseKey", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
f.SetValue(vncCtrl, "{072169039103041044176252035252117103057101225235137221179204110241121074}")
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC SetupLicense failed" & vbNewLine & ex.Message, True)
End Try
End Sub
#End Region
#Region "Private Events & Handlers"
Private Sub VNCEvent_Connected(ByVal sender As Object, ByVal e As EventArgs)
MyBase.Event_Connected(Me)
VNC.AutoScroll = Info.VNCSmartSizeMode = SmartSizeMode.SmartSNo
End Sub
Private Sub VNCEvent_Disconnected(ByVal sender As Object, ByVal e As EventArgs)
MyBase.Event_Disconnected(sender, e.ToString)
MyBase.Close()
End Sub
Private Function VNCEvent_Authenticate() As String
Return Info.Password
End Function
#End Region
#Region "Enums"

View File

@@ -23,6 +23,21 @@ Partial Class frmMain
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Dim DockPanelSkin3 As WeifenLuo.WinFormsUI.Docking.DockPanelSkin = New WeifenLuo.WinFormsUI.Docking.DockPanelSkin
Dim AutoHideStripSkin3 As WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin = New WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin
Dim DockPanelGradient7 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
Dim TabGradient15 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
Dim DockPaneStripSkin3 As WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin = New WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin
Dim DockPaneStripGradient3 As WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient = New WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient
Dim TabGradient16 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
Dim DockPanelGradient8 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
Dim TabGradient17 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
Dim DockPaneStripToolWindowGradient3 As WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient = New WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient
Dim TabGradient18 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
Dim TabGradient19 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
Dim DockPanelGradient9 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
Dim TabGradient20 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
Dim TabGradient21 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
Me.pnlDock = New WeifenLuo.WinFormsUI.Docking.DockPanel
Me.msMain = New System.Windows.Forms.MenuStrip
@@ -64,11 +79,14 @@ Partial Class frmMain
Me.mMenInfo = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoHelp = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoSep1 = New System.Windows.Forms.ToolStripSeparator
Me.mMenInfoBugReport = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoDonate = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoWebsite = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoSep2 = New System.Windows.Forms.ToolStripSeparator
Me.mMenInfoDonate = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoForum = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoBugReport = New System.Windows.Forms.ToolStripMenuItem
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator
Me.mMenInfoAnnouncements = New System.Windows.Forms.ToolStripMenuItem
Me.mMenToolsUpdate = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoSep2 = New System.Windows.Forms.ToolStripSeparator
Me.mMenInfoAbout = New System.Windows.Forms.ToolStripMenuItem
Me.mMenSep3 = New System.Windows.Forms.ToolStripSeparator
Me.lblQuickConnect = New System.Windows.Forms.ToolStripLabel
@@ -82,9 +100,7 @@ Partial Class frmMain
Me.cMenToolbarShowText = New System.Windows.Forms.ToolStripMenuItem
Me.tmrShowUpdate = New System.Windows.Forms.Timer(Me.components)
Me.tmrAutoSave = New System.Windows.Forms.Timer(Me.components)
Me.mMenToolsUpdate = New System.Windows.Forms.ToolStripMenuItem
Me.mMenInfoForum = New System.Windows.Forms.ToolStripMenuItem
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator
Me.mMenViewResetLayout = New System.Windows.Forms.ToolStripMenuItem
Me.msMain.SuspendLayout()
Me.tsContainer.ContentPanel.SuspendLayout()
Me.tsContainer.TopToolStripPanel.SuspendLayout()
@@ -97,23 +113,70 @@ Partial Class frmMain
'
Me.pnlDock.ActiveAutoHideContent = Nothing
Me.pnlDock.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnlDock.DockBackColor = System.Drawing.SystemColors.Control
Me.pnlDock.DockLeftPortion = 230
Me.pnlDock.DockRightPortion = 230
Me.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow
Me.pnlDock.Location = New System.Drawing.Point(0, 0)
Me.pnlDock.Name = "pnlDock"
Me.pnlDock.Size = New System.Drawing.Size(842, 499)
Me.pnlDock.Size = New System.Drawing.Size(842, 449)
DockPanelGradient7.EndColor = System.Drawing.SystemColors.ControlLight
DockPanelGradient7.StartColor = System.Drawing.SystemColors.ControlLight
AutoHideStripSkin3.DockStripGradient = DockPanelGradient7
TabGradient15.EndColor = System.Drawing.SystemColors.Control
TabGradient15.StartColor = System.Drawing.SystemColors.Control
TabGradient15.TextColor = System.Drawing.SystemColors.ControlDarkDark
AutoHideStripSkin3.TabGradient = TabGradient15
DockPanelSkin3.AutoHideStripSkin = AutoHideStripSkin3
TabGradient16.EndColor = System.Drawing.SystemColors.ControlLightLight
TabGradient16.StartColor = System.Drawing.SystemColors.ControlLightLight
TabGradient16.TextColor = System.Drawing.SystemColors.ControlText
DockPaneStripGradient3.ActiveTabGradient = TabGradient16
DockPanelGradient8.EndColor = System.Drawing.SystemColors.Control
DockPanelGradient8.StartColor = System.Drawing.SystemColors.Control
DockPaneStripGradient3.DockStripGradient = DockPanelGradient8
TabGradient17.EndColor = System.Drawing.SystemColors.ControlLight
TabGradient17.StartColor = System.Drawing.SystemColors.ControlLight
TabGradient17.TextColor = System.Drawing.SystemColors.ControlText
DockPaneStripGradient3.InactiveTabGradient = TabGradient17
DockPaneStripSkin3.DocumentGradient = DockPaneStripGradient3
TabGradient18.EndColor = System.Drawing.SystemColors.ActiveCaption
TabGradient18.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical
TabGradient18.StartColor = System.Drawing.SystemColors.GradientActiveCaption
TabGradient18.TextColor = System.Drawing.SystemColors.ActiveCaptionText
DockPaneStripToolWindowGradient3.ActiveCaptionGradient = TabGradient18
TabGradient19.EndColor = System.Drawing.SystemColors.Control
TabGradient19.StartColor = System.Drawing.SystemColors.Control
TabGradient19.TextColor = System.Drawing.SystemColors.ControlText
DockPaneStripToolWindowGradient3.ActiveTabGradient = TabGradient19
DockPanelGradient9.EndColor = System.Drawing.SystemColors.ControlLight
DockPanelGradient9.StartColor = System.Drawing.SystemColors.ControlLight
DockPaneStripToolWindowGradient3.DockStripGradient = DockPanelGradient9
TabGradient20.EndColor = System.Drawing.SystemColors.GradientInactiveCaption
TabGradient20.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical
TabGradient20.StartColor = System.Drawing.SystemColors.GradientInactiveCaption
TabGradient20.TextColor = System.Drawing.SystemColors.ControlText
DockPaneStripToolWindowGradient3.InactiveCaptionGradient = TabGradient20
TabGradient21.EndColor = System.Drawing.Color.Transparent
TabGradient21.StartColor = System.Drawing.Color.Transparent
TabGradient21.TextColor = System.Drawing.SystemColors.ControlDarkDark
DockPaneStripToolWindowGradient3.InactiveTabGradient = TabGradient21
DockPaneStripSkin3.ToolWindowGradient = DockPaneStripToolWindowGradient3
DockPanelSkin3.DockPaneStripSkin = DockPaneStripSkin3
Me.pnlDock.Skin = DockPanelSkin3
Me.pnlDock.TabIndex = 13
'
'msMain
'
Me.msMain.Dock = System.Windows.Forms.DockStyle.None
Me.msMain.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.msMain.GripMargin = New System.Windows.Forms.Padding(2, 0, 0, 0)
Me.msMain.GripMargin = New System.Windows.Forms.Padding(0)
Me.msMain.GripStyle = System.Windows.Forms.ToolStripGripStyle.Visible
Me.msMain.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFile, Me.mMenView, Me.mMenTools, Me.mMenInfo})
Me.msMain.Location = New System.Drawing.Point(0, 0)
Me.msMain.Location = New System.Drawing.Point(3, 0)
Me.msMain.Name = "msMain"
Me.msMain.Size = New System.Drawing.Size(842, 24)
Me.msMain.Padding = New System.Windows.Forms.Padding(2, 2, 0, 2)
Me.msMain.Size = New System.Drawing.Size(274, 24)
Me.msMain.Stretch = False
Me.msMain.TabIndex = 16
Me.msMain.Text = "Main Toolbar"
'
@@ -121,7 +184,7 @@ Partial Class frmMain
'
Me.mMenFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFileNew, Me.mMenFileLoad, Me.mMenFileSep1, Me.mMenFileSave, Me.mMenFileSaveAs, Me.mMenFileSep2, Me.mMenFileExit})
Me.mMenFile.Name = "mMenFile"
Me.mMenFile.Size = New System.Drawing.Size(35, 20)
Me.mMenFile.Size = New System.Drawing.Size(37, 20)
Me.mMenFile.Text = "&File"
'
'mMenFileNew
@@ -129,7 +192,7 @@ Partial Class frmMain
Me.mMenFileNew.Image = Global.mRemote.My.Resources.Resources.Connections_New
Me.mMenFileNew.Name = "mMenFileNew"
Me.mMenFileNew.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.N), System.Windows.Forms.Keys)
Me.mMenFileNew.Size = New System.Drawing.Size(238, 22)
Me.mMenFileNew.Size = New System.Drawing.Size(256, 22)
Me.mMenFileNew.Text = "New Connections"
'
'mMenFileLoad
@@ -137,20 +200,20 @@ Partial Class frmMain
Me.mMenFileLoad.Image = Global.mRemote.My.Resources.Resources.Connections_Load
Me.mMenFileLoad.Name = "mMenFileLoad"
Me.mMenFileLoad.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.O), System.Windows.Forms.Keys)
Me.mMenFileLoad.Size = New System.Drawing.Size(238, 22)
Me.mMenFileLoad.Size = New System.Drawing.Size(256, 22)
Me.mMenFileLoad.Text = "Open Connections"
'
'mMenFileSep1
'
Me.mMenFileSep1.Name = "mMenFileSep1"
Me.mMenFileSep1.Size = New System.Drawing.Size(235, 6)
Me.mMenFileSep1.Size = New System.Drawing.Size(253, 6)
'
'mMenFileSave
'
Me.mMenFileSave.Image = Global.mRemote.My.Resources.Resources.Connections_Save
Me.mMenFileSave.Name = "mMenFileSave"
Me.mMenFileSave.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
Me.mMenFileSave.Size = New System.Drawing.Size(238, 22)
Me.mMenFileSave.Size = New System.Drawing.Size(256, 22)
Me.mMenFileSave.Text = "Save Connections"
'
'mMenFileSaveAs
@@ -159,47 +222,47 @@ Partial Class frmMain
Me.mMenFileSaveAs.Name = "mMenFileSaveAs"
Me.mMenFileSaveAs.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Shift) _
Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
Me.mMenFileSaveAs.Size = New System.Drawing.Size(238, 22)
Me.mMenFileSaveAs.Size = New System.Drawing.Size(256, 22)
Me.mMenFileSaveAs.Text = "Save Connections As"
'
'mMenFileSep2
'
Me.mMenFileSep2.Name = "mMenFileSep2"
Me.mMenFileSep2.Size = New System.Drawing.Size(235, 6)
Me.mMenFileSep2.Size = New System.Drawing.Size(253, 6)
'
'mMenFileExit
'
Me.mMenFileExit.Image = Global.mRemote.My.Resources.Resources.Quit
Me.mMenFileExit.Name = "mMenFileExit"
Me.mMenFileExit.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.F4), System.Windows.Forms.Keys)
Me.mMenFileExit.Size = New System.Drawing.Size(238, 22)
Me.mMenFileExit.Size = New System.Drawing.Size(256, 22)
Me.mMenFileExit.Text = "Exit"
'
'mMenView
'
Me.mMenView.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewAddConnectionPanel, Me.mMenViewConnectionPanels, Me.mMenViewSep1, Me.mMenViewConnections, Me.mMenViewConfig, Me.mMenViewSessions, Me.mMenViewErrorsAndInfos, Me.mMenViewScreenshotManager, Me.ToolStripSeparator1, Me.mMenViewJumpTo, Me.mMenViewSep2, Me.mMenViewQuickConnectToolbar, Me.mMenViewExtAppsToolbar, Me.mMenViewSep3, Me.mMenViewFullscreen})
Me.mMenView.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewAddConnectionPanel, Me.mMenViewConnectionPanels, Me.mMenViewSep1, Me.mMenViewConnections, Me.mMenViewConfig, Me.mMenViewSessions, Me.mMenViewErrorsAndInfos, Me.mMenViewScreenshotManager, Me.ToolStripSeparator1, Me.mMenViewJumpTo, Me.mMenViewResetLayout, Me.mMenViewSep2, Me.mMenViewQuickConnectToolbar, Me.mMenViewExtAppsToolbar, Me.mMenViewSep3, Me.mMenViewFullscreen})
Me.mMenView.Name = "mMenView"
Me.mMenView.Size = New System.Drawing.Size(42, 20)
Me.mMenView.Size = New System.Drawing.Size(44, 20)
Me.mMenView.Text = "&View"
'
'mMenViewAddConnectionPanel
'
Me.mMenViewAddConnectionPanel.Image = Global.mRemote.My.Resources.Resources.Panel_Add
Me.mMenViewAddConnectionPanel.Name = "mMenViewAddConnectionPanel"
Me.mMenViewAddConnectionPanel.Size = New System.Drawing.Size(211, 22)
Me.mMenViewAddConnectionPanel.Size = New System.Drawing.Size(228, 22)
Me.mMenViewAddConnectionPanel.Text = "Add Connection Panel"
'
'mMenViewConnectionPanels
'
Me.mMenViewConnectionPanels.Image = Global.mRemote.My.Resources.Resources.Panels
Me.mMenViewConnectionPanels.Name = "mMenViewConnectionPanels"
Me.mMenViewConnectionPanels.Size = New System.Drawing.Size(211, 22)
Me.mMenViewConnectionPanels.Size = New System.Drawing.Size(228, 22)
Me.mMenViewConnectionPanels.Text = "Connection Panels"
'
'mMenViewSep1
'
Me.mMenViewSep1.Name = "mMenViewSep1"
Me.mMenViewSep1.Size = New System.Drawing.Size(208, 6)
Me.mMenViewSep1.Size = New System.Drawing.Size(225, 6)
'
'mMenViewConnections
'
@@ -207,7 +270,7 @@ Partial Class frmMain
Me.mMenViewConnections.CheckState = System.Windows.Forms.CheckState.Checked
Me.mMenViewConnections.Image = Global.mRemote.My.Resources.Resources.Root
Me.mMenViewConnections.Name = "mMenViewConnections"
Me.mMenViewConnections.Size = New System.Drawing.Size(211, 22)
Me.mMenViewConnections.Size = New System.Drawing.Size(228, 22)
Me.mMenViewConnections.Text = "Connections"
'
'mMenViewConfig
@@ -216,7 +279,7 @@ Partial Class frmMain
Me.mMenViewConfig.CheckState = System.Windows.Forms.CheckState.Checked
Me.mMenViewConfig.Image = CType(resources.GetObject("mMenViewConfig.Image"), System.Drawing.Image)
Me.mMenViewConfig.Name = "mMenViewConfig"
Me.mMenViewConfig.Size = New System.Drawing.Size(211, 22)
Me.mMenViewConfig.Size = New System.Drawing.Size(228, 22)
Me.mMenViewConfig.Text = "Config"
'
'mMenViewSessions
@@ -225,7 +288,7 @@ Partial Class frmMain
Me.mMenViewSessions.CheckState = System.Windows.Forms.CheckState.Checked
Me.mMenViewSessions.Image = CType(resources.GetObject("mMenViewSessions.Image"), System.Drawing.Image)
Me.mMenViewSessions.Name = "mMenViewSessions"
Me.mMenViewSessions.Size = New System.Drawing.Size(211, 22)
Me.mMenViewSessions.Size = New System.Drawing.Size(228, 22)
Me.mMenViewSessions.Text = "Sessions"
'
'mMenViewErrorsAndInfos
@@ -234,27 +297,27 @@ Partial Class frmMain
Me.mMenViewErrorsAndInfos.CheckState = System.Windows.Forms.CheckState.Checked
Me.mMenViewErrorsAndInfos.Image = Global.mRemote.My.Resources.Resources.ErrorsAndInfos
Me.mMenViewErrorsAndInfos.Name = "mMenViewErrorsAndInfos"
Me.mMenViewErrorsAndInfos.Size = New System.Drawing.Size(211, 22)
Me.mMenViewErrorsAndInfos.Size = New System.Drawing.Size(228, 22)
Me.mMenViewErrorsAndInfos.Text = "Errors and Infos"
'
'mMenViewScreenshotManager
'
Me.mMenViewScreenshotManager.Image = CType(resources.GetObject("mMenViewScreenshotManager.Image"), System.Drawing.Image)
Me.mMenViewScreenshotManager.Name = "mMenViewScreenshotManager"
Me.mMenViewScreenshotManager.Size = New System.Drawing.Size(211, 22)
Me.mMenViewScreenshotManager.Size = New System.Drawing.Size(228, 22)
Me.mMenViewScreenshotManager.Text = "Screenshot Manager"
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
Me.ToolStripSeparator1.Size = New System.Drawing.Size(208, 6)
Me.ToolStripSeparator1.Size = New System.Drawing.Size(225, 6)
'
'mMenViewJumpTo
'
Me.mMenViewJumpTo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewJumpToConnectionsConfig, Me.mMenViewJumpToSessionsScreenshots, Me.mMenViewJumpToErrorsInfos})
Me.mMenViewJumpTo.Image = Global.mRemote.My.Resources.Resources.JumpTo
Me.mMenViewJumpTo.Name = "mMenViewJumpTo"
Me.mMenViewJumpTo.Size = New System.Drawing.Size(211, 22)
Me.mMenViewJumpTo.Size = New System.Drawing.Size(228, 22)
Me.mMenViewJumpTo.Text = "Jump To"
'
'mMenViewJumpToConnectionsConfig
@@ -262,7 +325,7 @@ Partial Class frmMain
Me.mMenViewJumpToConnectionsConfig.Name = "mMenViewJumpToConnectionsConfig"
Me.mMenViewJumpToConnectionsConfig.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys)
Me.mMenViewJumpToConnectionsConfig.Size = New System.Drawing.Size(240, 22)
Me.mMenViewJumpToConnectionsConfig.Size = New System.Drawing.Size(260, 22)
Me.mMenViewJumpToConnectionsConfig.Text = "Connections && Config"
'
'mMenViewJumpToSessionsScreenshots
@@ -270,7 +333,7 @@ Partial Class frmMain
Me.mMenViewJumpToSessionsScreenshots.Name = "mMenViewJumpToSessionsScreenshots"
Me.mMenViewJumpToSessionsScreenshots.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
Me.mMenViewJumpToSessionsScreenshots.Size = New System.Drawing.Size(240, 22)
Me.mMenViewJumpToSessionsScreenshots.Size = New System.Drawing.Size(260, 22)
Me.mMenViewJumpToSessionsScreenshots.Text = "Sessions && Screenshots"
'
'mMenViewJumpToErrorsInfos
@@ -278,99 +341,100 @@ Partial Class frmMain
Me.mMenViewJumpToErrorsInfos.Name = "mMenViewJumpToErrorsInfos"
Me.mMenViewJumpToErrorsInfos.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
Or System.Windows.Forms.Keys.E), System.Windows.Forms.Keys)
Me.mMenViewJumpToErrorsInfos.Size = New System.Drawing.Size(240, 22)
Me.mMenViewJumpToErrorsInfos.Size = New System.Drawing.Size(260, 22)
Me.mMenViewJumpToErrorsInfos.Text = "Errors && Infos"
'
'mMenViewSep2
'
Me.mMenViewSep2.Name = "mMenViewSep2"
Me.mMenViewSep2.Size = New System.Drawing.Size(208, 6)
Me.mMenViewSep2.Size = New System.Drawing.Size(225, 6)
'
'mMenViewQuickConnectToolbar
'
Me.mMenViewQuickConnectToolbar.Image = Global.mRemote.My.Resources.Resources.Play_Quick
Me.mMenViewQuickConnectToolbar.Name = "mMenViewQuickConnectToolbar"
Me.mMenViewQuickConnectToolbar.Size = New System.Drawing.Size(211, 22)
Me.mMenViewQuickConnectToolbar.Text = "Quicky Toolbar"
Me.mMenViewQuickConnectToolbar.Size = New System.Drawing.Size(228, 22)
Me.mMenViewQuickConnectToolbar.Text = "Quick Connect Toolbar"
'
'mMenViewExtAppsToolbar
'
Me.mMenViewExtAppsToolbar.Image = CType(resources.GetObject("mMenViewExtAppsToolbar.Image"), System.Drawing.Image)
Me.mMenViewExtAppsToolbar.Name = "mMenViewExtAppsToolbar"
Me.mMenViewExtAppsToolbar.Size = New System.Drawing.Size(211, 22)
Me.mMenViewExtAppsToolbar.Size = New System.Drawing.Size(228, 22)
Me.mMenViewExtAppsToolbar.Text = "External Applications Toolbar"
'
'mMenViewSep3
'
Me.mMenViewSep3.Name = "mMenViewSep3"
Me.mMenViewSep3.Size = New System.Drawing.Size(208, 6)
Me.mMenViewSep3.Size = New System.Drawing.Size(225, 6)
'
'mMenViewFullscreen
'
Me.mMenViewFullscreen.Image = Global.mRemote.My.Resources.Resources.Fullscreen
Me.mMenViewFullscreen.Name = "mMenViewFullscreen"
Me.mMenViewFullscreen.Size = New System.Drawing.Size(211, 22)
Me.mMenViewFullscreen.Text = "Fullscreen (Kiosk Mode)"
Me.mMenViewFullscreen.ShortcutKeys = System.Windows.Forms.Keys.F11
Me.mMenViewFullscreen.Size = New System.Drawing.Size(228, 22)
Me.mMenViewFullscreen.Text = "Full Screen"
'
'mMenTools
'
Me.mMenTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenToolsSSHTransfer, Me.mMenToolsUVNCSC, Me.mMenToolsExternalApps, Me.mMenToolsPortScan, Me.mMenToolsSep1, Me.mMenToolsComponentsCheck, Me.mMenToolsOptions})
Me.mMenTools.Name = "mMenTools"
Me.mMenTools.Size = New System.Drawing.Size(45, 20)
Me.mMenTools.Size = New System.Drawing.Size(48, 20)
Me.mMenTools.Text = "&Tools"
'
'mMenToolsSSHTransfer
'
Me.mMenToolsSSHTransfer.Image = Global.mRemote.My.Resources.Resources.SSHTransfer
Me.mMenToolsSSHTransfer.Name = "mMenToolsSSHTransfer"
Me.mMenToolsSSHTransfer.Size = New System.Drawing.Size(173, 22)
Me.mMenToolsSSHTransfer.Size = New System.Drawing.Size(184, 22)
Me.mMenToolsSSHTransfer.Text = "SSH File Transfer"
'
'mMenToolsUVNCSC
'
Me.mMenToolsUVNCSC.Image = Global.mRemote.My.Resources.Resources.UVNC_SC
Me.mMenToolsUVNCSC.Name = "mMenToolsUVNCSC"
Me.mMenToolsUVNCSC.Size = New System.Drawing.Size(173, 22)
Me.mMenToolsUVNCSC.Size = New System.Drawing.Size(184, 22)
Me.mMenToolsUVNCSC.Text = "UltraVNC SingleClick"
'
'mMenToolsExternalApps
'
Me.mMenToolsExternalApps.Image = CType(resources.GetObject("mMenToolsExternalApps.Image"), System.Drawing.Image)
Me.mMenToolsExternalApps.Name = "mMenToolsExternalApps"
Me.mMenToolsExternalApps.Size = New System.Drawing.Size(173, 22)
Me.mMenToolsExternalApps.Size = New System.Drawing.Size(184, 22)
Me.mMenToolsExternalApps.Text = "External Applications"
'
'mMenToolsPortScan
'
Me.mMenToolsPortScan.Image = Global.mRemote.My.Resources.Resources.PortScan
Me.mMenToolsPortScan.Name = "mMenToolsPortScan"
Me.mMenToolsPortScan.Size = New System.Drawing.Size(173, 22)
Me.mMenToolsPortScan.Size = New System.Drawing.Size(184, 22)
Me.mMenToolsPortScan.Text = "Port Scan"
'
'mMenToolsSep1
'
Me.mMenToolsSep1.Name = "mMenToolsSep1"
Me.mMenToolsSep1.Size = New System.Drawing.Size(170, 6)
Me.mMenToolsSep1.Size = New System.Drawing.Size(181, 6)
'
'mMenToolsComponentsCheck
'
Me.mMenToolsComponentsCheck.Image = Global.mRemote.My.Resources.Resources.ComponentsCheck
Me.mMenToolsComponentsCheck.Name = "mMenToolsComponentsCheck"
Me.mMenToolsComponentsCheck.Size = New System.Drawing.Size(173, 22)
Me.mMenToolsComponentsCheck.Size = New System.Drawing.Size(184, 22)
Me.mMenToolsComponentsCheck.Text = "Components Check"
'
'mMenToolsOptions
'
Me.mMenToolsOptions.Image = CType(resources.GetObject("mMenToolsOptions.Image"), System.Drawing.Image)
Me.mMenToolsOptions.Name = "mMenToolsOptions"
Me.mMenToolsOptions.Size = New System.Drawing.Size(173, 22)
Me.mMenToolsOptions.Size = New System.Drawing.Size(184, 22)
Me.mMenToolsOptions.Text = "Options"
'
'mMenInfo
'
Me.mMenInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenInfoHelp, Me.mMenInfoSep1, Me.mMenInfoWebsite, Me.mMenInfoDonate, Me.mMenInfoForum, Me.mMenInfoBugReport, Me.ToolStripSeparator2, Me.mMenInfoAnnouncements, Me.mMenToolsUpdate, Me.mMenInfoSep2, Me.mMenInfoAbout})
Me.mMenInfo.Name = "mMenInfo"
Me.mMenInfo.Size = New System.Drawing.Size(41, 20)
Me.mMenInfo.Size = New System.Drawing.Size(44, 20)
Me.mMenInfo.Text = "&Help"
Me.mMenInfo.TextDirection = System.Windows.Forms.ToolStripTextDirection.Horizontal
'
@@ -379,52 +443,70 @@ Partial Class frmMain
Me.mMenInfoHelp.Image = CType(resources.GetObject("mMenInfoHelp.Image"), System.Drawing.Image)
Me.mMenInfoHelp.Name = "mMenInfoHelp"
Me.mMenInfoHelp.ShortcutKeys = System.Windows.Forms.Keys.F1
Me.mMenInfoHelp.Size = New System.Drawing.Size(179, 22)
Me.mMenInfoHelp.Size = New System.Drawing.Size(190, 22)
Me.mMenInfoHelp.Text = "mRemoteNG Help"
'
'mMenInfoSep1
'
Me.mMenInfoSep1.Name = "mMenInfoSep1"
Me.mMenInfoSep1.Size = New System.Drawing.Size(176, 6)
'
'mMenInfoBugReport
'
Me.mMenInfoBugReport.Image = Global.mRemote.My.Resources.Resources.Bug
Me.mMenInfoBugReport.Name = "mMenInfoBugReport"
Me.mMenInfoBugReport.Size = New System.Drawing.Size(179, 22)
Me.mMenInfoBugReport.Text = "Report a Bug"
'
'mMenInfoDonate
'
Me.mMenInfoDonate.Image = Global.mRemote.My.Resources.Resources.Donate
Me.mMenInfoDonate.Name = "mMenInfoDonate"
Me.mMenInfoDonate.Size = New System.Drawing.Size(179, 22)
Me.mMenInfoDonate.Text = "Donate"
Me.mMenInfoSep1.Size = New System.Drawing.Size(187, 6)
'
'mMenInfoWebsite
'
Me.mMenInfoWebsite.Image = CType(resources.GetObject("mMenInfoWebsite.Image"), System.Drawing.Image)
Me.mMenInfoWebsite.Name = "mMenInfoWebsite"
Me.mMenInfoWebsite.Size = New System.Drawing.Size(179, 22)
Me.mMenInfoWebsite.Size = New System.Drawing.Size(190, 22)
Me.mMenInfoWebsite.Text = "Website"
'
'mMenInfoSep2
'mMenInfoDonate
'
Me.mMenInfoSep2.Name = "mMenInfoSep2"
Me.mMenInfoSep2.Size = New System.Drawing.Size(176, 6)
Me.mMenInfoDonate.Image = Global.mRemote.My.Resources.Resources.Donate
Me.mMenInfoDonate.Name = "mMenInfoDonate"
Me.mMenInfoDonate.Size = New System.Drawing.Size(190, 22)
Me.mMenInfoDonate.Text = "Donate"
'
'mMenInfoForum
'
Me.mMenInfoForum.Name = "mMenInfoForum"
Me.mMenInfoForum.Size = New System.Drawing.Size(190, 22)
Me.mMenInfoForum.Text = "Support Forum"
'
'mMenInfoBugReport
'
Me.mMenInfoBugReport.Image = Global.mRemote.My.Resources.Resources.Bug
Me.mMenInfoBugReport.Name = "mMenInfoBugReport"
Me.mMenInfoBugReport.Size = New System.Drawing.Size(190, 22)
Me.mMenInfoBugReport.Text = "Report a Bug"
'
'ToolStripSeparator2
'
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
Me.ToolStripSeparator2.Size = New System.Drawing.Size(187, 6)
'
'mMenInfoAnnouncements
'
Me.mMenInfoAnnouncements.Image = Global.mRemote.My.Resources.Resources.News
Me.mMenInfoAnnouncements.Name = "mMenInfoAnnouncements"
Me.mMenInfoAnnouncements.Size = New System.Drawing.Size(179, 22)
Me.mMenInfoAnnouncements.Size = New System.Drawing.Size(190, 22)
Me.mMenInfoAnnouncements.Text = "Announcements"
'
'mMenToolsUpdate
'
Me.mMenToolsUpdate.Image = Global.mRemote.My.Resources.Resources.Update
Me.mMenToolsUpdate.Name = "mMenToolsUpdate"
Me.mMenToolsUpdate.Size = New System.Drawing.Size(190, 22)
Me.mMenToolsUpdate.Text = "Check for Updates"
'
'mMenInfoSep2
'
Me.mMenInfoSep2.Name = "mMenInfoSep2"
Me.mMenInfoSep2.Size = New System.Drawing.Size(187, 6)
'
'mMenInfoAbout
'
Me.mMenInfoAbout.Image = Global.mRemote.My.Resources.Resources.mRemote
Me.mMenInfoAbout.Name = "mMenInfoAbout"
Me.mMenInfoAbout.Size = New System.Drawing.Size(179, 22)
Me.mMenInfoAbout.Size = New System.Drawing.Size(190, 22)
Me.mMenInfoAbout.Text = "About mRemoteNG"
'
'mMenSep3
@@ -435,15 +517,15 @@ Partial Class frmMain
'lblQuickConnect
'
Me.lblQuickConnect.Name = "lblQuickConnect"
Me.lblQuickConnect.Size = New System.Drawing.Size(43, 22)
Me.lblQuickConnect.Text = "&Quicky:"
Me.lblQuickConnect.Size = New System.Drawing.Size(55, 22)
Me.lblQuickConnect.Text = "&Connect:"
'
'cmbQuickConnect
'
Me.cmbQuickConnect.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
Me.cmbQuickConnect.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
Me.cmbQuickConnect.Name = "cmbQuickConnect"
Me.cmbQuickConnect.Size = New System.Drawing.Size(120, 21)
Me.cmbQuickConnect.Size = New System.Drawing.Size(120, 25)
'
'tsContainer
'
@@ -455,7 +537,8 @@ Partial Class frmMain
'tsContainer.ContentPanel
'
Me.tsContainer.ContentPanel.Controls.Add(Me.pnlDock)
Me.tsContainer.ContentPanel.Size = New System.Drawing.Size(842, 499)
Me.tsContainer.ContentPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.tsContainer.ContentPanel.Size = New System.Drawing.Size(842, 449)
Me.tsContainer.Dock = System.Windows.Forms.DockStyle.Fill
'
'tsContainer.LeftToolStripPanel
@@ -474,16 +557,17 @@ Partial Class frmMain
'tsContainer.TopToolStripPanel
'
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.msMain)
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsQuickConnect)
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsExtAppsToolbar)
Me.tsContainer.TopToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
'
'tsQuickConnect
'
Me.tsQuickConnect.Dock = System.Windows.Forms.DockStyle.None
Me.tsQuickConnect.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.lblQuickConnect, Me.cmbQuickConnect, Me.btnQuickyPlay, Me.mMenQuickyCon})
Me.tsQuickConnect.Location = New System.Drawing.Point(3, 0)
Me.tsQuickConnect.Location = New System.Drawing.Point(3, 24)
Me.tsQuickConnect.Name = "tsQuickConnect"
Me.tsQuickConnect.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.tsQuickConnect.Size = New System.Drawing.Size(207, 25)
Me.tsQuickConnect.Size = New System.Drawing.Size(251, 25)
Me.tsQuickConnect.TabIndex = 18
'
'btnQuickyPlay
@@ -492,8 +576,8 @@ Partial Class frmMain
Me.btnQuickyPlay.Image = Global.mRemote.My.Resources.Resources.Play_Quick
Me.btnQuickyPlay.ImageTransparentColor = System.Drawing.Color.Magenta
Me.btnQuickyPlay.Name = "btnQuickyPlay"
Me.btnQuickyPlay.Size = New System.Drawing.Size(32, 20)
Me.btnQuickyPlay.Text = "Play"
Me.btnQuickyPlay.Size = New System.Drawing.Size(32, 22)
Me.btnQuickyPlay.Text = "Connect"
'
'mMenQuickyCon
'
@@ -510,25 +594,23 @@ Partial Class frmMain
'
Me.tsExtAppsToolbar.ContextMenuStrip = Me.cMenExtAppsToolbar
Me.tsExtAppsToolbar.Dock = System.Windows.Forms.DockStyle.None
Me.tsExtAppsToolbar.Location = New System.Drawing.Point(300, 0)
Me.tsExtAppsToolbar.Location = New System.Drawing.Point(39, 49)
Me.tsExtAppsToolbar.Name = "tsExtAppsToolbar"
Me.tsExtAppsToolbar.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.tsExtAppsToolbar.Size = New System.Drawing.Size(109, 25)
Me.tsExtAppsToolbar.Size = New System.Drawing.Size(111, 25)
Me.tsExtAppsToolbar.TabIndex = 17
'
'cMenExtAppsToolbar
'
Me.cMenExtAppsToolbar.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenToolbarShowText})
Me.cMenExtAppsToolbar.Name = "cMenToolbar"
Me.cMenExtAppsToolbar.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.cMenExtAppsToolbar.Size = New System.Drawing.Size(126, 26)
Me.cMenExtAppsToolbar.Size = New System.Drawing.Size(129, 26)
'
'cMenToolbarShowText
'
Me.cMenToolbarShowText.Checked = True
Me.cMenToolbarShowText.CheckState = System.Windows.Forms.CheckState.Checked
Me.cMenToolbarShowText.Name = "cMenToolbarShowText"
Me.cMenToolbarShowText.Size = New System.Drawing.Size(125, 22)
Me.cMenToolbarShowText.Size = New System.Drawing.Size(128, 22)
Me.cMenToolbarShowText.Text = "Show Text"
'
'tmrShowUpdate
@@ -540,23 +622,11 @@ Partial Class frmMain
'
Me.tmrAutoSave.Interval = 10000
'
'mMenToolsUpdate
'mMenViewResetLayout
'
Me.mMenToolsUpdate.Image = Global.mRemote.My.Resources.Resources.Update
Me.mMenToolsUpdate.Name = "mMenToolsUpdate"
Me.mMenToolsUpdate.Size = New System.Drawing.Size(179, 22)
Me.mMenToolsUpdate.Text = "Check for Updates"
'
'mMenInfoForum
'
Me.mMenInfoForum.Name = "mMenInfoForum"
Me.mMenInfoForum.Size = New System.Drawing.Size(179, 22)
Me.mMenInfoForum.Text = "Support Forum"
'
'ToolStripSeparator2
'
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
Me.ToolStripSeparator2.Size = New System.Drawing.Size(176, 6)
Me.mMenViewResetLayout.Name = "mMenViewResetLayout"
Me.mMenViewResetLayout.Size = New System.Drawing.Size(228, 22)
Me.mMenViewResetLayout.Text = "Reset Layout"
'
'frmMain
'
@@ -566,9 +636,8 @@ Partial Class frmMain
Me.Controls.Add(Me.tsContainer)
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Icon
Me.MainMenuStrip = Me.msMain
Me.MaximumSize = New System.Drawing.Size(20000, 10000)
Me.Name = "frmMain"
Me.Text = "mRemote"
Me.Text = "mRemoteNG"
Me.msMain.ResumeLayout(False)
Me.msMain.PerformLayout()
Me.tsContainer.ContentPanel.ResumeLayout(False)
@@ -643,5 +712,6 @@ Partial Class frmMain
Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents mMenInfoForum As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents mMenToolsUpdate As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents mMenViewResetLayout As System.Windows.Forms.ToolStripMenuItem
End Class

View File

@@ -118,14 +118,14 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="msMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>13, 8</value>
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="mMenViewConfig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBwAA
CwcBtnMLwAAAArhJREFUOE91U91LU3EYnt0GjUYSgv+EoDeCgXkhiuBAL7swoTWUEryYF2JXQlebTIlK
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALAgAA
CwIBm8luNgAAArhJREFUOE91U91LU3EYnt0GjUYSgv+EoDeCgXkhiuBAL7swoTWUEryYF2JXQlebTIlK
pA1bmfODND+DpqUzt5Vfm7NtZx9n52xnui9zm/m5p9/vlINcHnjhnPf83ud5n/d9fhIAkv9FQ0NDrU6n
29fr9cnS0tKqq87lFQ8MDNxqaWm5oVKpjPFEEql0Gp2dnYb29vbrGo3m9mWgHIDBYGh7PzmZ1en1gtE4
kgoLEYTCAmLxOE5OTzExMXHw2mAQTCZT9vmLF8oLIBFAJpNde/N2iGP5EOKJhBh70SjYIAchEsHu3h4O
@@ -143,145 +143,145 @@
<data name="mMenViewSessions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBwAA
CwcBtnMLwAAAA4RJREFUOE9lk3tMk1cchg8a562VKXGZUxMNy8a8zM3bNIW1Omi/Xj5LKa2UYgvSyxDa
CrSFUq4lghTKrMMKBQ0mRggiMrIJjuDGNk2WbfES4oIgGqNRZ5TpGqmG9t0H/qNykifnknOe8+aXcyIA
kNebfmPU9HRqdVZExMfL3yX+99jhrcHJMHnyfNazkaezy8dfhJoRDk++2sgIXqcwdjGZws5ZEunaEXnJ
R78Dj2QuvLJI1EgWw7iNHUjZvlyaRcUQI/+jmQJvPItMcWjH/FW+xGX4rlSCs0UUHPFRMHNYSNswF+XK
T6s6K5TklDNxpqApOYpM0SBZuKLDQYeej13E45+86K3X4UKTFd8fsaIzb6PryjE9+bMxnZCvdRmv0O+N
MKarVUWC1bfLuKx/7LGsRxbxuhdD/a0IXO3Ay6FOBId7caenOJwhV+hiZMfJetlhQrIz90yTpdu7uUAZ
N+JRRMNNL4U7eRX2cRahJFOIe321+PeXBoz/WAG3STWxYMtBw6Kdx8gCbiMhVtH6afKFG4rL6WiU8JfC
KV6JHOZwbsIHkMTMQ5XLgtp6F3wtfrT+FsJnioGbc7Y1f8XiMYJcDpvkcRaS7C1znBVpseg/mo8zVVq4
M7aiyZoIQ0I08s9dhvpnIKkHqBwEDv0QxIfirrFI7mEO0Yo2EwUVR3QJ6wxDHeUIjvYjeK0DTy76MTHc
h4F6LfStI0htD0N+PAT+EUDfPI6+E3605fJvEL5QTLYL1GQTL0X8bU5C4L9LPoSGmavGzuPBgAd2oxxy
/32knASUbUBaO5Ok6DIGWypxp3bTJBGJREQoEsfEcuMvlDgLQ06bGaerM9FQqEahLRcmkxnCrBokt9zF
7lOPwTtwCxz66L3eEsEfw63pNiKgk1bsM1kGpbt2wWq1Qac3oLu7Gz6fD3s0Wlj278dupRJfCPMCn4hP
3l3J77oep/Rn/9qge3+0LWc+cWp3dvk9ZXBVHoBKpUJqaiq8Xi9qatyQSCSQyWSw2QvwTWk27Cruibef
Pnno+Rx/tZchr6AYdXV1TGQTaJoGRVEwGo2w2ZhUBiMe9ZZirGLtyxmCkUb52R4nH0mqdDgcDlRXV0/3
Go0GbrcbZrMZAkqI3w/y8XdjClPGNz8fGW03sfvq1Gu/jBe6mILeVigU41KpdIIZT8jl8gCPx7tJUSLd
Vb9mzY02C/ttwf8MViWur2j6ngAAAABJRU5ErkJggg==
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALAgAA
CwIBm8luNgAAA4RJREFUOE9lk21MU3cUh/9L5pxabCoz2YsmLiwbDp0TddMU1sLo7e3LtZTSQim2ILft
ENoKtIVSXksEKRStwwoVDSZGCGPIyDbYCG5s02TZFudCtiDIjNFszjiWrFmZWf3tln2Z8uHJOV/Oc345
ySEAyP9hd24gcUo4zKmJrzRlJk6HVIJol4IfrcsQ3M1LfaaUShE8KdnKJ3EeGY6LatIEy7iFG/i+DP6V
EPMUAsrVCKr5aFcKYN2bEMnf94KqlE4mVurllYJgFo/EOZ6xZkso+zl80KDExVoanqxE2IU8FO5YjSbd
a63DzTpywZu9UtCbm0jidCvXbRryMLG/Fi7j/mdBjHexuNTrxIcnnRiuTPV9f8ZMvu0pIuQdtvg/zAef
sBYZ9LXSF282ini/udN49xyKbX/PTPYjcm0ID2aGsTQ7jltjdQ+LNVo2WX2WbFefIKSs5MAypezB3dW6
9LmANgl+ZiP8uVtwSLge9SUy3JnowB9fdGPx02b4bfro2j1HLeszz5C1oh5CnPLty1TJdtQ1MUmopzbC
q9iMcm64QvI8lMlPo9XnQEeXD6G+MPq/iuF17dSNVXtPv80Tc4IKYQKpFK4jZXtWeZsL0zB5qgrvt5rg
L34Dvc5sWCRJqPr4KgyfAzljQMs0cPyjJbykGFngi04IiUm+m2jpdMJKtllmhpqwND+JpR+G8PvlMKKz
E5jqMsHcP4eCwYfQnI2BOgmYTy9i4lwYAxXUdULJFGSf1EB2ifMV75ZLIn9eCSE2y61a+AS/TgXgtmqg
Cf+C/POAbgAoHOSS1F7FdF8LbnXs+ofI5XIikyuS00RZl+q9NTGvy4732krQXWNAjasCNpsdstJ25Pbd
Rt6F+xAf+RlC5tSd8XrpN7P9RS4iZXI2HbI5plX798PpdIE1WzA6OopQKIQDRhMchw8jT6fDm7LKyFbF
+dubqZEf03Xhsi+72WfnB8rXEK8pcyQcaISv5Qj0ej0KCgoQDAbR3u6HUqmEWq2Gy12NYw1lcOtF5x7/
HXI3sBPfDTaisroOnZ2dXGQbGIYBTdOwWq1wubhUFivujTdgoTnlwQrBXI/m4piXQo6+CB6PB21tbcvV
aDTC7/fDbrdDSsvw9VEKP/Xkc2d89HvJ/KAtYaLTkPJWlszHHfSmVqtdVKlUUa6PajSaiFgsvkHTcvZa
2Pjq9QFHwuOCfwHdFSeIQMKMzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="mMenViewScreenshotManager.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjxJREFUOE+lk+9P
EnEcx+uP6lnrx9aj1mqz5uxBtkbMRa3WcukwE9F5JvFDTwFBusgChZISRZOwglEy5VduOZu1msWPAd4B
J+ej3n2PBwTCaqvbXrfv/Xp93vt8P3cQwIH/OkSB1R1RMy+iqTFnmNPYG2Aj96qgHWHO7Apry8XFEzMb
TWey2Z9Fnge/K/yRbFFAmi3A8CzCVgRi5UKRx9jcNtRzMSjmp2Fdo+GI98MWU2LUr8KVBybcsgTQYfmI
TEHAqDPKVQRaElusbJjfBrWwCOsqjakP7TCvtsGwIoExJIPK2wfZ+BPImQ2kuQaCAhGML3yHwjMJO6lq
DEkx/O4CVP7zoN62QOO/iYsj99H9aBMprkQSRGoTcERgXvyBHrcVD8Pd0AVbQb1pRu9yE+6+agLlu4ZW
3T30Pv6EJLtbL2B5AZaXCVBuD2j/ILRBCRTLZyFfOoMeXwvuPO+ETD+JfvsWkjsNEuyQ7jLeJGhPHJ0O
BtTsDQz5pKC8l9DlvIrL9DCJH8Tg9Od6gbj3OdJZqy9Vloy4Y7itbMWA5gQo1XEo+pqhtL2HZuYrVE+/
ILE/gSjI5gXIHafRMXUK7baTMHUdwjpzDnGCa+Ao2kzHIDUegUR/uF6gtq1xOSLwb72uEFx3IbQygbjr
OgKbSzXPErkSaEfVLmjKglLNS9Wy/etETqgV6J3hbzk2jzxpZJ7fA1dGAEeu2Tr2kCmPcvT3KE+4IkOm
mWhAHA4x2t8g/wFHvtFVRllc/Cu/AAZ/6ElKbpVOAAAAAElFTkSuQmCC
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjpJREFUOE+lk91P
UnEYx/2numu9bF21Vps1ZxfRGjEXtVrLpcNMROcxiRc9CgoSkQUKJSWKJmEFo2TKW241nbWaxcsAzwGO
HK/69jvngkBYXXjx3X5vz+f57nmeXxOApsNIDLZ5ohrrq1h6zBVhtY4GspOzKtHOCGt2R3RCrAiwzsUy
2Vzud4njwO3x/1SuxCPDFGF8EWUqACFzscRhbH4Hmvk4lAszsK3TcCb6YY+rMBpQ49ojE+5YguiwfEa2
yGPUFWMrAB2xLWQ2LuyAWlyCbY3G9Kd2mNfaYFyVYjwsh9rXB/nEMyisX5BhGwCKBDCx+BNK7xQcJOt4
WIbhD5egDlwE9b4V2sBtXB55iO4nm0izZeIgWuuAJQDz0i/0eGx4HOmGPiQB9a4FvSvNuP+mGZT/BiT6
B+h9uoUUs1cPYDgeltdJUB4v6MAgdCEplCvnoVg+hx5/K+697ITcMIV+xzZSuw0c7JLqWn0p0N4EOp1W
UHO3MOSXgfJdQZfrOq7Sw8R+CIMzX+sBQu/zpLI2f1qEjHjiuKuSYEB7CpT6JJR9LVDZP0I7+x3q59+Q
POhAAOQKPBTOs+iYPoN2+2mYuo5gw3oBCSL3wHG0mU5ANn4MUsPReoDGvs7mCSCw/bai0IYb4dVJJNw3
EdxcrrlL5sugnVVd0IqAcs2jatjBdTLP1wIMrsiPPFNAgRSywO2DFcWDJXumTvvIiqMc+zvKk+7okGk2
FhSGQ7D2P5F/wJIYfWWUD/Od/wAx6RUqGJsn2QAAAABJRU5ErkJggg==
</value>
</data>
<data name="mMenViewExtAppsToolbar.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmhJREFUOE+lU9tL
01EcP/0VvbqxiQ6dOp2b25xzzgspRrvpNkeMTBqiszSzGgrSKlIYtV9RZJl0UdOJjbSctFUrsKcxg3oo
/GF0ocCHpHrwoU87B04UBAke+Dx+vp8bZxcAsqN3/ebdK8vJ1Fby2QoST1cQf/wcC/EnuLf4CDOxJdye
XcD45Dwu35jBhat3MHJxAqHwGIJnhK3O3sFukiX/fLl3D95Fd8M8b8SrN+v/xeu36/j0ZQPdJ0ciJJl6
ga/LD/HjvYD7H2L4+HljW9j89h3+Y6cFQi2XlJRApVKhtLQUZWVlUKvVKC8vh0ajQUVFBfR6PQwGAyor
K1FVVYXq6mrU1NSgvWdIIEuJFCPl5ORAIpFAKpVCJpNBLpcjNzcXeXl5UCgUKCgoQGFhIYqKiphgXV0d
eofCAqGF8QPpdBpTU1PbPpDtQCCxBwlmkyuura2hr6/vn6o0Jo/Y2NiIQ/0hgczG4ixbfn4+MpkMotEo
lErlb6ucxDvRarXQ6XRobm7GgcCgQCbnFmE2mxmhuLiY5eNlUhIFJ9EyqRiF1WrF/s4BgUxMx1BfX/8X
ibdPlfgCRqORLWAymdgKDocDno5egYzdmgPNQ1VoF5T052R8NuqSwmKxoLa2Fi0tLXD6ugVyaXya5eHW
uBJVoQS6NyfR6SgaGhrgdrth8/oFci5ybZPmsdlssNvtzJrT6WQKFK2trXC5XIzg8XjQ1tbG4PV60eT0
jZLAwHAgGDq/GgxFxP7hsHhkcFTsOn5W9B89JR7sGRJ9XSdEr79fdLcfFrOWxayquM/dITY5fKuWJoeJ
0O+8E/wCTNYVG3agVjIAAAAASUVORK5CYII=
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmlJREFUOE+lVN1L
k1EcPv9Ft06mzOF0m27qdHOb040cRpubc3PEyKQhTktbVuJAWkUKUr5FkWXSh5pObKTmJK1WYFdjBnVR
7MXogwIvkurCi552DpwoCBK8eC6f3/PFOQQA2Q3IjVv3ri6vJrdXn61h5ekaEo+fYz7xBPcXHmE6voQ7
M/MYm5jDlZvTuHjtLgYvjSM6PIq+s8J2e3d/iGTJP1/u24t3sT0wzxnw6s3Gf/H67QY+fdlE6NTgCFlN
vsDX5Yf48V7Agw9xfPy8uSNsffuO4PEzAqGWVSoV1Go1SkpKUFpaCo1GA61Wi7KyMlRUVKCyshJVVVXQ
6/Worq6GyWRCTU0NWrsiAllaSTJSTk4OJBIJcnNzIZVKkZeXh/z8fMhkMsjlchQWFkKhUKC4uJgJ1tXV
oTsyLBBaGD+QSqUwOTm54wPZDgQSX1xhNrliJpNBT0/PP1VpTB6xvr4eh8NRgczEEyxbQUEB0uk0YrEY
ioqKflvlJN5JeXk5dDodGhoacLCzXyATswswm82MoFQqWT5eJiVRcBItk4pROBwOHGjvFcj4VBxWq/Uv
Em+fKvEFDAYDW8BoNLIVXC4XfG3dAhm9PQuah6rQLijpz8n4bNQlhcViQW1tLZqamuAOhARyeWyK5eHW
uBJVoQS6NyfR6ShsNhu8Xi+c/qBAzo9c36J5nE4nGhsbmTW3280UKDweD5qbmxnB5/OhpaWFwe/3w+4O
DJHO3oHOvuiF9b7oiBgeGBaP9g+JHSfOicFjp8VDXREx0HFS9AfDorf1iJi1LGZVxf3eNtHuCqxb7C7j
rp4y/QZ+AXhAQe1Sf9VzAAAAAElFTkSuQmCC
</value>
</data>
<data name="mMenToolsExternalApps.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmhJREFUOE+lU9tL
01EcP/0VvbqxiQ6dOp2b25xzzgspRrvpNkeMTBqiszSzGgrSKlIYtV9RZJl0UdOJjbSctFUrsKcxg3oo
/GF0ocCHpHrwoU87B04UBAke+Dx+vp8bZxcAsqN3/ebdK8vJ1Fby2QoST1cQf/wcC/EnuLf4CDOxJdye
XcD45Dwu35jBhat3MHJxAqHwGIJnhK3O3sFukiX/fLl3D95Fd8M8b8SrN+v/xeu36/j0ZQPdJ0ciJJl6
ga/LD/HjvYD7H2L4+HljW9j89h3+Y6cFQi2XlJRApVKhtLQUZWVlUKvVKC8vh0ajQUVFBfR6PQwGAyor
K1FVVYXq6mrU1NSgvWdIIEuJFCPl5ORAIpFAKpVCJpNBLpcjNzcXeXl5UCgUKCgoQGFhIYqKiphgXV0d
eofCAqGF8QPpdBpTU1PbPpDtQCCxBwlmkyuura2hr6/vn6o0Jo/Y2NiIQ/0hgczG4ixbfn4+MpkMotEo
lErlb6ucxDvRarXQ6XRobm7GgcCgQCbnFmE2mxmhuLiY5eNlUhIFJ9EyqRiF1WrF/s4BgUxMx1BfX/8X
ibdPlfgCRqORLWAymdgKDocDno5egYzdmgPNQ1VoF5T052R8NuqSwmKxoLa2Fi0tLXD6ugVyaXya5eHW
uBJVoQS6NyfR6SgaGhrgdrth8/oFci5ybZPmsdlssNvtzJrT6WQKFK2trXC5XIzg8XjQ1tbG4PV60eT0
jZLAwHAgGDq/GgxFxP7hsHhkcFTsOn5W9B89JR7sGRJ9XSdEr79fdLcfFrOWxayquM/dITY5fKuWJoeJ
0O+8E/wCTNYVG3agVjIAAAAASUVORK5CYII=
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmlJREFUOE+lVN1L
k1EcPv9Ft06mzOF0m27qdHOb040cRpubc3PEyKQhTktbVuJAWkUKUr5FkWXSh5pObKTmJK1WYFdjBnVR
7MXogwIvkurCi552DpwoCBK8eC6f3/PFOQQA2Q3IjVv3ri6vJrdXn61h5ekaEo+fYz7xBPcXHmE6voQ7
M/MYm5jDlZvTuHjtLgYvjSM6PIq+s8J2e3d/iGTJP1/u24t3sT0wzxnw6s3Gf/H67QY+fdlE6NTgCFlN
vsDX5Yf48V7Agw9xfPy8uSNsffuO4PEzAqGWVSoV1Go1SkpKUFpaCo1GA61Wi7KyMlRUVKCyshJVVVXQ
6/Worq6GyWRCTU0NWrsiAllaSTJSTk4OJBIJcnNzIZVKkZeXh/z8fMhkMsjlchQWFkKhUKC4uJgJ1tXV
oTsyLBBaGD+QSqUwOTm54wPZDgQSX1xhNrliJpNBT0/PP1VpTB6xvr4eh8NRgczEEyxbQUEB0uk0YrEY
ioqKflvlJN5JeXk5dDodGhoacLCzXyATswswm82MoFQqWT5eJiVRcBItk4pROBwOHGjvFcj4VBxWq/Uv
Em+fKvEFDAYDW8BoNLIVXC4XfG3dAhm9PQuah6rQLijpz8n4bNQlhcViQW1tLZqamuAOhARyeWyK5eHW
uBJVoQS6NyfR6ShsNhu8Xi+c/qBAzo9c36J5nE4nGhsbmTW3280UKDweD5qbmxnB5/OhpaWFwe/3w+4O
DJHO3oHOvuiF9b7oiBgeGBaP9g+JHSfOicFjp8VDXREx0HFS9AfDorf1iJi1LGZVxf3eNtHuCqxb7C7j
rp4y/QZ+AXhAQe1Sf9VzAAAAAElFTkSuQmCC
</value>
</data>
<data name="mMenToolsOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgVJREFUOE+Vk8tv
EmEUxXHhX2L8U4waY4wrVy5lK0YXkqZpYIBhkEccCk6dIgttsHZaYyi2jKgjb5NR0pGHL2iKFAQtrhoX
mDnemQWa2EKd5Mu3ub/znXvunWMALNO+eDxu03XdSrUn6bZYrdbjY8YQmHRisZhNFMX9TqeD4XCIaDRK
5X+YibBRSHC93W6j1+shnU4jHA7/n4AgCCPj9UqlAp7ns4ZoMBiE3++Hz+cbTXVAln81m00UCgWEQqFX
gUAgJ0kSGo0GWJadLBCJRM6QZb1araJcLiOTyUCWZWSzWeTzebjd7vqBDm6tfuG9iY8VsjwqlUpQVRXG
XSwWkcvloCgKXC7XvtPptP0jwC3v8IvpHoSnXfiX30PTNKRSKXAcpxuW6dURwzB1h8NhM1fg75GwBrzR
RabyA/LbIfxrbcyIGrxe70+Px3PioHGPBdyJHX6B4GcEJpQ+7j//imT5OxwPtnGZ014ftiumALO0zQvr
Xchvhlh62Ud0fRcxamOt+A32eAsXmdqjQwXmCJ5PdrGpEvyij/nkLkRyspof4Oa9Fi443kmTNtVijzex
oe6ZlvknHdyl8KTcADcWWzg/Nxk2Q7x65xP1ugdxk5KnNlYIvk7w2dmtx9P+E1Pgyu0PqhHUSnaAh8oA
1xY+4/TM0eDxGC+xtRoFhXOzWzhlPzpsCPwGZiza7bmUpcQAAAAASUVORK5CYII=
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAftJREFUOE+Vk81v
0mAcx/lf/FuMGmOMJ08ePYvRg2RZllKgFAvEMrDYwg664BybMQw3KmpteTOpklVefINlyEDQ1dPioWbf
PeUwNW50Hppe+vn8vr/v89QFwOX0pNNptyRJLVEUrWQyaf35vSOcSqXcBNzr9/swTROJRILwv4c6Cgjc
6vV6GA6HKBQKiMVi/ycQBMGyp9frdfA8r9rTI5EIOI5DKBSyHBOQyL86nQ7K5TKi0eircDisZbNZtNtt
MAwzXRCPx8+SyPuNRgO1Wg3FYhGyLENVVZRKJfj9/taRCW6vfOGDmY91EtmqVqvQdR32u1KpQNM0KIoC
n8+35/V63f8I2KVtXioMITwdgFt6D8MwkM/nwbLsvh2ZTLVomm5RFOW2+/hLwNjw+gDF+g/Ib01wqz3M
iAaCweDPQCBw6qj7cijwZ7b5JIGfETCjjHD/+Vfkat9BPdjCFdZ4fdxlmwjoxS1eWBtAfmNi8eUIibUd
pMgaq5Vv8Cx0cYluPjpWMEfg+dwAGzqBX4wwn9uBSJKslMa4le7iIvUuO+2quzwLHazru5PI/JM+7pHy
stoYN6UuLsxNhyclXrv7iey6C3GDNE/WWCbwDQKfm9187PSTTQRX73zQ7aKW1TEeKmNcT37GmZmTwYfH
eJlpNklROD+7idOek8O24AByavlRgSfdiAAAAABJRU5ErkJggg==
</value>
</data>
<data name="mMenInfoHelp.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAArRJREFUOE+lk+1P
kmEUh+tf0T+htZqrVav1rbbGhz70wan5CjS1XC2D5Swd5jRLSs1Mp4KaOqeiwJOACKKJ8iYIPJjIm/Iy
EB541Gz7BSxBW2tt3dt1b/d2zrWdc59zFsCZ/zopwUlU5GGu0n7AUVj3SdkGTX0xxymJiSJnDVHOtG4v
9/f4U8lyK82YsyR8Dv8hNndp2L1UGsdOAhZPAqNLQd/wop9xUpIREOtxhtgYi28F9qH/FoZw3g3euBUN
oxvoJjahsQRh81H4JHPHu4ntjCQtEOmjOVNrEe+mn8aiNYS6ZFIX4YA7RMMVSmB8yYNaoRHSNR/Mrija
pkhvy4QtJ92/1DW2HOSuu+NYdUTAHTLjca8eiYOjJD9+cYS6IQNqB3RYMAegXA+gXmjkZgT98z7Slqy1
h9hCTa8O1T2rcAcTmF7xQG7aAZ2UyU1eMDtUaJu2wOgM40mPlswIOiVO2u6NgSswoOqjFqwuTTJYjRmt
C2HqALthGn1zNpS1K1H1QQ2Law8svprOCFonbLTNE8PTQQOYnWpUvFeh/J0KMfo7tgMU2HwliltluJ+E
zVfA7I6goFmeFbwQmkjTdgR8kQ2sDg3K+QsofTuPktfyNEWvCBQ1SVDYJEaDcAVaRwB368XZEpL1cCVa
D9SWAKo6NZnEUHQfgT0a+bzZNEU8EYg1FwTJcm7VTmabyOYv5lS8WfAuWwOQrrrBbFegsFmK9gldmlRy
QeMkRhR2KAwe3KwZ915/OJb9xlQz8nlzjHuNRFxl3oHc6MVLwTJKW8QobprB8z41pFonZHo3rlZ+jl9+
MHx6kI5H8w5XxLj9bMrXT2zgq90PgzOUZsm6i26RCXksoe9iheDPo3wsufFoLPda9SjnSuUIeYk9ROUx
hdSF8kHyfNkA51xJ/9+X6fdN+5f3T6xF2MGyA9nXAAAAAElFTkSuQmCC
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAq5JREFUOE+lk99P
UmEcxv1b9E9oreZq1Wrd1da46KILp+ZPoKnlahksZ+kwp1lSamY6FdTUORUFTgIiiCaKgCBwMJFfyoGB
cOCo2faELCGrdVEXn7v3+bx73vf7zQKQ9T/8FtaQhzlqxwFPZdsnFRsM/ckSp2VmmpwxRnlThr2cXy87
JVDaGNasNeF3Bg6xucvA4aNTOHcSsHoTGFkM+ocWAqyfJWkBsR5nSU2x+Ba1j7UvYYjnPBCM2VA/soEu
YhM6axB2P40PCk+8i9hOS1ICyVo0e3I14tsMMFiwhVCbDHUSTnhCDNyhBMYWvagRmyBf9cPijqJ1kvQ1
j9uzj7MpwehSkL/uiWPFGQF/0IKHPWtIHBwl+faDI9QOGlHTb8C8hYJ6nUKd2MRPC/rm/KQ92bWb2EJ1
jwFV3SvwBBOYWvZCad4Bk5QpzT6w2zVonbLC5ArjUbeeTAs6ZC7G4YuBLzKi8r0enE5d8rAW03o3wvQB
dsMMemftKG1To/KdFlb3HjhCLZMWtIzbGbs3hscDRrA7tCh/q0HZGw1izFdsUzS4QjWKWhS4m4QrVMHi
iSC/SZkRPBObSfN2BEKJHZx2HcqE8yh5PYfil8oUhS8IFDbKUNAoRb14GXonhdt10kyFZB++TO+F1kqh
skOXDoai+6D2GOQJZlIUCiQgVt0QJevcqJnIPCJXuJBd/mret2SjIF/xgN2mQkGTHG3jhhTH4fyGCQyr
HFAZvbhePea7en80843Hj5EnmGXdaSDiGssOlCYfnouWUNIsRVHjNJ72aiHXu6BY8+Byxcf4xXtDpwfp
ZDRv8SWsm08m/X3EBj47AjC6QikWbbvokpiRyxH7z5eL/jzKJ5JrD0ZzrlSN8C5VDJMXuIN0LltMnysb
IM+W9vPOFPf9fZn+Za2/A9evBaJ0QokTAAAAAElFTkSuQmCC
</value>
</data>
<data name="mMenInfoWebsite.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA3FJREFUOE9Vkt9P
W3UYxmucdy5e+S9wPWO4wMAayuxGoTLEDFnkp7QNtIemNBbKYjcPNVSwSJs5lCnbYIUVKIWtZb9aoF1Z
V6GnrW1poVAmmwpV7JwCxhkev+fEGT3JJ3nOm/N+3nPxvACA999HudBQQN4pQi7hVcIhwq+EAA5wwVxw
6db/FlgBS4uv/hDhKuGPu99ZsJS5g9mHC3CsLmAq4cZEYgRNs9XPpHdOzzTMVL78fO/58ktk0TeU/BRb
u0Gs7sQQ3WFg3wjBmV7GUCyGK2EGY2EfTIEuVNsrIlVjZa9wf//PdcvlRBfST+ex/NSPeDaO0HYYI6k4
xtNr6Aum0PMggV5PAPa4GyZ/ByqGRTOcgFzOJ/y5+ds8HFknJp44cXPHg5uPYvgquYLPo6ugnEFQN/zQ
LzoxsHEewR/tEF8U/lV8QVDGCmzO9BdY+smJ0ew0rL8EEMhEYAzF0bO4AqkjCJnLBdXyANRpGqq1DgyH
Tbj6wICizwpus4LNb3++gaHNizBmvibXY/Bnwmi5HYJ0egkfBBYhS2kgXpFCnJCgOqqA7q4a3pQFRw15
P7CC3bUns+hMfgQq1YaB7+cwurGE6mvfQOH2omf1FuqSI+BH2iAMN+OkqwqK8ffBPL6OPDp3j0fdq9tb
z87iw4gaikgfBh+6UDPqR81UFBVf3keL6z46InZQPgdqrXZUWs9ANnwazKNp5Ope2+c1z9U8Dm1PoS/W
ie61OZxdcKPWcAm0oQeDg4PQnPsYpedsOE5PkaznZvquTvSPGPB625FtHinGdXvCDEf6MpT3aDR+ooHJ
ZMLW1hbW19fh8XjQoe+G8mw34okkN/P5SB/IN4Kawk1eveOUkBTjWTTjRJ3pXajb1GCiUVRR7SgpFUMi
kcBsNkOr1XK5pLQEGl0LJ2lVt+5yRaq89ta0cV4DSlcPWk9zgiaLB4XHhHC73WAYBl6vFzabDUVvCqC1
SDkBTdP7nODtK8WHSTEi9bp3QCnlnKCWaoWg6BiEQiHKy8s52CwoEkD0XvEuK5DJZFlOwHL8fOHhAm2e
t+SU6KDX1AvrxDgmJyfR398PlUqF9vZ2LrMz65g1azQas2KxOPGvgJXk5OS8mC97o/VE2Ym9BknDQZO8
Cc3yZhQq+NmjynyG5H25XL7f2Nj4u0gk2uDz+Uf+BlXgloy7HfxbAAAAAElFTkSuQmCC
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA2ZJREFUOE9dk91P
k2cYxptsO5vZf8GxZvEAAzYUV6HQMcSImPEpbQPtCynNCmWx6ksXKlhGiRsTJypYsEApYItfLdBarBX6
trUtLRRah26DbqzGCSxz8fLpm2imB7/kyp37/j0n18MBwPk/Da7qbMIIIUF4SfiHsEmYopxVeR/uvzsm
Cx8TrqcP7v1iwGLyLmaezMOyMo+JiB1jkSHUzZS/Et89MV0zXfrpWxErIEefEFwD0fPY2PZiZSuE4BYD
c8IHa3wJA6EQrvkZjPhd0HvaUW4uCZSNFH2Wvn0rMFyNtCP+Yg5LL9wIp8LwbfoxFAtjNL6Kbm8MnQ8j
6HJ4YA7boXe3omRQMM0KyMtZhH/X/56DJWXF2HMrbm05cOtpCD9Hl/FDcAWU1QvqphuaBSv6Ehfg/d0M
4SX+f/k/8orSApM1/hMW/7BiODUJ418eeJIB6HxhdC4sQ2zxQmKzQb7UB0Wchny1FYN+Pa4/1CL3++w7
acH64z9vYmD9EnTJy+T1ENxJPxru+CCeXMQ3ngVIYkoIl8UQRkQoD8qgvqeAM2bAQW3mb2nB9urzGbRF
z4KKNaPv11kMJxZRfuMRZHYnOlduoyo6BG6gGXx/Pb6ylUE2ehLMsylk0vt3ONT9qp211AxOBRSQBbrR
/8SGimE3KiaCKLn4AA22B2gNmEG5LKg0mlFq/BaSwRNgnk5iv3rfLqd+tuKZb3MC3aE2dKzO4vS8HZXa
K6C1nejv74fyzHcoPGPCYXqCZA0707S3oXdIi8+b925ySDGmzJEeWOJX0XifRu05JfR6PTY2NrC2tgaH
w4FWTQcaT3cgHImyM5eL9IHs8Cpy1jnVlmN8UoxXwaQVVfrjUDQrwASDKKNaUFAohEgkQk9PD1QqFZsL
CgugVDewkiZF0zZbpNIbX07q5pSg1NWgNTQrqDM4kHOID7vdDoZh4HQ6YTKZkPsFDyqDmBXQNL3LCo5c
y99DihGoVh8F1ShlBZVUE3i5h8Dn81FcXMySzrxcHgRf52+nBRKJJPXuMx2+kLMnW5XpLDgmeN2l74Jx
bBTj4+Po7e2FXC5HS0sLm9Mz44gxpdPpUkKhMPLeV87IyPgoS3KgKa8ob6dGVPO6TlqHemk9cmTc1MHG
LIbkXalUultbW/tSIBAkuFzu3jfA3LOfi8khbAAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="tsQuickConnect.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>651, 5</value>
<value>521, 17</value>
</metadata>
<metadata name="tsExtAppsToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>348, 8</value>
<value>374, 17</value>
</metadata>
<metadata name="cMenExtAppsToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>482, 8</value>
<value>17, 56</value>
</metadata>
<metadata name="tmrShowUpdate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>102, 8</value>
<value>112, 17</value>
</metadata>
<metadata name="tmrAutoSave.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>233, 8</value>
<value>252, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>37</value>
<value>155</value>
</metadata>
</root>

View File

@@ -1,6 +1,8 @@
Imports mRemote.App.Runtime
Imports System.Reflection
Imports Crownwood
Imports mRemote.App.Native
Imports PSTaskDialog
Public Class frmMain
Public prevWindowsState As FormWindowState
@@ -44,14 +46,16 @@ Public Class frmMain
'LoadCredentials()
LoadConnections()
If My.Settings.FirstStart Then
Windows.Show(UI.Window.Type.About)
End If
If My.Settings.StartupComponentsCheck Then
Windows.Show(UI.Window.Type.ComponentsCheck)
End If
If Not My.Settings.CheckForUpdatesAsked Then
Windows.Show(UI.Window.Type.Options)
Windows.optionsForm.ShowUpdatesTab()
My.Settings.CheckForUpdatesAsked = True
End If
Startup.UpdateCheck()
Startup.AnnouncementCheck()
Startup.CreateSQLUpdateHandlerAndStartTimer()
@@ -103,19 +107,27 @@ Public Class frmMain
Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If My.Settings.ConfirmExit And wL.Count > 0 Then
If MsgBox(Language.Base.UnclosedConnectionPanels, MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.No Then
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.AssemblyName, My.Resources.strConfirmExitMainInstruction, "", "", "", My.Resources.strDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
If cTaskDialog.VerificationChecked Then
My.Settings.ConfirmExit = False
End If
If Result = DialogResult.No Then
e.Cancel = True
Exit Sub
End If
End If
For Each Window As UI.Window.Base In wL
Window.Close()
Next
App.Runtime.Shutdown.BeforeQuit()
Debug.Print("[END] - " & Now)
End
End Sub
#End Region
#Region "Timer"
Private tmrRuns As Integer = 0
Private Sub tmrShowUpdate_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrShowUpdate.Tick
If tmrRuns = 5 Then
@@ -123,10 +135,8 @@ Public Class frmMain
End If
If App.Runtime.IsUpdateAvailable Then
If My.Settings.CheckForUpdatesOnStartup Then
App.Runtime.Windows.Show(UI.Window.Type.Update)
Me.tmrShowUpdate.Enabled = False
End If
App.Runtime.Windows.Show(UI.Window.Type.Update)
Me.tmrShowUpdate.Enabled = False
End If
If App.Runtime.IsAnnouncementAvailable Then
@@ -141,7 +151,7 @@ Public Class frmMain
mC.AddMessage(Messages.MessageClass.InformationMsg, "Doing AutoSave", True)
App.Runtime.SaveConnections()
End Sub
#End Region
#Region "Ext Apps Toolbar"
Private Sub cMenToolbarShowText_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenToolbarShowText.Click
@@ -335,6 +345,12 @@ Public Class frmMain
Windows.errorsForm.Activate()
End Sub
Private Sub mMenViewResetLayout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewResetLayout.Click
If MsgBox(My.Resources.strConfirmResetLayout, MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
App.Runtime.Startup.SetDefaultLayout()
End If
End Sub
Private Sub mMenViewAddConnectionPanel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewAddConnectionPanel.Click
AddPanel()
End Sub
@@ -548,6 +564,7 @@ Public Class frmMain
End Sub
#End Region
#Region "Window Overrides and DockPanel Stuff"
Private Sub frmMain_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
If Me.WindowState = FormWindowState.Minimized Then
If My.Settings.MinimizeToTray Then
@@ -561,40 +578,38 @@ Public Class frmMain
End If
End Sub
#Region "Window Overrides and DockPanel Stuff"
Private Msg13 As Boolean = False
Private Msg71 As Boolean = False
Private bWmGetTextFlag As Boolean = False
Private bWmWindowPosChangedFlag As Boolean = False
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
Try
'Debug.Print(m.Msg)
If m.Msg = 13 Then
Msg13 = True
ElseIf m.Msg = 71 Then
If Msg13 Then
ActivateConnection()
End If
Msg13 = False
Msg71 = True
ElseIf m.Msg = 28 Then
If Msg71 Then
ActivateConnection()
End If
Else
Msg13 = False
Msg71 = False
End If
If m.Msg = Tools.SystemMenu.Flags.WM_SYSCOMMAND Then
For i As Integer = 0 To SysMenSubItems.Length - 1
If SysMenSubItems(i) = m.WParam Then
Screens.SendFormToScreen(Screen.AllScreens(i))
Exit For
Select m.Msg
Case WM_GETTEXT
bWmGetTextFlag = True
Case WM_WINDOWPOSCHANGED
If bWmGetTextFlag Then
ActivateConnection()
End If
Next
End If
bWmGetTextFlag = False
bWmWindowPosChangedFlag = True
Case WM_ACTIVATEAPP
If bWmWindowPosChangedFlag Then
ActivateConnection()
End If
Case WM_SYSCOMMAND
For i As Integer = 0 To SysMenSubItems.Length - 1
If SysMenSubItems(i) = m.WParam Then
Screens.SendFormToScreen(Screen.AllScreens(i))
Exit For
End If
Next
Case Else
bWmGetTextFlag = False
bWmWindowPosChangedFlag = False
End Select
Catch ex As Exception
End Try

View File

@@ -61,6 +61,12 @@ CREATE TABLE [dbo].[tblCons] (
[VNCColors] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[VNCSmartSizeMode] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[VNCViewOnly] [bit] NOT NULL ,
[RDGatewayUsageMethod] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[RDGatewayHostname] [varchar] (512) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[RDGatewayUseConnectionCredentials] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[RDGatewayUsername] [varchar] (512) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[RDGatewayPassword] [varchar] (1024) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[RDGatewayDomain] [varchar] (512) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[InheritCacheBitmaps] [bit] NOT NULL ,
[InheritColors] [bit] NOT NULL ,
[InheritDescription] [bit] NOT NULL ,
@@ -100,7 +106,13 @@ CREATE TABLE [dbo].[tblCons] (
[InheritVNCProxyPassword] [bit] NOT NULL ,
[InheritVNCColors] [bit] NOT NULL ,
[InheritVNCSmartSizeMode] [bit] NOT NULL ,
[InheritVNCViewOnly] [bit] NOT NULL
[InheritVNCViewOnly] [bit] NOT NULL ,
[InheritRDGatewayUsageMethod] [bit] NOT NULL ,
[InheritRDGatewayHostname] [bit] NOT NULL ,
[InheritRDGatewayUseConnectionCredentials] [bit] NOT NULL ,
[InheritRDGatewayUsername] [bit] NOT NULL ,
[InheritRDGatewayPassword] [bit] NOT NULL ,
[InheritRDGatewayDomain] [bit] NOT NULL
) ON [PRIMARY]
GO

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Backup.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/ESX.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Fax.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Finance.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Linux.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Log.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Router.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/SSH.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Switch.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Tel.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Telnet.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/WiFi.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
mRemoteV1/Icons/Windows.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -88,10 +88,23 @@
Public Const Descr_MacAddress As String = "Enter the MAC Address of the remote host if you wish to use it in Ext. Apps."
Public Const Props_UserField As String = "User Field"
Public Const Descr_UserField As String = "Feel free to enter any information you need here."
Public Const Props_RDGatewayUsageMethod As String = "Use Gateway"
Public Const Descr_RDGatewayUsageMethod As String = "Specifies when to use a Remote Desktop Gateway (RD Gateway) server."
Public Const Props_RDGatewayHostname As String = "Gateway Hostname"
Public Const Descr_RDGatewayHostname As String = "Specifies the host name of the Remote Desktop Gateway server."
Public Const Props_RDGatewayUseConnectionCredentials As String = "Gateway Credentials"
Public Const Descr_RDGatewayUseConnectionCredentials As String = "Specifies whether or not to log on to the gateway using the same username and password as the connection."
Public Const Props_RDGatewayUsername As String = "Gateway Username"
Public Const Descr_RDGatewayUsername As String = "Specifies the user name that a user provides to connect to the RD Gateway server."
Public Const Props_RDGatewayPassword As String = "Gateway Password"
Public Const Descr_RDGatewayPassword As String = "Specifies the password that a user provides to connect to the RD Gateway server."
Public Const Props_RDGatewayDomain As String = "Gateway Domain"
Public Const Descr_RDGatewayDomain As String = "Specifies the domain name that a user provides to connect to the RD Gateway server."
Public Const Props_General As String = "General"
Public Const Props_Display As String = "Display"
Public Const Props_Connection As String = "Connection"
Public Const Category_RDGateway As String = "Gateway"
Public Const Props_Appearance As String = "Appearance"
Public Const Props_Redirect As String = "Redirect"
Public Const Props_Misc As String = "Misc"
@@ -115,7 +128,7 @@
Public Const Menu_ExternalApplications As String = "External Applications"
Public Const Menu_ExternalApplicationsToolbar As String = "External Applications Toolbar"
Public Const Menu_File As String = "&File"
Public Const Menu_FullScreenKioskMode As String = "Fullscreen (Kiosk Mode)"
Public Const Menu_FullScreenKioskMode As String = "Full Screen"
Public Const Menu_Help As String = "mRemoteNG Help"
Public Const Menu_Info As String = "&Help"
Public Const Menu_JumpTo As String = "Jump To"
@@ -123,7 +136,7 @@
Public Const Menu_OpenConnections As String = "Open Connections"
Public Const Menu_Options As String = "Options"
Public Const Menu_PortScan As String = "Port Scan"
Public Const Menu_QuickyToolbar As String = "Quicky Toolbar"
Public Const Menu_QuickyToolbar As String = "Quick Connect Toolbar"
Public Const Menu_SaveConnections As String = "Save Connections"
Public Const Menu_SaveConnectionsAs As String = "Save Connections As"
Public Const Menu_ScreenshotManager As String = "Screenshot Manager"
@@ -135,8 +148,8 @@
Public Const Menu_View As String = "&View"
Public Const Menu_Website As String = "Website"
Public Const Toolbar_Play As String = "Play"
Public Const Toolbar_Quicky As String = "&Quicky:"
Public Const Toolbar_Play As String = "Connect"
Public Const Toolbar_Quicky As String = "&Connect:"
Public Const Toolbar_ShowText As String = "Show Text"
Public Const Password As String = "Password:"
@@ -180,10 +193,6 @@
Public Const Root As String = "Root"
Public Const SureToDeleteItem As String = "Are you sure you want to delete this Item?"
Public Const License As String = "License"
Public Const About As String = "About"
Public Const ChangeLog As String = "Change Log:"
Public Const ReleasedUnderGPL As String = "Released under the GNU General Public License (GPL)"
Public Const SomeIconsBy As String = "Some Icons by"
Public Const Change As String = "Change"
Public Const Inheritance As String = "Inheritance"
Public Const Default_ As String = "Default"
@@ -226,8 +235,8 @@
Public Const MaxPuttyWaitTime As String = "Max. PuTTY && Integrated Ext. Apps wait time"
Public Const AutomaticallyTryToReconnect As String = "Automatically try to reconnect when disconnected from server (RDP && ICA only)"
Public Const Address As String = "Address"
Public Const UseAuthentication As String = "Use Authentication"
Public Const UseProxyForAutomaticUpdates As String = "Use Proxy for automatic updates"
Public Const UseAuthentication As String = "This proxy server requires authentication"
Public Const UseProxyForAutomaticUpdates As String = "Use a proxy server to connect"
Public Const ToConfigurePuttySessions As String = "To configure PuTTY sessions click this button:"
Public Const LaunchPutty As String = "Launch PuTTY"
Public Const UseCustomPuttyPath As String = "Use custom PuTTY path:"
@@ -236,7 +245,7 @@
Public Const StartupExit As String = "Startup/Exit"
Public Const AllowOnlySingleInstance As String = "Allow only a single instance of the application (mRemoteNG restart required)"
Public Const ReconnectAtStartup As String = "Reconnect to previously opened sessions on startup"
Public Const CheckForUpdatesOnStartup As String = "Check for updates on startup"
Public Const CheckForUpdatesOnStartup As String = "Check for updates and announcements"
Public Const ConfirmExit As String = "Confirm exit if there are open connections"
Public Const SaveConsOnExit As String = "Save connections on exit"
Public Const MinimizeToSysTray As String = "Minimize to System Tray"
@@ -320,18 +329,17 @@
Public Const CollapseAllFolders As String = "Collapse all folders"
Public Const NewConnection As String = "New Connection"
Public Const NewFolder As String = "New Folder"
Public Const CheckForUpdate As String = "Check for update"
Public Const CheckForUpdate As String = "Check Again"
Public Const DownloadAndInstall As String = "Download and Install"
Public Const AvailableVersion As String = "Available Version"
Public Const CurrentVersion As String = "Current Version"
Public Const AvailableVersion As String = "Current version"
Public Const CurrentVersion As String = "Installed version"
Public Const Version As String = "Version"
Public Const UpdateAvailable As String = "Update available!"
Public Const NoUpdateAvailable As String = "No update available!"
Public Const UpdateAvailable As String = "mRemoteNG requires an update"
Public Const NoUpdateAvailable As String = "mRemoteNG is up to date"
Public Const UpdateDownloadComplete As String = "Download complete!" & vbNewLine & "mRemoteNG will now quit and begin with the installation."
Public Const SendTo As String = "Send to..."
Public Const Screen As String = "Screen"
Public Const UnclosedConnectionPanels As String = "There are unclosed connection panels, are you sure you want to quit?"
Public Const SaveConnectionsFileBeforeOpeningAnother As String = "Do you want to save the current connections file before loading another?"
Public Const NewPanel As String = "New Panel"
Public Const PanelName As String = "Panel name"
@@ -358,18 +366,21 @@
Public Const CcNotInstalledProperly As String = "not installed properly"
Public Const CcCheckSucceeded As String = "Check succeeded!"
Public Const CcCheckFailed As String = "Check failed!"
Public Const CcRDPOK As String = "All RDP components were found and seem to be registered properly."
Public Const CcRDPFailed As String = "For RDP to work properly you need to have at least Remote Desktop Connection (Terminal Services Client) 6.0 installed. You can get it here: http://support.microsoft.com/kb/925876" & vbNewLine & _
"If you have RDP 6.0 installed and the check still fails, try to register mstscax.dll manually. To do this open up the run dialog (Start - Run) and enter the following: regsvr32 ""c:\windows\system32\mstscax.dll"" (Where c:\ is your system drive)." & vbNewLine & _
Public Const CcRDPOK As String = "All RDP components were found and seem to be registered properly." & vbNewLine & _
"Remote Desktop Connection Control Version {0}"
Public Const CcRDPFailed As String = "For RDP to work properly you need to have at least Remote Desktop Connection (Terminal Services Client) 6.1 installed. You can get it here: http://support.microsoft.com/kb/951616" & vbNewLine & _
"If you have RDP 6.1 installed and the check still fails, try to register mstscax.dll manually. To do this open up the run dialog (Start - Run) and enter the following: regsvr32 ""c:\windows\system32\mstscax.dll"" (Where c:\ is your system drive)." & vbNewLine & _
"If you still have trouble getting RDP to work please consult the mRemoteNG Forum at http://forum.mremoteng.org/"
Public Const CcVNCOK As String = "All VNC components were found and seem to be registered properly."
Public Const CcVNCFailed As String = "VNC requires the scvncctrl.dll library to be registered. If you are using one of the non-setup packages like the portable package, this must be done manually." & vbNewLine & _
"To do this open up the run dialog (Start - Run) and enter the following: regsvr32 ""c:\Program Files\mRemoteNG\scvncctrl.dll"" (Where c:\Program Files\mRemoteNG\ is the path to your mRemoteNG installation)." & vbNewLine & _
Public Const CcVNCOK As String = "All VNC components were found and seem to be registered properly." & vbNewLine & _
"VncSharpNG Control Version {0}"
Public Const CcVNCFailed As String = "VNC requires VncSharpNG.dll to be located in your mRemoteNG application folder." & vbNewLine & _
"Please make sure that you have the VncSharpNG.dll file in your mRemoteNG application folder (usually C:\Program Files\mRemoteNG\)." & vbNewLine & _
"If you are still not able to pass this check or use VNC in mRemoteNG please consult the mRemoteNG Forum at http://forum.mremoteng.org/"
Public Const CcPuttyOK As String = "The PuTTY executable was found and should be ready to use."
Public Const CcPuttyFailed As String = "The SSH, Telnet, Rlogin and RAW protocols need PuTTY to work. PuTTY comes with every mRemoteNG package and is located in the installation path." & vbNewLine & _
"Please make sure that either you have the Putty.exe in your mRemoteNG directory (default: c:\Program Files\mRemoteNG\) or that you specified a valid path to your PuTTY executable in the Options (Tools - Options - Advanced - Custom PuTTY path)"
Public Const CcICAOK As String = "All ICA components were found and seem to be registered properly."
Public Const CcICAOK As String = "All ICA components were found and seem to be registered properly." & vbNewLine & _
"Citrix ICA Client Control Version {0}"
Public Const CcICAFailed As String = "ICA requires that the Citrix Presentation Server Client is installed and that the wfica.ocx library is registered. You can download the client here: http://www.citrix.com/download/" & vbNewLine & _
"If you have the Citrix Presentation Server Client installed and the check still fails, try to register wfica.ocx manually." & vbNewLine & _
"To do this open up the run dialog (Start - Run) and enter the following: regsvr32 ""c:\Program Files\Citrix\ICA Client\wfica.ocx"" (Where c:\Program Files\Citrix\ICA Client\ is the path to your Citrix Presentation Server Client installation)." & vbNewLine & _

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.60")>
<Assembly: AssemblyFileVersion("1.60")>
<Assembly: AssemblyVersion("1.63")>
<Assembly: AssemblyFileVersion("1.63")>

View File

@@ -459,13 +459,6 @@ Namespace My.Resources
End Get
End Property
Friend ReadOnly Property mRemote_Tray_Icon() As System.Drawing.Icon
Get
Dim obj As Object = ResourceManager.GetObject("mRemote_Tray_Icon", resourceCulture)
Return CType(obj,System.Drawing.Icon)
End Get
End Property
Friend ReadOnly Property News() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("News", resourceCulture)
@@ -760,6 +753,141 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Looks up a localized string similar to About.
'''</summary>
Friend ReadOnly Property strAbout() As String
Get
Return ResourceManager.GetString("strAbout", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Change Log:.
'''</summary>
Friend ReadOnly Property strChangeLogLabel() As String
Get
Return ResourceManager.GetString("strChangeLogLabel", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Do you want to close all open connections?.
'''</summary>
Friend ReadOnly Property strConfirmExitMainInstruction() As String
Get
Return ResourceManager.GetString("strConfirmExitMainInstruction", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Are you sure you want to reset the panels to their default layout?.
'''</summary>
Friend ReadOnly Property strConfirmResetLayout() As String
Get
Return ResourceManager.GetString("strConfirmResetLayout", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Do not show this message again..
'''</summary>
Friend ReadOnly Property strDoNotShowThisMessageAgain() As String
Get
Return ResourceManager.GetString("strDoNotShowThisMessageAgain", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Includes icons by [FAMFAMFAM].
'''</summary>
Friend ReadOnly Property strFAMFAMFAMAttribution() As String
Get
Return ResourceManager.GetString("strFAMFAMFAMAttribution", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to http://www.famfamfam.com/.
'''</summary>
Friend ReadOnly Property strFAMFAMFAMAttributionURL() As String
Get
Return ResourceManager.GetString("strFAMFAMFAMAttributionURL", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Uses the Magic library by [Crownwood Software].
'''</summary>
Friend ReadOnly Property strMagicLibraryAttribution() As String
Get
Return ResourceManager.GetString("strMagicLibraryAttribution", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to http://www.dotnetmagic.com/.
'''</summary>
Friend ReadOnly Property strMagicLibraryAttributionURL() As String
Get
Return ResourceManager.GetString("strMagicLibraryAttributionURL", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Portable Edition.
'''</summary>
Friend ReadOnly Property strPortableEdition() As String
Get
Return ResourceManager.GetString("strPortableEdition", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Released under the GNU General Public License (GPL).
'''</summary>
Friend ReadOnly Property strReleasedUnderGPL() As String
Get
Return ResourceManager.GetString("strReleasedUnderGPL", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Every {0} days.
'''</summary>
Friend ReadOnly Property strUpdateFrequencyCustom() As String
Get
Return ResourceManager.GetString("strUpdateFrequencyCustom", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Daily.
'''</summary>
Friend ReadOnly Property strUpdateFrequencyDaily() As String
Get
Return ResourceManager.GetString("strUpdateFrequencyDaily", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Monthly.
'''</summary>
Friend ReadOnly Property strUpdateFrequencyMonthly() As String
Get
Return ResourceManager.GetString("strUpdateFrequencyMonthly", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Weekly.
'''</summary>
Friend ReadOnly Property strUpdateFrequencyWeekly() As String
Get
Return ResourceManager.GetString("strUpdateFrequencyWeekly", resourceCulture)
End Get
End Property
Friend ReadOnly Property Tab_Icon() As System.Drawing.Icon
Get
Dim obj As Object = ResourceManager.GetObject("Tab_Icon", resourceCulture)

View File

@@ -169,9 +169,6 @@
<data name="mRemote_Icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Icons\mRemote_Icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mRemote_Tray_Icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Icons\mRemote_Tray_Icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="PuttyConfig" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images\PuttyConfig.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -448,4 +445,49 @@
<data name="News" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Images_FamFamFam\News.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="strUpdateFrequencyCustom" xml:space="preserve">
<value>Every {0} days</value>
</data>
<data name="strUpdateFrequencyDaily" xml:space="preserve">
<value>Daily</value>
</data>
<data name="strUpdateFrequencyMonthly" xml:space="preserve">
<value>Monthly</value>
</data>
<data name="strUpdateFrequencyWeekly" xml:space="preserve">
<value>Weekly</value>
</data>
<data name="strFAMFAMFAMAttribution" xml:space="preserve">
<value>Includes icons by [FAMFAMFAM]</value>
</data>
<data name="strFAMFAMFAMAttributionURL" xml:space="preserve">
<value>http://www.famfamfam.com/</value>
</data>
<data name="strMagicLibraryAttribution" xml:space="preserve">
<value>Uses the Magic library by [Crownwood Software]</value>
</data>
<data name="strMagicLibraryAttributionURL" xml:space="preserve">
<value>http://www.dotnetmagic.com/</value>
</data>
<data name="strAbout" xml:space="preserve">
<value>About</value>
</data>
<data name="strChangeLogLabel" xml:space="preserve">
<value>Change Log:</value>
</data>
<data name="strReleasedUnderGPL" xml:space="preserve">
<value>Released under the GNU General Public License (GPL)</value>
</data>
<data name="strConfirmResetLayout" xml:space="preserve">
<value>Are you sure you want to reset the panels to their default layout?</value>
</data>
<data name="strConfirmExitMainInstruction" xml:space="preserve">
<value>Do you want to close all open connections?</value>
</data>
<data name="strDoNotShowThisMessageAgain" xml:space="preserve">
<value>Do not show this message again.</value>
</data>
<data name="strPortableEdition" xml:space="preserve">
<value>Portable Edition</value>
</data>
</root>

View File

@@ -239,7 +239,7 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemote.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Global.System.Configuration.DefaultSettingValueAttribute("True")> _
Public Property ConfirmExit() As Boolean
Get
Return CType(Me("ConfirmExit"),Boolean)
@@ -445,7 +445,6 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemote.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property ResetPanels() As Boolean
@@ -952,10 +951,8 @@ Namespace My
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemote.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property ResetToolbars() As Boolean
Get
Return CType(Me("ResetToolbars"),Boolean)
@@ -1926,6 +1923,76 @@ Namespace My
Me("LastAnnouncement") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemote.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property CheckForUpdatesAsked() As Boolean
Get
Return CType(Me("CheckForUpdatesAsked"),Boolean)
End Get
Set
Me("CheckForUpdatesAsked") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemote.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("7")> _
Public Property CheckForUpdatesFrequencyDays() As Integer
Get
Return CType(Me("CheckForUpdatesFrequencyDays"),Integer)
End Get
Set
Me("CheckForUpdatesFrequencyDays") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemote.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("1980-01-01")> _
Public Property CheckForUpdatesLastCheck() As Date
Get
Return CType(Me("CheckForUpdatesLastCheck"),Date)
End Get
Set
Me("CheckForUpdatesLastCheck") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Configuration.SettingsProviderAttribute(GetType(mRemote.Config.Settings.Providers.ChooseProvider)), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
Public Property UpdatePending() As Boolean
Get
Return CType(Me("UpdatePending"),Boolean)
End Get
Set
Me("UpdatePending") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Never")> _
Public ReadOnly Property ConDefaultRDGatewayUsageMethod() As String
Get
Return CType(Me("ConDefaultRDGatewayUsageMethod"),String)
End Get
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Yes")> _
Public ReadOnly Property ConDefaultRDGatewayUseConnectionCredentials() As String
Get
Return CType(Me("ConDefaultRDGatewayUseConnectionCredentials"),String)
End Get
End Property
End Class
End Namespace

View File

@@ -45,7 +45,7 @@
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="ConfirmExit" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="CheckForUpdatesOnStartup" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
@@ -92,7 +92,7 @@
<Setting Name="ShowProtocolOnTabs" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ResetPanels" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Setting Name="ResetPanels" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="UpdateUseProxy" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
@@ -209,7 +209,7 @@
<Setting Name="QuickyTBParentDock" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)">Top</Value>
</Setting>
<Setting Name="ResetToolbars" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Roaming="true" Type="System.Boolean" Scope="User">
<Setting Name="ResetToolbars" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="UseSQLServer" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
@@ -434,5 +434,23 @@
<Setting Name="LastAnnouncement" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="CheckForUpdatesAsked" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="CheckForUpdatesFrequencyDays" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Int32" Scope="User">
<Value Profile="(Default)">7</Value>
</Setting>
<Setting Name="CheckForUpdatesLastCheck" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.DateTime" Scope="User">
<Value Profile="(Default)">1980-01-01</Value>
</Setting>
<Setting Name="UpdatePending" Provider="mRemote.Config.Settings.Providers.ChooseProvider" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="ConDefaultRDGatewayUsageMethod" Type="System.String" Scope="Application">
<Value Profile="(Default)">Never</Value>
</Setting>
<Setting Name="ConDefaultRDGatewayUseConnectionCredentials" Type="System.String" Scope="Application">
<Value Profile="(Default)">Yes</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -52,6 +52,9 @@ How to add a new protocol:
Connection.Info.SetDefaultPort
UI.Window.Config.ShowHideGridItems
Remote Desktop ActiveX Control Reference
http://msdn.microsoft.com/en-us/library/aa383022%28VS.85%29.aspx
RDP 6.0 NLA:
AdvancedSettings5.AuthenticationLevel
0 = No authentication of the server.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 656 B

After

Width:  |  Height:  |  Size: 740 B

View File

@@ -80,7 +80,7 @@ Namespace Tools
Me._nI = New NotifyIcon
Me._nI.Text = "mRemote"
Me._nI.BalloonTipText = "mRemote"
Me._nI.Icon = My.Resources.mRemote_Tray_Icon
Me._nI.Icon = My.Resources.mRemote_Icon
Me._nI.ContextMenuStrip = Me._cMen
Me._nI.Visible = True

View File

@@ -201,13 +201,14 @@ Namespace Tools
End Function
Public Class PropertyGridCategory
Public Const Category1 As String = vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr
Public Const Category2 As String = vbCr & vbCr & vbCr & vbCr & vbCr & vbCr
Public Const Category3 As String = vbCr & vbCr & vbCr & vbCr & vbCr
Public Const Category4 As String = vbCr & vbCr & vbCr & vbCr
Public Const Category5 As String = vbCr & vbCr & vbCr
Public Const Category6 As String = vbCr & vbCr
Public Const Category7 As String = vbCr
Public Const Category1 As String = vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr
Public Const Category2 As String = vbCr & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr
Public Const Category3 As String = vbCr & vbCr & vbCr & vbCr & vbCr & vbCr
Public Const Category4 As String = vbCr & vbCr & vbCr & vbCr & vbCr
Public Const Category5 As String = vbCr & vbCr & vbCr & vbCr
Public Const Category6 As String = vbCr & vbCr & vbCr
Public Const Category7 As String = vbCr & vbCr
Public Const Category8 As String = vbCr
End Class
Public Class PropertyGridValue

View File

@@ -17,8 +17,8 @@ Namespace UI
Friend WithEvents pnlBottom As System.Windows.Forms.Panel
Friend WithEvents pbLogo As System.Windows.Forms.PictureBox
Friend WithEvents lblEdition As System.Windows.Forms.Label
Friend WithEvents llblCopyright2 As System.Windows.Forms.LinkLabel
Friend WithEvents llblCopyright3 As System.Windows.Forms.LinkLabel
Friend WithEvents llblFAMFAMFAM As System.Windows.Forms.LinkLabel
Friend WithEvents llblMagicLibrary As System.Windows.Forms.LinkLabel
Friend WithEvents pnlTop As System.Windows.Forms.Panel
Private Sub InitializeComponent()
@@ -26,8 +26,8 @@ Namespace UI
Me.lblEdition = New System.Windows.Forms.Label
Me.pbLogo = New System.Windows.Forms.PictureBox
Me.pnlBottom = New System.Windows.Forms.Panel
Me.llblCopyright3 = New System.Windows.Forms.LinkLabel
Me.llblCopyright2 = New System.Windows.Forms.LinkLabel
Me.llblMagicLibrary = New System.Windows.Forms.LinkLabel
Me.llblFAMFAMFAM = New System.Windows.Forms.LinkLabel
Me.txtChangeLog = New System.Windows.Forms.TextBox
Me.lblTitle = New System.Windows.Forms.Label
Me.lblVersion = New System.Windows.Forms.Label
@@ -49,17 +49,18 @@ Namespace UI
Me.pnlTop.ForeColor = System.Drawing.Color.White
Me.pnlTop.Location = New System.Drawing.Point(-1, -1)
Me.pnlTop.Name = "pnlTop"
Me.pnlTop.Size = New System.Drawing.Size(788, 174)
Me.pnlTop.Size = New System.Drawing.Size(788, 145)
Me.pnlTop.TabIndex = 0
'
'lblEdition
'
Me.lblEdition.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.lblEdition.BackColor = System.Drawing.Color.Black
Me.lblEdition.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblEdition.ForeColor = System.Drawing.Color.White
Me.lblEdition.Location = New System.Drawing.Point(455, 127)
Me.lblEdition.Location = New System.Drawing.Point(512, 112)
Me.lblEdition.Name = "lblEdition"
Me.lblEdition.Size = New System.Drawing.Size(318, 24)
Me.lblEdition.Size = New System.Drawing.Size(264, 24)
Me.lblEdition.TabIndex = 0
Me.lblEdition.Text = "Edition"
Me.lblEdition.TextAlign = System.Drawing.ContentAlignment.BottomRight
@@ -68,9 +69,9 @@ Namespace UI
'pbLogo
'
Me.pbLogo.Image = Global.mRemote.My.Resources.Resources.Logo
Me.pbLogo.Location = New System.Drawing.Point(13, 22)
Me.pbLogo.Location = New System.Drawing.Point(8, 8)
Me.pbLogo.Name = "pbLogo"
Me.pbLogo.Size = New System.Drawing.Size(409, 129)
Me.pbLogo.Size = New System.Drawing.Size(492, 128)
Me.pbLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
Me.pbLogo.TabIndex = 1
Me.pbLogo.TabStop = False
@@ -81,8 +82,8 @@ Namespace UI
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pnlBottom.BackColor = System.Drawing.SystemColors.Control
Me.pnlBottom.Controls.Add(Me.llblCopyright3)
Me.pnlBottom.Controls.Add(Me.llblCopyright2)
Me.pnlBottom.Controls.Add(Me.llblMagicLibrary)
Me.pnlBottom.Controls.Add(Me.llblFAMFAMFAM)
Me.pnlBottom.Controls.Add(Me.txtChangeLog)
Me.pnlBottom.Controls.Add(Me.lblTitle)
Me.pnlBottom.Controls.Add(Me.lblVersion)
@@ -90,36 +91,38 @@ Namespace UI
Me.pnlBottom.Controls.Add(Me.lblLicense)
Me.pnlBottom.Controls.Add(Me.lblCopyright)
Me.pnlBottom.ForeColor = System.Drawing.SystemColors.ControlText
Me.pnlBottom.Location = New System.Drawing.Point(-1, 173)
Me.pnlBottom.Location = New System.Drawing.Point(-1, 144)
Me.pnlBottom.Name = "pnlBottom"
Me.pnlBottom.Size = New System.Drawing.Size(788, 389)
Me.pnlBottom.Size = New System.Drawing.Size(788, 418)
Me.pnlBottom.TabIndex = 1
'
'llblCopyright3
'llblMagicLibrary
'
Me.llblCopyright3.AutoSize = True
Me.llblCopyright3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.llblCopyright3.ForeColor = System.Drawing.SystemColors.ControlText
Me.llblCopyright3.LinkColor = System.Drawing.Color.Blue
Me.llblCopyright3.Location = New System.Drawing.Point(29, 111)
Me.llblCopyright3.Name = "llblCopyright3"
Me.llblCopyright3.Size = New System.Drawing.Size(57, 13)
Me.llblCopyright3.TabIndex = 4
Me.llblCopyright3.TabStop = True
Me.llblCopyright3.Text = "Copyright3"
Me.llblMagicLibrary.AutoSize = True
Me.llblMagicLibrary.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.llblMagicLibrary.ForeColor = System.Drawing.SystemColors.ControlText
Me.llblMagicLibrary.LinkColor = System.Drawing.Color.Blue
Me.llblMagicLibrary.Location = New System.Drawing.Point(16, 136)
Me.llblMagicLibrary.Name = "llblMagicLibrary"
Me.llblMagicLibrary.Size = New System.Drawing.Size(92, 22)
Me.llblMagicLibrary.TabIndex = 8
Me.llblMagicLibrary.TabStop = True
Me.llblMagicLibrary.Text = "MagicLibrary"
Me.llblMagicLibrary.UseCompatibleTextRendering = True
'
'llblCopyright2
'llblFAMFAMFAM
'
Me.llblCopyright2.AutoSize = True
Me.llblCopyright2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.llblCopyright2.ForeColor = System.Drawing.SystemColors.ControlText
Me.llblCopyright2.LinkColor = System.Drawing.Color.Blue
Me.llblCopyright2.Location = New System.Drawing.Point(29, 93)
Me.llblCopyright2.Name = "llblCopyright2"
Me.llblCopyright2.Size = New System.Drawing.Size(57, 13)
Me.llblCopyright2.TabIndex = 3
Me.llblCopyright2.TabStop = True
Me.llblCopyright2.Text = "Copyright2"
Me.llblFAMFAMFAM.AutoSize = True
Me.llblFAMFAMFAM.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.llblFAMFAMFAM.ForeColor = System.Drawing.SystemColors.ControlText
Me.llblFAMFAMFAM.LinkColor = System.Drawing.Color.Blue
Me.llblFAMFAMFAM.Location = New System.Drawing.Point(16, 116)
Me.llblFAMFAMFAM.Name = "llblFAMFAMFAM"
Me.llblFAMFAMFAM.Size = New System.Drawing.Size(101, 22)
Me.llblFAMFAMFAM.TabIndex = 4
Me.llblFAMFAMFAM.TabStop = True
Me.llblFAMFAMFAM.Text = "FAMFAMFAM"
Me.llblFAMFAMFAM.UseCompatibleTextRendering = True
'
'txtChangeLog
'
@@ -131,69 +134,74 @@ Namespace UI
Me.txtChangeLog.Cursor = System.Windows.Forms.Cursors.Default
Me.txtChangeLog.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtChangeLog.ForeColor = System.Drawing.SystemColors.ControlText
Me.txtChangeLog.Location = New System.Drawing.Point(115, 158)
Me.txtChangeLog.Location = New System.Drawing.Point(24, 200)
Me.txtChangeLog.Multiline = True
Me.txtChangeLog.Name = "txtChangeLog"
Me.txtChangeLog.ReadOnly = True
Me.txtChangeLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtChangeLog.Size = New System.Drawing.Size(670, 229)
Me.txtChangeLog.Size = New System.Drawing.Size(760, 216)
Me.txtChangeLog.TabIndex = 7
Me.txtChangeLog.TabStop = False
'
'lblTitle
'
Me.lblTitle.AutoSize = True
Me.lblTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblTitle.ForeColor = System.Drawing.SystemColors.ControlText
Me.lblTitle.Location = New System.Drawing.Point(13, 19)
Me.lblTitle.Location = New System.Drawing.Point(16, 16)
Me.lblTitle.Name = "lblTitle"
Me.lblTitle.Size = New System.Drawing.Size(120, 24)
Me.lblTitle.Size = New System.Drawing.Size(122, 27)
Me.lblTitle.TabIndex = 0
Me.lblTitle.Text = "mRemoteNG"
Me.lblTitle.UseCompatibleTextRendering = True
'
'lblVersion
'
Me.lblVersion.AutoSize = True
Me.lblVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblVersion.ForeColor = System.Drawing.SystemColors.ControlText
Me.lblVersion.Location = New System.Drawing.Point(17, 50)
Me.lblVersion.Location = New System.Drawing.Point(16, 56)
Me.lblVersion.Name = "lblVersion"
Me.lblVersion.Size = New System.Drawing.Size(58, 18)
Me.lblVersion.Size = New System.Drawing.Size(57, 22)
Me.lblVersion.TabIndex = 1
Me.lblVersion.Text = "Version"
Me.lblVersion.UseCompatibleTextRendering = True
'
'lblChangeLog
'
Me.lblChangeLog.AutoSize = True
Me.lblChangeLog.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblChangeLog.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblChangeLog.ForeColor = System.Drawing.SystemColors.ControlText
Me.lblChangeLog.Location = New System.Drawing.Point(16, 155)
Me.lblChangeLog.Location = New System.Drawing.Point(16, 176)
Me.lblChangeLog.Name = "lblChangeLog"
Me.lblChangeLog.Size = New System.Drawing.Size(92, 18)
Me.lblChangeLog.Size = New System.Drawing.Size(92, 22)
Me.lblChangeLog.TabIndex = 6
Me.lblChangeLog.Text = "Change Log:"
Me.lblChangeLog.UseCompatibleTextRendering = True
'
'lblLicense
'
Me.lblLicense.AutoSize = True
Me.lblLicense.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblLicense.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblLicense.ForeColor = System.Drawing.SystemColors.ControlText
Me.lblLicense.Location = New System.Drawing.Point(28, 129)
Me.lblLicense.Location = New System.Drawing.Point(16, 96)
Me.lblLicense.Name = "lblLicense"
Me.lblLicense.Size = New System.Drawing.Size(44, 13)
Me.lblLicense.Size = New System.Drawing.Size(58, 22)
Me.lblLicense.TabIndex = 5
Me.lblLicense.Text = "License"
Me.lblLicense.UseCompatibleTextRendering = True
'
'lblCopyright
'
Me.lblCopyright.AutoSize = True
Me.lblCopyright.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblCopyright.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblCopyright.ForeColor = System.Drawing.SystemColors.ControlText
Me.lblCopyright.Location = New System.Drawing.Point(17, 68)
Me.lblCopyright.Location = New System.Drawing.Point(16, 76)
Me.lblCopyright.Name = "lblCopyright"
Me.lblCopyright.Size = New System.Drawing.Size(71, 18)
Me.lblCopyright.Size = New System.Drawing.Size(70, 22)
Me.lblCopyright.TabIndex = 2
Me.lblCopyright.Text = "Copyright"
Me.lblCopyright.UseCompatibleTextRendering = True
'
'About
'
@@ -201,9 +209,9 @@ Namespace UI
Me.ClientSize = New System.Drawing.Size(784, 564)
Me.Controls.Add(Me.pnlTop)
Me.Controls.Add(Me.pnlBottom)
Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.ForeColor = System.Drawing.SystemColors.ControlText
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Tray_Icon
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Icon
Me.MaximumSize = New System.Drawing.Size(20000, 10000)
Me.Name = "About"
Me.TabText = "About"
@@ -223,6 +231,45 @@ Namespace UI
Me.WindowType = Type.About
Me.DockPnl = Panel
Me.InitializeComponent()
App.Runtime.FontOverride(Me)
End Sub
#End Region
#Region "Private Methods"
Private Sub ApplyLanguage()
lblLicense.Text = My.Resources.strReleasedUnderGPL
lblChangeLog.Text = My.Resources.strChangeLogLabel
TabText = My.Resources.strAbout
Text = My.Resources.strAbout
End Sub
Private Sub ApplyEditions()
#If PORTABLE Then
lblEdition.Text = My.Resources.strPortableEdition
lblEdition.Visible = True
#Else
If App.Editions.Spanlink.Enabled Then
lblEdition.Text = "Spanlink Communications"
lblEdition.Visible = True
End If
#End If
End Sub
Private Sub FillLinkLabel(ByVal llbl As LinkLabel, ByVal Text As String, ByVal URL As String)
llbl.Links.Clear()
Dim Open As Integer = Text.IndexOf("[")
Dim Close As Integer
While Open <> -1
Text = Text.Remove(Open, 1)
Close = Text.IndexOf("]", Open)
If Close = -1 Then Exit While
Text = Text.Remove(Close, 1)
llbl.Links.Add(Open, Close - Open, URL)
Open = Text.IndexOf("[", Open)
End While
llbl.Text = Text
End Sub
#End Region
@@ -232,19 +279,15 @@ Namespace UI
ApplyEditions()
Try
lblCopyright.Text = My.Application.Info.Copyright
Me.lblVersion.Text = "Version " & My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor
Me.lblLicense.Text = Language.Base.ReleasedUnderGPL
Me.lblCopyright.Text = My.Application.Info.Copyright
FillLinkLabel(llblFAMFAMFAM, My.Resources.strFAMFAMFAMAttribution, My.Resources.strFAMFAMFAMAttributionURL)
FillLinkLabel(llblMagicLibrary, My.Resources.strMagicLibraryAttribution, My.Resources.strMagicLibraryAttributionURL)
Me.llblCopyright2.Text = "Contains VNC viewer software licensed from SmartCode Solutions"
Me.llblCopyright2.Links.Add(43, 100, (App.Info.General.SmartCodeURL))
Me.llblCopyright3.Text = "Some Icons by FAMFAMFAM"
Me.llblCopyright3.Links.Add(14, 100, (App.Info.General.FamFamFamURL))
If File.Exists(My.Application.Info.DirectoryPath & "\ChangeLog.txt") Then
Dim sR As New StreamReader(My.Application.Info.DirectoryPath & "\ChangeLog.txt")
If File.Exists(My.Application.Info.DirectoryPath & "\CHANGELOG.TXT") Then
Dim sR As New StreamReader(My.Application.Info.DirectoryPath & "\CHANGELOG.TXT")
Me.txtChangeLog.Text = sR.ReadToEnd
sR.Close()
End If
@@ -253,29 +296,14 @@ Namespace UI
End Try
End Sub
Private Sub ApplyLanguage()
lblChangeLog.Text = Language.Base.ChangeLog
lblLicense.Text = Language.Base.License
TabText = Language.Base.About
Text = Language.Base.About
Private Sub llblFAMFAMFAM_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles llblFAMFAMFAM.LinkClicked
App.Runtime.GoToURL(My.Resources.strFAMFAMFAMAttributionURL)
End Sub
Private Sub ApplyEditions()
If App.Editions.Spanlink.Enabled Then
lblEdition.Text = "Spanlink Communications"
lblEdition.Visible = True
End If
End Sub
Private Sub llblCopyright2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles llblCopyright2.LinkClicked
App.Runtime.GoToURL(App.Info.General.SmartCodeURL)
End Sub
Private Sub llblCopyright3_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles llblCopyright3.LinkClicked
App.Runtime.GoToURL(App.Info.General.FamFamFamURL)
Private Sub llblMagicLibrary_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles llblMagicLibrary.LinkClicked
App.Runtime.GoToURL(My.Resources.strMagicLibraryAttributionURL)
End Sub
#End Region
End Class
End Namespace
End Namespace

View File

@@ -489,10 +489,10 @@ Namespace UI
pnlCheck6.Visible = True
Dim RDP As AxMSTSCLib.AxMsRdpClient5 = Nothing
Dim RDP As AxMSTSCLib.AxMsRdpClient6NotSafeForScripting = Nothing
Try
RDP = New AxMSTSCLib.AxMsRdpClient5
RDP = New AxMSTSCLib.AxMsRdpClient6NotSafeForScripting
RDP.CreateControl()
Do Until RDP.Created
@@ -503,7 +503,7 @@ Namespace UI
pbCheck1.Image = My.Resources.Good_Symbol
lblCheck1.ForeColor = Color.DarkOliveGreen
lblCheck1.Text = "RDP (Remote Desktop) " & Language.Base.CcCheckSucceeded
txtCheck1.Text = Language.Base.CcRDPOK
txtCheck1.Text = String.Format(Language.Base.CcRDPOK, RDP.Version)
Catch ex As Exception
pbCheck1.Image = My.Resources.Bad_Symbol
lblCheck1.ForeColor = Color.Firebrick
@@ -514,14 +514,13 @@ Namespace UI
mC.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
End Try
RDP.Dispose()
If RDP IsNot Nothing Then RDP.Dispose()
Dim VNC As AxViewerX.AxCSC_ViewerXControl = Nothing
Dim VNC As VncSharp.RemoteDesktop = Nothing
Try
VNC = New AxViewerX.AxCSC_ViewerXControl
mRemote.Connection.Protocol.VNC.SetupLicense(VNC)
VNC = New VncSharp.RemoteDesktop
VNC.CreateControl()
Do Until VNC.Created
@@ -532,7 +531,7 @@ Namespace UI
pbCheck2.Image = My.Resources.Good_Symbol
lblCheck2.ForeColor = Color.DarkOliveGreen
lblCheck2.Text = "VNC (Virtual Network Computing) " & Language.Base.CcCheckSucceeded
txtCheck2.Text = Language.Base.CcVNCOK
txtCheck2.Text = String.Format(Language.Base.CcVNCOK, VNC.ProductVersion)
Catch ex As Exception
pbCheck2.Image = My.Resources.Bad_Symbol
lblCheck2.ForeColor = Color.Firebrick
@@ -540,10 +539,10 @@ Namespace UI
txtCheck2.Text = Language.Base.CcVNCFailed
mC.AddMessage(Messages.MessageClass.WarningMsg, "VNC " & errorMsg, True)
mC.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
'mC.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
End Try
VNC.Dispose()
If VNC IsNot Nothing Then VNC.Dispose()
Dim pPath As String = ""
@@ -584,7 +583,7 @@ Namespace UI
pbCheck4.Image = My.Resources.Good_Symbol
lblCheck4.ForeColor = Color.DarkOliveGreen
lblCheck4.Text = "ICA (Citrix ICA) " & Language.Base.CcCheckSucceeded
txtCheck4.Text = Language.Base.CcICAOK
txtCheck4.Text = String.Format(Language.Base.CcICAOK, ICA.Version)
Catch ex As Exception
pbCheck4.Image = My.Resources.Bad_Symbol
lblCheck4.ForeColor = Color.Firebrick
@@ -595,7 +594,7 @@ Namespace UI
mC.AddMessage(Messages.MessageClass.ErrorMsg, ex.Message, True)
End Try
ICA.Dispose()
If ICA IsNot Nothing Then ICA.Dispose()
Dim GeckoBad As Boolean = False
@@ -628,7 +627,6 @@ Namespace UI
End If
Dim eol As EOLWTSCOM.WTSCOM = Nothing
Try

View File

@@ -1,7 +1,4 @@
Imports WeifenLuo.WinFormsUI.Docking
Imports Azuria.Common.Controls
Imports System.ComponentModel
Imports System.Net
Imports System.Net.NetworkInformation
Imports mRemote.App.Runtime
@@ -395,34 +392,36 @@ Namespace UI
#End Region
#Region "Private Methods"
Private tsCustom As ToolStrip = Nothing
Private Sub Config_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ApplyLanguage()
Try
'Show PropertyGrid Toolbar buttons
Dim nT As New ToolStrip
nT.Items.Add(Me.btnShowProperties)
nT.Items.Add(Me.btnShowInheritance)
nT.Items.Add(Me.btnShowDefaultProperties)
nT.Items.Add(Me.btnShowDefaultInheritance)
nT.Items.Add(Me.btnHostStatus)
nT.Items.Add(Me.btnIcon)
nT.Show()
tsCustom = New ToolStrip
tsCustom.Items.Add(btnShowProperties)
tsCustom.Items.Add(btnShowInheritance)
tsCustom.Items.Add(btnShowDefaultProperties)
tsCustom.Items.Add(btnShowDefaultInheritance)
tsCustom.Items.Add(btnHostStatus)
tsCustom.Items.Add(btnIcon)
tsCustom.Show()
Dim T As ToolStrip = New ToolStrip
Dim tsDefault As ToolStrip = New ToolStrip
For Each ctrl As System.Windows.Forms.Control In Me.pGrid.Controls
For Each ctrl As System.Windows.Forms.Control In pGrid.Controls
Dim tStrip As ToolStrip = TryCast(ctrl, ToolStrip)
If tStrip IsNot Nothing Then
T = tStrip
tsDefault = tStrip
Exit For
End If
Next
T.AllowMerge = True
T.Items(T.Items.Count - 1).Visible = False
ToolStripManager.Merge(nT, T)
tsDefault.AllowMerge = True
tsDefault.Items(tsDefault.Items.Count - 1).Visible = False
ToolStripManager.Merge(tsCustom, tsDefault)
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Load (UI.Window.Config) failed" & vbNewLine & ex.Message, True)
End Try
@@ -505,8 +504,13 @@ Namespace UI
Select Case conI.Protocol
Case mRemote.Connection.Protocol.Protocols.RDP
strHide &= "ExtApp;RenderingEngine;PuttySession;ICAEncryption;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
If conI.RDGatewayUsageMethod = mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod.Never Then
strHide &= "RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Else If conI.RDGatewayUseConnectionCredentials Then
strHide &= "RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
End If
Case mRemote.Connection.Protocol.Protocols.VNC
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;PuttySession;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;"
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;PuttySession;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
If conI.VNCAuthMode = mRemote.Connection.Protocol.VNC.AuthMode.AuthVNC Then
strHide &= "Username;Domain;"
End If
@@ -514,23 +518,23 @@ Namespace UI
strHide &= "VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyUsername;"
End If
Case mRemote.Connection.Protocol.Protocols.SSH1
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.SSH2
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.Telnet
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.Rlogin
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.RAW
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;Password;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;Username;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.HTTP
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;PuttySession;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;PuttySession;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.HTTPS
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;PuttySession;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "ExtApp;CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;ICAEncryption;RDPAuthenticationLevel;PuttySession;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.ICA
strHide &= "ExtApp;DisplayThemes;DisplayWallpaper;PuttySession;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;UseConsoleSession;RenderingEngine;Port;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "ExtApp;DisplayThemes;DisplayWallpaper;PuttySession;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;UseConsoleSession;RenderingEngine;Port;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
Case mRemote.Connection.Protocol.Protocols.IntApp
strHide &= "CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;PuttySession;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;"
strHide &= "CacheBitmaps;Colors;DisplayThemes;DisplayWallpaper;Domain;PuttySession;ICAEncryption;RDPAuthenticationLevel;RedirectDiskDrives;RedirectKeys;RedirectPorts;RedirectPrinters;RedirectSmartCards;RedirectSound;Resolution;UseConsoleSession;RenderingEngine;VNCAuthMode;VNCColors;VNCCompression;VNCEncoding;VNCProxyIP;VNCProxyPassword;VNCProxyPort;VNCProxyType;VNCProxyUsername;VNCSmartSizeMode;VNCViewOnly;RDGatewayUsageMethod;RDGatewayHostname;RDGatewayUseConnectionCredentials;RDGatewayUsername;RDGatewayPassword;RDGatewayDomain;"
End Select
If conI.IsDefault = False Then
@@ -698,6 +702,10 @@ Namespace UI
If .ExtApp Then
strHide &= "ExtApp"
End If
If .RDGatewayHostname Then
strHide &= "RDGatewayHostname"
End If
End With
Else
strHide = "Hostname;Name;"

View File

@@ -124,18 +124,18 @@
<data name="cmenTabExternalApps.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmhJREFUOE+lU9tL
01EcP/0VvbqxiQ6dOp2b25xzzgspRrvpNkeMTBqiszSzGgrSKlIYtV9RZJl0UdOJjbSctFUrsKcxg3oo
/GF0ocCHpHrwoU87B04UBAke+Dx+vp8bZxcAsqN3/ebdK8vJ1Fby2QoST1cQf/wcC/EnuLf4CDOxJdye
XcD45Dwu35jBhat3MHJxAqHwGIJnhK3O3sFukiX/fLl3D95Fd8M8b8SrN+v/xeu36/j0ZQPdJ0ciJJl6
ga/LD/HjvYD7H2L4+HljW9j89h3+Y6cFQi2XlJRApVKhtLQUZWVlUKvVKC8vh0ajQUVFBfR6PQwGAyor
K1FVVYXq6mrU1NSgvWdIIEuJFCPl5ORAIpFAKpVCJpNBLpcjNzcXeXl5UCgUKCgoQGFhIYqKiphgXV0d
eofCAqGF8QPpdBpTU1PbPpDtQCCxBwlmkyuura2hr6/vn6o0Jo/Y2NiIQ/0hgczG4ixbfn4+MpkMotEo
lErlb6ucxDvRarXQ6XRobm7GgcCgQCbnFmE2mxmhuLiY5eNlUhIFJ9EyqRiF1WrF/s4BgUxMx1BfX/8X
ibdPlfgCRqORLWAymdgKDocDno5egYzdmgPNQ1VoF5T052R8NuqSwmKxoLa2Fi0tLXD6ugVyaXya5eHW
uBJVoQS6NyfR6SgaGhrgdrth8/oFci5ybZPmsdlssNvtzJrT6WQKFK2trXC5XIzg8XjQ1tbG4PV60eT0
jZLAwHAgGDq/GgxFxP7hsHhkcFTsOn5W9B89JR7sGRJ9XSdEr79fdLcfFrOWxayquM/dITY5fKuWJoeJ
0O+8E/wCTNYVG3agVjIAAAAASUVORK5CYII=
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmlJREFUOE+lVN1L
k1EcPv9Ft06mzOF0m27qdHOb040cRpubc3PEyKQhTktbVuJAWkUKUr5FkWXSh5pObKTmJK1WYFdjBnVR
7MXogwIvkurCi552DpwoCBK8eC6f3/PFOQQA2Q3IjVv3ri6vJrdXn61h5ekaEo+fYz7xBPcXHmE6voQ7
M/MYm5jDlZvTuHjtLgYvjSM6PIq+s8J2e3d/iGTJP1/u24t3sT0wzxnw6s3Gf/H67QY+fdlE6NTgCFlN
vsDX5Yf48V7Agw9xfPy8uSNsffuO4PEzAqGWVSoV1Go1SkpKUFpaCo1GA61Wi7KyMlRUVKCyshJVVVXQ
6/Worq6GyWRCTU0NWrsiAllaSTJSTk4OJBIJcnNzIZVKkZeXh/z8fMhkMsjlchQWFkKhUKC4uJgJ1tXV
oTsyLBBaGD+QSqUwOTm54wPZDgQSX1xhNrliJpNBT0/PP1VpTB6xvr4eh8NRgczEEyxbQUEB0uk0YrEY
ioqKflvlJN5JeXk5dDodGhoacLCzXyATswswm82MoFQqWT5eJiVRcBItk4pROBwOHGjvFcj4VBxWq/Uv
Em+fKvEFDAYDW8BoNLIVXC4XfG3dAhm9PQuah6rQLijpz8n4bNQlhcViQW1tLZqamuAOhARyeWyK5eHW
uBJVoQS6NyfR6ShsNhu8Xi+c/qBAzo9c36J5nE4nGhsbmTW3280UKDweD5qbmxnB5/OhpaWFwe/3w+4O
DJHO3oHOvuiF9b7oiBgeGBaP9g+JHSfOicFjp8VDXREx0HFS9AfDorf1iJi1LGZVxf3eNtHuCqxb7C7j
rp4y/QZ+AXhAQe1Sf9VzAAAAAElFTkSuQmCC
</value>
</data>
<data name="cmenTabReconnect.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@@ -4,7 +4,6 @@ Imports System.Windows.Forms
Imports Crownwood
Imports WeifenLuo.WinFormsUI.Docking
Imports mRemote.App.Runtime
Imports System.IO
Namespace UI
Namespace Window
@@ -31,6 +30,7 @@ Namespace UI
Friend WithEvents cmenTabStartChat As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cmenTabRefreshScreen As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents cmenTabPuttySettings As System.Windows.Forms.ToolStripMenuItem
Public WithEvents TabController As Crownwood.Magic.Controls.TabControl
Private Sub InitializeComponent()
@@ -55,6 +55,7 @@ Namespace UI
Me.cmenTabDuplicateTab = New System.Windows.Forms.ToolStripMenuItem
Me.cmenTabReconnect = New System.Windows.Forms.ToolStripMenuItem
Me.cmenTabDisconnect = New System.Windows.Forms.ToolStripMenuItem
Me.cmenTabPuttySettings = New System.Windows.Forms.ToolStripMenuItem
Me.cmenTab.SuspendLayout()
Me.SuspendLayout()
'
@@ -74,30 +75,30 @@ Namespace UI
'
'cmenTab
'
Me.cmenTab.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmenTabFullscreen, Me.cmenTabSmartSize, Me.cmenTabViewOnly, Me.ToolStripSeparator1, Me.cmenTabScreenshot, Me.cmenTabStartChat, Me.cmenTabTransferFile, Me.cmenTabRefreshScreen, Me.cmenTabSendSpecialKeys, Me.cmenTabExternalApps, Me.cmenTabSep1, Me.cmenTabRenameTab, Me.cmenTabDuplicateTab, Me.cmenTabReconnect, Me.cmenTabDisconnect})
Me.cmenTab.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmenTabFullscreen, Me.cmenTabSmartSize, Me.cmenTabViewOnly, Me.ToolStripSeparator1, Me.cmenTabScreenshot, Me.cmenTabStartChat, Me.cmenTabTransferFile, Me.cmenTabRefreshScreen, Me.cmenTabSendSpecialKeys, Me.cmenTabPuttySettings, Me.cmenTabExternalApps, Me.cmenTabSep1, Me.cmenTabRenameTab, Me.cmenTabDuplicateTab, Me.cmenTabReconnect, Me.cmenTabDisconnect})
Me.cmenTab.Name = "cmenTab"
Me.cmenTab.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
Me.cmenTab.Size = New System.Drawing.Size(202, 302)
Me.cmenTab.Size = New System.Drawing.Size(202, 346)
'
'cmenTabFullscreen
'
Me.cmenTabFullscreen.Image = Global.mRemote.My.Resources.Resources.Fullscreen
Me.cmenTabFullscreen.Name = "cmenTabFullscreen"
Me.cmenTabFullscreen.Size = New System.Drawing.Size(201, 22)
Me.cmenTabFullscreen.Text = Language.Base.Fullscreen & " (RDP)"
Me.cmenTabFullscreen.Text = "Fullscreen (RDP)"
'
'cmenTabSmartSize
'
Me.cmenTabSmartSize.Image = Global.mRemote.My.Resources.Resources.SmartSize
Me.cmenTabSmartSize.Name = "cmenTabSmartSize"
Me.cmenTabSmartSize.Size = New System.Drawing.Size(201, 22)
Me.cmenTabSmartSize.Text = Language.Base.SmartSize & " (RDP/VNC)"
Me.cmenTabSmartSize.Text = "SmartSize (RDP/VNC)"
'
'cmenTabViewOnly
'
Me.cmenTabViewOnly.Name = "cmenTabViewOnly"
Me.cmenTabViewOnly.Size = New System.Drawing.Size(201, 22)
Me.cmenTabViewOnly.Text = Language.Base.Props_ViewOnly & " (VNC)"
Me.cmenTabViewOnly.Text = "View Only (VNC)"
'
'ToolStripSeparator1
'
@@ -109,28 +110,29 @@ Namespace UI
Me.cmenTabScreenshot.Image = Global.mRemote.My.Resources.Resources.Screenshot_Add
Me.cmenTabScreenshot.Name = "cmenTabScreenshot"
Me.cmenTabScreenshot.Size = New System.Drawing.Size(201, 22)
Me.cmenTabScreenshot.Text = Language.Base.Screenshot
Me.cmenTabScreenshot.Text = "Screenshot"
'
'cmenTabStartChat
'
Me.cmenTabStartChat.Image = Global.mRemote.My.Resources.Resources.Chat
Me.cmenTabStartChat.Name = "cmenTabStartChat"
Me.cmenTabStartChat.Size = New System.Drawing.Size(201, 22)
Me.cmenTabStartChat.Text = Language.Base.StartChat & " (VNC)"
Me.cmenTabStartChat.Text = "Start Chat (VNC)"
Me.cmenTabStartChat.Visible = False
'
'cmenTabTransferFile
'
Me.cmenTabTransferFile.Image = Global.mRemote.My.Resources.Resources.SSHTransfer
Me.cmenTabTransferFile.Name = "cmenTabTransferFile"
Me.cmenTabTransferFile.Size = New System.Drawing.Size(201, 22)
Me.cmenTabTransferFile.Text = Language.Base.TransferFile & " (SSH/VNC)"
Me.cmenTabTransferFile.Text = "Transfer File (SSH)"
'
'cmenTabRefreshScreen
'
Me.cmenTabRefreshScreen.Image = Global.mRemote.My.Resources.Resources.Refresh
Me.cmenTabRefreshScreen.Name = "cmenTabRefreshScreen"
Me.cmenTabRefreshScreen.Size = New System.Drawing.Size(201, 22)
Me.cmenTabRefreshScreen.Text = Language.Base.RefreshScreen & " (VNC)"
Me.cmenTabRefreshScreen.Text = "Refresh Screen (VNC)"
'
'cmenTabSendSpecialKeys
'
@@ -138,26 +140,26 @@ Namespace UI
Me.cmenTabSendSpecialKeys.Image = Global.mRemote.My.Resources.Resources.Keyboard
Me.cmenTabSendSpecialKeys.Name = "cmenTabSendSpecialKeys"
Me.cmenTabSendSpecialKeys.Size = New System.Drawing.Size(201, 22)
Me.cmenTabSendSpecialKeys.Text = Language.Base.SendSpecialKeys & " (VNC)"
Me.cmenTabSendSpecialKeys.Text = "Send special Keys (VNC)"
'
'cmenTabSendSpecialKeysCtrlAltDel
'
Me.cmenTabSendSpecialKeysCtrlAltDel.Name = "cmenTabSendSpecialKeysCtrlAltDel"
Me.cmenTabSendSpecialKeysCtrlAltDel.Size = New System.Drawing.Size(146, 22)
Me.cmenTabSendSpecialKeysCtrlAltDel.Text = Language.Base.Key_Control & "+" & Language.Base.Key_Alt & "+" & Language.Base.Key_Del
Me.cmenTabSendSpecialKeysCtrlAltDel.Size = New System.Drawing.Size(141, 22)
Me.cmenTabSendSpecialKeysCtrlAltDel.Text = "Ctrl+Alt+Del"
'
'cmenTabSendSpecialKeysCtrlEsc
'
Me.cmenTabSendSpecialKeysCtrlEsc.Name = "cmenTabSendSpecialKeysCtrlEsc"
Me.cmenTabSendSpecialKeysCtrlEsc.Size = New System.Drawing.Size(146, 22)
Me.cmenTabSendSpecialKeysCtrlEsc.Text = Language.Base.Key_Control & "+" & Language.Base.Key_Esc
Me.cmenTabSendSpecialKeysCtrlEsc.Size = New System.Drawing.Size(141, 22)
Me.cmenTabSendSpecialKeysCtrlEsc.Text = "Ctrl+Esc"
'
'cmenTabExternalApps
'
Me.cmenTabExternalApps.Image = CType(resources.GetObject("cmenTabExternalApps.Image"), System.Drawing.Image)
Me.cmenTabExternalApps.Name = "cmenTabExternalApps"
Me.cmenTabExternalApps.Size = New System.Drawing.Size(201, 22)
Me.cmenTabExternalApps.Text = Language.Base.Menu_ExternalApplications
Me.cmenTabExternalApps.Text = "External Applications"
'
'cmenTabSep1
'
@@ -169,33 +171,40 @@ Namespace UI
Me.cmenTabRenameTab.Image = Global.mRemote.My.Resources.Resources.Rename
Me.cmenTabRenameTab.Name = "cmenTabRenameTab"
Me.cmenTabRenameTab.Size = New System.Drawing.Size(201, 22)
Me.cmenTabRenameTab.Text = Language.Base.RenameTab
Me.cmenTabRenameTab.Text = "Rename Tab"
'
'cmenTabDuplicateTab
'
Me.cmenTabDuplicateTab.Name = "cmenTabDuplicateTab"
Me.cmenTabDuplicateTab.Size = New System.Drawing.Size(201, 22)
Me.cmenTabDuplicateTab.Text = Language.Base.DuplicateTab
Me.cmenTabDuplicateTab.Text = "Duplicate Tab"
'
'cmenTabReconnect
'
Me.cmenTabReconnect.Image = CType(resources.GetObject("cmenTabReconnect.Image"), System.Drawing.Image)
Me.cmenTabReconnect.Name = "cmenTabReconnect"
Me.cmenTabReconnect.Size = New System.Drawing.Size(201, 22)
Me.cmenTabReconnect.Text = Language.Base.Reconnect
Me.cmenTabReconnect.Text = "Reconnect"
'
'cmenTabDisconnect
'
Me.cmenTabDisconnect.Image = Global.mRemote.My.Resources.Resources.Pause
Me.cmenTabDisconnect.Name = "cmenTabDisconnect"
Me.cmenTabDisconnect.Size = New System.Drawing.Size(201, 22)
Me.cmenTabDisconnect.Text = Language.Base.Disconnect
Me.cmenTabDisconnect.Text = "Disconnect"
'
'cmenTabPuttySettings
'
Me.cmenTabPuttySettings.Name = "cmenTabPuttySettings"
Me.cmenTabPuttySettings.Size = New System.Drawing.Size(201, 22)
Me.cmenTabPuttySettings.Text = "PuTTY Settings"
'
'Connection
'
Me.ClientSize = New System.Drawing.Size(632, 453)
Me.Controls.Add(Me.TabController)
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Tray_Icon
Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Icon
Me.Name = "Connection"
Me.TabText = "UI.Window.Connection"
Me.Text = "UI.Window.Connection"
@@ -278,7 +287,7 @@ Namespace UI
cmenTabViewOnly.Text = Language.Base.Props_ViewOnly & " (VNC)"
cmenTabScreenshot.Text = Language.Base.Screenshot
cmenTabStartChat.Text = Language.Base.StartChat & " (VNC)"
cmenTabTransferFile.Text = Language.Base.TransferFile & " (SSH/VNC)"
cmenTabTransferFile.Text = Language.Base.TransferFile & " (SSH)"
cmenTabRefreshScreen.Text = Language.Base.RefreshScreen & " (VNC)"
cmenTabSendSpecialKeys.Text = Language.Base.SendSpecialKeys & " (VNC)"
cmenTabSendSpecialKeysCtrlAltDel.Text = Language.Base.Key_Control & "+" & Language.Base.Key_Alt & "+" & Language.Base.Key_Del
@@ -398,7 +407,7 @@ Namespace UI
Me.cmenTabSmartSize.Enabled = True
Me.cmenTabStartChat.Enabled = True
Me.cmenTabRefreshScreen.Enabled = True
Me.cmenTabTransferFile.Enabled = True
Me.cmenTabTransferFile.Enabled = False
Dim vnc As mRemote.Connection.Protocol.VNC = IC.Protocol
Me.cmenTabSmartSize.Checked = vnc.SmartSize
@@ -415,6 +424,12 @@ Namespace UI
Me.cmenTabTransferFile.Enabled = True
End If
If TypeOf IC.Protocol Is mRemote.Connection.Protocol.PuttyBase Then
Me.cmenTabPuttySettings.Enabled = True
Else
Me.cmenTabPuttySettings.Enabled = False
End If
AddExternalApps()
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ShowHideMenuButtons (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
@@ -463,6 +478,10 @@ Namespace UI
Me.ToggleFullscreen()
End Sub
Private Sub cmenTabPuttySettings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmenTabPuttySettings.Click
Me.ShowPuttySettingsDialog()
End Sub
Private Sub cmenTabExternalAppsEntry_Click(ByVal sender As Object, ByVal e As System.EventArgs)
StartExternalApp(sender.Tag)
End Sub
@@ -634,6 +653,24 @@ Namespace UI
End Try
End Sub
Private Sub ShowPuttySettingsDialog()
Try
If Me.TabController.SelectedTab IsNot Nothing Then
If TypeOf Me.TabController.SelectedTab.Tag Is mRemote.Connection.InterfaceControl Then
Dim objInterfaceControl As mRemote.Connection.InterfaceControl = Me.TabController.SelectedTab.Tag
If TypeOf objInterfaceControl.Protocol Is mRemote.Connection.Protocol.PuttyBase Then
Dim objPuttyBase As mRemote.Connection.Protocol.PuttyBase = objInterfaceControl.Protocol
objPuttyBase.ShowSettingsDialog()
End If
End If
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ShowPuttySettingsDialog (UI.Window.Connections) failed" & vbNewLine & ex.Message, True)
End Try
End Sub
Private Sub AddExternalApps()
Try
'clean up
@@ -891,7 +928,6 @@ Namespace UI
End Try
End Sub
#End Region
End Class
End Namespace
End Namespace

View File

@@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="TabController.DrawGrid" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
Imports WeifenLuo.WinFormsUI.Docking
Imports mRemote.App.Runtime
Imports AxViewerX
'Imports AxViewerX
Namespace UI
Namespace Window
@@ -67,7 +67,7 @@ Namespace UI
#End Region
#Region "Declarations"
Private WithEvents vnc As AxCSC_ViewerXControl
'Private WithEvents vnc As AxCSC_ViewerXControl
#End Region
#Region "Public Methods"
@@ -91,22 +91,22 @@ Namespace UI
Private Sub StartListening()
Try
If vnc IsNot Nothing Then
vnc.Dispose()
vnc = Nothing
End If
'If vnc IsNot Nothing Then
' vnc.Dispose()
' vnc = Nothing
'End If
vnc = New AxCSC_ViewerXControl()
SetupLicense()
'vnc = New AxCSC_ViewerXControl()
'SetupLicense()
vnc.Parent = pnlContainer
vnc.Dock = DockStyle.Fill
vnc.Show()
'vnc.Parent = pnlContainer
'vnc.Dock = DockStyle.Fill
'vnc.Show()
vnc.StretchMode = ViewerX.ScreenStretchMode.SSM_ASPECT
vnc.ListeningText = Language.Base.ListeningForIncomingVNCConnections & " " & My.Settings.UVNCSCPort
'vnc.StretchMode = ViewerX.ScreenStretchMode.SSM_ASPECT
'vnc.ListeningText = Language.Base.ListeningForIncomingVNCConnections & " " & My.Settings.UVNCSCPort
vnc.ListenEx(My.Settings.UVNCSCPort)
'vnc.ListenEx(My.Settings.UVNCSCPort)
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "StartListening (UI.Window.UltraVNCSC) failed" & vbNewLine & ex.Message, False)
Close()
@@ -115,24 +115,24 @@ Namespace UI
Private Sub SetupLicense()
Try
Dim f As System.Reflection.FieldInfo
f = GetType(AxHost).GetField("licenseKey", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
f.SetValue(vnc, "{072169039103041044176252035252117103057101225235137221179204110241121074}")
'Dim f As System.Reflection.FieldInfo
'f = GetType(AxHost).GetField("licenseKey", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
'f.SetValue(vnc, "{072169039103041044176252035252117103057101225235137221179204110241121074}")
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC SetupLicense failed (UI.Window.UltraVNCSC)" & vbNewLine & ex.Message, True)
End Try
End Sub
Private Sub vnc_ConnectionAccepted(ByVal sender As Object, ByVal e As AxViewerX._ISmartCodeVNCViewerEvents_ConnectionAcceptedEvent) Handles vnc.ConnectionAccepted
mC.AddMessage(Messages.MessageClass.InformationMsg, e.bstrServerAddress & " is now connected to your UltraVNC SingleClick panel!")
End Sub
'Private Sub vnc_ConnectionAccepted(ByVal sender As Object, ByVal e As AxViewerX._ISmartCodeVNCViewerEvents_ConnectionAcceptedEvent) Handles vnc.ConnectionAccepted
' mC.AddMessage(Messages.MessageClass.InformationMsg, e.bstrServerAddress & " is now connected to your UltraVNC SingleClick panel!")
'End Sub
Private Sub vnc_Disconnected(ByVal sender As Object, ByVal e As System.EventArgs) Handles vnc.Disconnected
StartListening()
End Sub
'Private Sub vnc_Disconnected(ByVal sender As Object, ByVal e As System.EventArgs) Handles vnc.Disconnected
' StartListening()
'End Sub
Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click
vnc.Dispose()
'vnc.Dispose()
Dispose()
App.Runtime.Windows.Show(Type.UltraVNCSC)
End Sub

View File

@@ -11,30 +11,30 @@ Namespace UI
#Region "Form Init"
Friend WithEvents lblStatus As System.Windows.Forms.Label
Friend WithEvents txtChangeLog As System.Windows.Forms.TextBox
Friend WithEvents lblCurrentVersion As System.Windows.Forms.Label
Friend WithEvents lblAvailableVersion As System.Windows.Forms.Label
Friend WithEvents prgbDownload As System.Windows.Forms.ProgressBar
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents btnDownload As System.Windows.Forms.Button
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents lblChangeLogLabel As System.Windows.Forms.Label
Friend WithEvents pnlUp As System.Windows.Forms.Panel
Friend WithEvents lblCurrentVersionLabel As System.Windows.Forms.Label
Friend WithEvents lblInstalledVersionLabel As System.Windows.Forms.Label
Friend WithEvents lblAvailableVersion As System.Windows.Forms.Label
Friend WithEvents lblCurrentVersion As System.Windows.Forms.Label
Friend WithEvents pbUpdateImage As System.Windows.Forms.PictureBox
Friend WithEvents btnCheckForUpdate As System.Windows.Forms.Button
Private Sub InitializeComponent()
Me.btnCheckForUpdate = New System.Windows.Forms.Button
Me.pnlUp = New System.Windows.Forms.Panel
Me.pbUpdateImage = New System.Windows.Forms.PictureBox
Me.Label7 = New System.Windows.Forms.Label
Me.lblChangeLogLabel = New System.Windows.Forms.Label
Me.btnDownload = New System.Windows.Forms.Button
Me.Label4 = New System.Windows.Forms.Label
Me.Label5 = New System.Windows.Forms.Label
Me.prgbDownload = New System.Windows.Forms.ProgressBar
Me.lblAvailableVersion = New System.Windows.Forms.Label
Me.lblCurrentVersion = New System.Windows.Forms.Label
Me.txtChangeLog = New System.Windows.Forms.TextBox
Me.lblStatus = New System.Windows.Forms.Label
Me.lblCurrentVersionLabel = New System.Windows.Forms.Label
Me.lblInstalledVersionLabel = New System.Windows.Forms.Label
Me.lblAvailableVersion = New System.Windows.Forms.Label
Me.lblCurrentVersion = New System.Windows.Forms.Label
Me.pbUpdateImage = New System.Windows.Forms.PictureBox
Me.pnlUp.SuspendLayout()
CType(Me.pbUpdateImage, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
@@ -42,11 +42,11 @@ Namespace UI
'btnCheckForUpdate
'
Me.btnCheckForUpdate.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCheckForUpdate.Location = New System.Drawing.Point(12, 12)
Me.btnCheckForUpdate.Location = New System.Drawing.Point(16, 104)
Me.btnCheckForUpdate.Name = "btnCheckForUpdate"
Me.btnCheckForUpdate.Size = New System.Drawing.Size(136, 23)
Me.btnCheckForUpdate.TabIndex = 10
Me.btnCheckForUpdate.Text = "Check for update"
Me.btnCheckForUpdate.Size = New System.Drawing.Size(104, 32)
Me.btnCheckForUpdate.TabIndex = 5
Me.btnCheckForUpdate.Text = "Check Again"
Me.btnCheckForUpdate.UseVisualStyleBackColor = True
'
'pnlUp
@@ -54,98 +54,45 @@ Namespace UI
Me.pnlUp.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pnlUp.Controls.Add(Me.pbUpdateImage)
Me.pnlUp.Controls.Add(Me.Label7)
Me.pnlUp.Controls.Add(Me.lblChangeLogLabel)
Me.pnlUp.Controls.Add(Me.btnDownload)
Me.pnlUp.Controls.Add(Me.Label4)
Me.pnlUp.Controls.Add(Me.Label5)
Me.pnlUp.Controls.Add(Me.prgbDownload)
Me.pnlUp.Controls.Add(Me.lblAvailableVersion)
Me.pnlUp.Controls.Add(Me.lblCurrentVersion)
Me.pnlUp.Controls.Add(Me.txtChangeLog)
Me.pnlUp.Location = New System.Drawing.Point(12, 41)
Me.pnlUp.Location = New System.Drawing.Point(16, 152)
Me.pnlUp.Name = "pnlUp"
Me.pnlUp.Size = New System.Drawing.Size(668, 370)
Me.pnlUp.TabIndex = 30
Me.pnlUp.Size = New System.Drawing.Size(672, 248)
Me.pnlUp.TabIndex = 6
Me.pnlUp.Visible = False
'
'pbUpdateImage
'lblChangeLogLabel
'
Me.pbUpdateImage.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pbUpdateImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.pbUpdateImage.Cursor = System.Windows.Forms.Cursors.Hand
Me.pbUpdateImage.Location = New System.Drawing.Point(197, 3)
Me.pbUpdateImage.Name = "pbUpdateImage"
Me.pbUpdateImage.Size = New System.Drawing.Size(468, 60)
Me.pbUpdateImage.TabIndex = 31
Me.pbUpdateImage.TabStop = False
Me.pbUpdateImage.Visible = False
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label7.Location = New System.Drawing.Point(3, 69)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(79, 13)
Me.Label7.TabIndex = 50
Me.Label7.Text = "Change Log:"
Me.lblChangeLogLabel.AutoSize = True
Me.lblChangeLogLabel.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblChangeLogLabel.Location = New System.Drawing.Point(0, 0)
Me.lblChangeLogLabel.Name = "lblChangeLogLabel"
Me.lblChangeLogLabel.Size = New System.Drawing.Size(79, 13)
Me.lblChangeLogLabel.TabIndex = 0
Me.lblChangeLogLabel.Text = "Change Log:"
'
'btnDownload
'
Me.btnDownload.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.btnDownload.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnDownload.Location = New System.Drawing.Point(6, 341)
Me.btnDownload.Location = New System.Drawing.Point(0, 216)
Me.btnDownload.Name = "btnDownload"
Me.btnDownload.Size = New System.Drawing.Size(145, 23)
Me.btnDownload.TabIndex = 70
Me.btnDownload.Size = New System.Drawing.Size(144, 32)
Me.btnDownload.TabIndex = 2
Me.btnDownload.Text = "Download and Install"
Me.btnDownload.UseVisualStyleBackColor = True
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label4.Location = New System.Drawing.Point(3, 39)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(109, 13)
Me.Label4.TabIndex = 30
Me.Label4.Text = "Available Version:"
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label5.Location = New System.Drawing.Point(3, 9)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(98, 13)
Me.Label5.TabIndex = 10
Me.Label5.Text = "Current Version:"
'
'prgbDownload
'
Me.prgbDownload.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.prgbDownload.Location = New System.Drawing.Point(157, 341)
Me.prgbDownload.Location = New System.Drawing.Point(160, 224)
Me.prgbDownload.Name = "prgbDownload"
Me.prgbDownload.Size = New System.Drawing.Size(508, 23)
Me.prgbDownload.TabIndex = 80
'
'lblAvailableVersion
'
Me.lblAvailableVersion.Location = New System.Drawing.Point(118, 39)
Me.lblAvailableVersion.Name = "lblAvailableVersion"
Me.lblAvailableVersion.Size = New System.Drawing.Size(67, 13)
Me.lblAvailableVersion.TabIndex = 40
Me.lblAvailableVersion.Text = "Version"
'
'lblCurrentVersion
'
Me.lblCurrentVersion.Location = New System.Drawing.Point(118, 9)
Me.lblCurrentVersion.Name = "lblCurrentVersion"
Me.lblCurrentVersion.Size = New System.Drawing.Size(67, 13)
Me.lblCurrentVersion.TabIndex = 20
Me.lblCurrentVersion.Text = "Version"
Me.prgbDownload.Size = New System.Drawing.Size(496, 23)
Me.prgbDownload.TabIndex = 3
'
'txtChangeLog
'
@@ -154,31 +101,85 @@ Namespace UI
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.txtChangeLog.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.txtChangeLog.Cursor = System.Windows.Forms.Cursors.Arrow
Me.txtChangeLog.Location = New System.Drawing.Point(121, 69)
Me.txtChangeLog.Location = New System.Drawing.Point(16, 24)
Me.txtChangeLog.Multiline = True
Me.txtChangeLog.Name = "txtChangeLog"
Me.txtChangeLog.ReadOnly = True
Me.txtChangeLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtChangeLog.Size = New System.Drawing.Size(544, 266)
Me.txtChangeLog.TabIndex = 60
Me.txtChangeLog.Size = New System.Drawing.Size(653, 181)
Me.txtChangeLog.TabIndex = 1
Me.txtChangeLog.TabStop = False
'
'lblStatus
'
Me.lblStatus.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.lblStatus.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblStatus.ForeColor = System.Drawing.SystemColors.ControlText
Me.lblStatus.Location = New System.Drawing.Point(342, 12)
Me.lblStatus.Location = New System.Drawing.Point(12, 16)
Me.lblStatus.Name = "lblStatus"
Me.lblStatus.Size = New System.Drawing.Size(338, 23)
Me.lblStatus.TabIndex = 20
Me.lblStatus.Size = New System.Drawing.Size(660, 23)
Me.lblStatus.TabIndex = 0
Me.lblStatus.Text = "Status"
Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'lblCurrentVersionLabel
'
Me.lblCurrentVersionLabel.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblCurrentVersionLabel.Location = New System.Drawing.Point(16, 72)
Me.lblCurrentVersionLabel.Name = "lblCurrentVersionLabel"
Me.lblCurrentVersionLabel.Size = New System.Drawing.Size(120, 16)
Me.lblCurrentVersionLabel.TabIndex = 3
Me.lblCurrentVersionLabel.Text = "Current version:"
Me.lblCurrentVersionLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'lblInstalledVersionLabel
'
Me.lblInstalledVersionLabel.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblInstalledVersionLabel.Location = New System.Drawing.Point(16, 48)
Me.lblInstalledVersionLabel.Name = "lblInstalledVersionLabel"
Me.lblInstalledVersionLabel.Size = New System.Drawing.Size(120, 16)
Me.lblInstalledVersionLabel.TabIndex = 1
Me.lblInstalledVersionLabel.Text = "Installed version:"
Me.lblInstalledVersionLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'lblAvailableVersion
'
Me.lblAvailableVersion.Location = New System.Drawing.Point(136, 72)
Me.lblAvailableVersion.Name = "lblAvailableVersion"
Me.lblAvailableVersion.Size = New System.Drawing.Size(64, 16)
Me.lblAvailableVersion.TabIndex = 4
Me.lblAvailableVersion.Text = "Version"
Me.lblAvailableVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'lblCurrentVersion
'
Me.lblCurrentVersion.Location = New System.Drawing.Point(136, 48)
Me.lblCurrentVersion.Name = "lblCurrentVersion"
Me.lblCurrentVersion.Size = New System.Drawing.Size(64, 16)
Me.lblCurrentVersion.TabIndex = 2
Me.lblCurrentVersion.Text = "Version"
Me.lblCurrentVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'pbUpdateImage
'
Me.pbUpdateImage.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.pbUpdateImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.pbUpdateImage.Cursor = System.Windows.Forms.Cursors.Hand
Me.pbUpdateImage.Location = New System.Drawing.Point(200, 48)
Me.pbUpdateImage.Name = "pbUpdateImage"
Me.pbUpdateImage.Size = New System.Drawing.Size(468, 60)
Me.pbUpdateImage.TabIndex = 45
Me.pbUpdateImage.TabStop = False
Me.pbUpdateImage.Visible = False
'
'Update
'
Me.ClientSize = New System.Drawing.Size(692, 423)
Me.ClientSize = New System.Drawing.Size(688, 418)
Me.Controls.Add(Me.pbUpdateImage)
Me.Controls.Add(Me.lblCurrentVersionLabel)
Me.Controls.Add(Me.lblInstalledVersionLabel)
Me.Controls.Add(Me.lblAvailableVersion)
Me.Controls.Add(Me.btnCheckForUpdate)
Me.Controls.Add(Me.lblCurrentVersion)
Me.Controls.Add(Me.pnlUp)
Me.Controls.Add(Me.lblStatus)
Me.Icon = Global.mRemote.My.Resources.Resources.Update_Icon
@@ -210,6 +211,7 @@ Namespace UI
Me.WindowType = Type.Update
Me.DockPnl = Panel
Me.InitializeComponent()
App.Runtime.FontOverride(Me)
End Sub
Public Sub CheckForUpdate()
@@ -247,31 +249,41 @@ Namespace UI
Private Sub UpdateCheckComplete(ByVal UpdateAvailable As Boolean)
Try
My.Settings.CheckForUpdatesLastCheck = Date.Now
If UpdateAvailable = True Then
Me.SetStatus(Color.ForestGreen, Language.Base.UpdateAvailable)
Me.SetVisible(pnlUp, True)
My.Settings.UpdatePending = True
SetStatus(Color.OrangeRed, Language.Base.UpdateAvailable)
SetVisible(pnlUp, True)
Dim uI As App.Update.Info = uD.GetUpdateInfo()
Me.SetCurrentVersionText(My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor)
Me.SetAvailableVersionText(uI.Version.ToString)
Me.SetChangeLogText(uI.ChangeLog)
SetCurrentVersionText(My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor)
SetAvailableVersionText(uI.Version.ToString)
SetChangeLogText(uI.ChangeLog)
If uI.ImageURL <> String.Empty Then
Me.SetImageURL(uI.ImageURL)
SetImageURL(uI.ImageURL)
If uI.ImageURLLink <> String.Empty Then
pbUpdateImage.Tag = uI.ImageURLLink
End If
Me.SetVisible(pbUpdateImage, True)
SetVisible(pbUpdateImage, True)
Else
Me.SetVisible(pbUpdateImage, False)
SetVisible(pbUpdateImage, False)
End If
Me.FocusDownloadButton()
FocusDownloadButton()
Else
Me.SetStatus(Color.OrangeRed, Language.Base.NoUpdateAvailable)
Me.SetVisible(pnlUp, False)
My.Settings.UpdatePending = False
SetStatus(Color.ForestGreen, Language.Base.NoUpdateAvailable)
SetVisible(pnlUp, False)
Dim uI As App.Update.Info = uD.GetUpdateInfo()
SetCurrentVersionText(My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor)
SetAvailableVersionText(uI.Version.ToString)
End If
Catch ex As Exception
mC.AddMessage(Messages.MessageClass.ErrorMsg, "UpdateCheckComplete (UI.Window.Update) failed" & vbNewLine & ex.Message, True)
@@ -362,10 +374,10 @@ Namespace UI
Private Sub ApplyLanguage()
btnCheckForUpdate.Text = Language.Base.CheckForUpdate
Label7.Text = Language.Base.ChangeLog
lblChangeLogLabel.Text = My.Resources.strChangeLogLabel
btnDownload.Text = Language.Base.DownloadAndInstall
Label4.Text = Language.Base.AvailableVersion & ":"
Label5.Text = Language.Base.CurrentVersion & ":"
lblCurrentVersionLabel.Text = Language.Base.AvailableVersion & ":"
lblInstalledVersionLabel.Text = Language.Base.CurrentVersion & ":"
lblAvailableVersion.Text = Language.Base.Version
lblCurrentVersion.Text = Language.Base.Version
lblStatus.Text = Language.Base.Status
@@ -434,7 +446,7 @@ Namespace UI
End Sub
#End Region
Private Sub pbUpdateImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pbUpdateImage.Click
Private Sub pbUpdateImage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If pbUpdateImage.Tag IsNot Nothing Then
Process.Start(pbUpdateImage.Tag)
End If

View File

@@ -6,6 +6,9 @@
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0" />
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="mRemote.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<log4net>
<logger name="mRemoteNG.Log">
@@ -100,7 +103,7 @@
<value>True</value>
</setting>
<setting name="ConfirmExit" serializeAs="String">
<value>False</value>
<value>True</value>
</setting>
<setting name="CheckForUpdatesOnStartup" serializeAs="String">
<value>True</value>
@@ -489,6 +492,28 @@
<setting name="LastAnnouncement" serializeAs="String">
<value />
</setting>
<setting name="CheckForUpdatesAsked" serializeAs="String">
<value>False</value>
</setting>
<setting name="CheckForUpdatesFrequencyDays" serializeAs="String">
<value>7</value>
</setting>
<setting name="CheckForUpdatesLastCheck" serializeAs="String">
<value>1980-01-01</value>
</setting>
<setting name="UpdatePending" serializeAs="String">
<value>False</value>
</setting>
</mRemote.My.MySettings>
</userSettings>
<applicationSettings>
<mRemote.My.MySettings>
<setting name="ConDefaultRDGatewayUsageMethod" serializeAs="String">
<value>Never</value>
</setting>
<setting name="ConDefaultRDGatewayUseConnectionCredentials" serializeAs="String">
<value>Yes</value>
</setting>
</mRemote.My.MySettings>
</applicationSettings>
</configuration>

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<Connections Name="Connections" Export="False" Protected="GiUis20DIbnYzWPcdaQKfjE2H5jh//L5v4RGrJMGNXuIq2CttB/d/BxaBP2LwRhY" ConfVersion="2.1" />
<Connections Name="Connections" Export="False" Protected="GiUis20DIbnYzWPcdaQKfjE2H5jh//L5v4RGrJMGNXuIq2CttB/d/BxaBP2LwRhY" ConfVersion="2.2" />

View File

@@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{4934A491-40BC-4E5B-9166-EA1169A220F6}</ProjectGuid>
<OutputType>WinExe</OutputType>
@@ -68,23 +68,30 @@
<DebugSymbols>false</DebugSymbols>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release Portable|AnyCPU' ">
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Release Portable\</OutputPath>
<Optimize>true</Optimize>
<NoWarn>41999,42016,42017,42018,42019,42032,42036</NoWarn>
<DebugType>None</DebugType>
<PlatformTarget>x86</PlatformTarget>
<DefineConstants>PORTABLE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug Portable|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug Portable\</OutputPath>
<NoWarn>41999,42016,42017,42018,42019,42032,42036</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<DefineConstants>PORTABLE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="ADTree, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\ADTree.dll</HintPath>
</Reference>
<Reference Include="AxInterop.MSTSCLib, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\AxInterop.MSTSCLib.dll</HintPath>
</Reference>
<Reference Include="AxInterop.ViewerX, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\AxInterop.ViewerX.dll</HintPath>
</Reference>
<Reference Include="AxInterop.WFICALib, Version=2.5.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\AxInterop.WFICALib.dll</HintPath>
</Reference>
<Reference Include="DiffieHellman, Version=0.0.0.0, Culture=neutral">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\DiffieHellman.dll</HintPath>
@@ -93,22 +100,6 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>References\FilteredPropertyGrid.dll</HintPath>
</Reference>
<Reference Include="Interop.EOLWTSCOM, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\Interop.EOLWTSCOM.dll</HintPath>
</Reference>
<Reference Include="Interop.MSTSCLib, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\Interop.MSTSCLib.dll</HintPath>
</Reference>
<Reference Include="Interop.ViewerX, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\Interop.ViewerX.dll</HintPath>
</Reference>
<Reference Include="Interop.WFICALib, Version=2.5.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\Interop.WFICALib.dll</HintPath>
</Reference>
<Reference Include="IPTextBox, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\IPTextBox.dll</HintPath>
@@ -120,6 +111,7 @@
<Reference Include="MagicLibrary, Version=1.7.4.0, Culture=neutral, PublicKeyToken=3a6eb82f876a49bc">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\MagicLibrary.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MiniGeckoBrowser, Version=1.0.3142.33318, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@@ -133,6 +125,10 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>References\Org.Mentalis.Security.dll</HintPath>
</Reference>
<Reference Include="PSTaskDialog, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\PSTaskDialog.dll</HintPath>
</Reference>
<Reference Include="Skybound.Gecko, Version=1.8.1.4, Culture=neutral, PublicKeyToken=3209ac31600d1857, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\Skybound.Gecko.dll</HintPath>
@@ -149,6 +145,10 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>References\Tamir.SharpSSH.dll</HintPath>
</Reference>
<Reference Include="VncSharpNG, Version=1.1.0.0, Culture=neutral, PublicKeyToken=61974755c7bfea7c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\VncSharpNG.dll</HintPath>
</Reference>
<Reference Include="WeifenLuo.WinFormsUI.Docking, Version=2.2.2864.18696, Culture=neutral, PublicKeyToken=d481317c817cec47, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>References\WeifenLuo.WinFormsUI.Docking.dll</HintPath>
@@ -361,6 +361,7 @@
</EmbeddedResource>
<EmbeddedResource Include="UI\UI.Window.Announcment.resx">
<DependentUpon>UI.Window.Announcment.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="UI\UI.Window.ComponentsCheck.resx">
<DependentUpon>UI.Window.ComponentsCheck.vb</DependentUpon>
@@ -602,17 +603,16 @@
<Content Include="Help\Update.htm">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Notes\Help.txt" />
<Content Include="Notes\ICA.txt" />
<Content Include="Notes\Misc.txt" />
<Content Include="ChangeLog.txt">
<None Include="Notes\Help.txt" />
<None Include="Notes\ICA.txt" />
<None Include="Notes\Misc.txt" />
<Content Include="CHANGELOG.TXT">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="My Project\DataSources\mRemote.Language.Base.datasource" />
<None Include="My Project\DataSources\mRemote.Language.EN.datasource" />
<None Include="Notes\PropertyList.csv" />
<None Include="Resources\Images\PuttyConfig.png" />
<None Include="Resources\Images\Logo_XMas.png" />
<None Include="Resources\Images\Play_Quick.png" />
<None Include="Resources\Icons\Play_Quick_Icon.ico" />
<None Include="Resources\Icons\SSHTransfer_Icon.ico" />
@@ -626,24 +626,20 @@
<None Include="Resources\Images\Connections_SaveAs.png" />
<None Include="Resources\Images\Connections_Save.png" />
<None Include="Resources\Icons\Connections_SaveAs_Icon.ico" />
<None Include="Resources\Icons\Connections_Load_Icon.ico" />
<None Include="Resources\Icons\Connections_New_Icon.ico" />
<None Include="Resources\Icons\Connections_Save_Icon.ico" />
<None Include="Resources\Images\Sort_ZA.png" />
<None Include="Resources\Images\Sort_AZ.png" />
<None Include="Resources\Icons\Help_Icon.ico" />
<None Include="Resources\Images\Lock.png" />
<None Include="Resources\Images\Refresh.png" />
<None Include="Resources\Images\RDP.png" />
<None Include="Resources\Images\Logo_NewYear.png" />
<None Include="Resources\Images\PropertiesDefault.png" />
<None Include="Resources\Images\ExtApp.png" />
<None Include="Resources\Icons\ExtApp_Icon.ico" />
<None Include="Resources\Images\Duplicate.png" />
<None Include="Resources\Images\PortScan.png" />
<None Include="Resources\Icons\PortScan_Icon.ico" />
<Content Include="Notes\MultiLang.txt" />
<Content Include="Notes\MultiUserCons.txt" />
<None Include="Notes\MultiLang.txt" />
<None Include="Notes\MultiUserCons.txt" />
<None Include="Resources\Images_FamFamFam\Copy.png" />
<None Include="Resources\Images_FamFamFam\Delete.png" />
<None Include="Resources\Icons_FamFamFam\Config_Icon.ico" />
@@ -709,11 +705,9 @@
<None Include="Resources\Images_FamFamFam\Chat.png" />
<None Include="Resources\Icons_FamFamFam\Panels_Icon.ico" />
<None Include="Resources\Images_FamFamFam\JumpTo.png" />
<Content Include="Notes\PropertyList.txt" />
<None Include="Notes\PropertyList.txt" />
<None Include="Resources\Images_FamFamFam\Monitor_GoTo.png" />
<None Include="Resources\Images_FamFamFam\Monitor.png" />
<None Include="Resources\Images_FamFamFam\Monitor_Mini.png" />
<None Include="Resources\Icons\UVNC_SC_Helpdesk.ico" />
<None Include="Resources\Icons\UVNC_SC_Icon.ico" />
<None Include="Resources\Images\UVNC_SC.png" />
<None Include="Resources\Images\Bad_Symbol.png" />
@@ -722,12 +716,95 @@
<None Include="Resources\Icons\ComponentsCheck_Icon.ico" />
<None Include="Resources\Icons_FamFamFam\News_Icon.ico" />
<None Include="Resources\Images_FamFamFam\News.png" />
<Content Include="Resources\Announcement\mRemote_Announcement.txt" />
<Content Include="Resources\Update\mRemote_Update.txt" />
<None Include="Resources\Announcement\mRemote_Announcement.txt" />
<None Include="Resources\Update\mRemote_Update.txt" />
<Content Include="Help\Main.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="Resources\Icons\mRemote_Tray_Icon.ico" />
<Content Include="Icons\Anti Virus.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Backup.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Build Server.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Database.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Domain Controller.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\ESX.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Fax.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\File Server.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Finance.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Firewall.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Linux.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Log.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Mail Server.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\mRemote.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Remote Desktop.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Router.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\SharePoint.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\SSH.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Switch.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Tel.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Telnet.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Terminal Server.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Test Server.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Virtual Machine.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Web Server.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\WiFi.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Windows.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Icons\Workstation.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="Resources\Images\Copy.png" />
<None Include="Resources\Icons\mRemote_Icon.ico" />
<None Include="Resources\Icons\Sessions_Icon.ico" />
@@ -817,6 +894,64 @@
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<COMReference Include="AxMSTSCLib">
<Guid>{8C11EFA1-92C3-11D1-BC1E-00C04FA31489}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>aximp</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
<COMReference Include="AxWFICALib">
<Guid>{238F6F80-B8B4-11CF-8771-00A024541EE3}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>7</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>aximp</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
<COMReference Include="EOLWTSCOM">
<Guid>{96C3FA7A-3211-4D93-BFEA-4589DA4ABDE2}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
<COMReference Include="MSTSCLib">
<Guid>{8C11EFA1-92C3-11D1-BC1E-00C04FA31489}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
<COMReference Include="SHDocVw">
<Guid>{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>1</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
<COMReference Include="stdole">
<Guid>{00020430-0000-0000-C000-000000000046}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
<COMReference Include="WFICALib">
<Guid>{238F6F80-B8B4-11CF-8771-00A024541EE3}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>7</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.