mirror of
https://github.com/kimmknight/remoteapptool.git
synced 2024-12-21 19:23:35 +00:00
RDPOptionsWindow added to allow editing of RDP file settings when using Create Client Connection. Addresses issue #100
This commit is contained in:
parent
eee6ba31e3
commit
502ae16420
@ -16,6 +16,7 @@ Public Class RDPFile
|
||||
Public bandwidthautodetect As Integer = 1
|
||||
Public bitmapcachepersistenable As Integer = 1
|
||||
Public bitmapcachesize As Integer = 1500
|
||||
Public camerastoredirect As String = ""
|
||||
Public compression As Integer = 1
|
||||
Public connect_to_console As Integer = 0
|
||||
Public connection_type As Integer = 2
|
||||
@ -35,6 +36,7 @@ Public Class RDPFile
|
||||
Public drivestoredirect As String = ""
|
||||
Public enablecredsspsupport As Integer = 1
|
||||
Public enablesuperpan As Integer = 0
|
||||
Public encode_redirected_video_capture As Integer = 1
|
||||
Public full_address As String = ""
|
||||
Public gatewaycredentialssource As Integer = 4
|
||||
Public gatewayhostname As String = ""
|
||||
@ -53,9 +55,12 @@ Public Class RDPFile
|
||||
Public redirectcomports As Integer = 0
|
||||
Public redirectdirectx As Integer = 1
|
||||
Public redirectdrives As Integer = 0
|
||||
Public redirected_video_capture_encoding_quality As Integer = 0
|
||||
Public redirectlocation As Integer = 0
|
||||
Public redirectposdevices As Integer = 0
|
||||
Public redirectprinters As Integer = 1
|
||||
Public redirectsmartcards As Integer = 1
|
||||
Public redirectwebauthn As Integer = 1
|
||||
Public remoteapplicationcmdline As String = ""
|
||||
Public remoteapplicationexpandcmdline As Integer = 1
|
||||
Public remoteapplicationexpandworkingdir As Integer = 0
|
||||
@ -66,9 +71,11 @@ Public Class RDPFile
|
||||
Public remoteapplicationname As String = ""
|
||||
Public remoteapplicationprogram As String = ""
|
||||
Public screen_mode_id As Integer = 2
|
||||
Public selectedmonitors As String = ""
|
||||
Public server_port As Integer = 3389
|
||||
Public session_bpp As Integer = 32
|
||||
Public shell_working_directory As String = ""
|
||||
Public signscope As String = ""
|
||||
Public smart_sizing As Integer = 0
|
||||
Public span_monitors As Integer = 0
|
||||
Public superpanaccelerationfactor As Integer = 1
|
||||
@ -77,8 +84,11 @@ Public Class RDPFile
|
||||
Public username As String = ""
|
||||
Public videoplaybackmode As Integer = 1
|
||||
Public winposstr As String = "0,3,0,0,800,600"
|
||||
Public workspaceid As String = ""
|
||||
|
||||
Public Sub SaveRDPfile(FilePath As String, Optional SaveDefaultSettings As Boolean = False)
|
||||
Public AdditionalOptions As String = ""
|
||||
|
||||
Public Sub SaveRDPfile(FilePath As String, Optional IncludeDefaultSettings As Boolean = False)
|
||||
Dim LockCheck As New LockChecker.LockChecker()
|
||||
Dim FileLocked As String
|
||||
Dim SkipFile As Boolean = False
|
||||
@ -94,90 +104,102 @@ Public Class RDPFile
|
||||
End While
|
||||
If Not (SkipFile) Then
|
||||
|
||||
My.Computer.FileSystem.WriteAllText(FilePath, GetRDPstring(SaveDefaultSettings), False)
|
||||
My.Computer.FileSystem.WriteAllText(FilePath, GetRDPstring(IncludeDefaultSettings), False)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Function GetRDPstring(Optional SaveDefaultSettings As Boolean = False)
|
||||
Public Function GetRDPstring(Optional IncludeDefaultSettings As Boolean = False)
|
||||
Dim RDPstring As String = ""
|
||||
|
||||
Dim DefaultRDP As New RDPFile
|
||||
|
||||
If SaveDefaultSettings Or Not DefaultRDP.administrative_session = administrative_session Then RDPstring += "administrative session" & ":" & administrative_session.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & administrative_session.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.allow_desktop_composition = allow_desktop_composition Then RDPstring += "allow desktop composition" & ":" & allow_desktop_composition.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & allow_desktop_composition.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.allow_font_smoothing = allow_font_smoothing Then RDPstring += "allow font smoothing" & ":" & allow_font_smoothing.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & allow_font_smoothing.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.alternate_full_address = alternate_full_address Then RDPstring += "alternate full address" & ":" & alternate_full_address.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & alternate_full_address.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.alternate_shell = alternate_shell Then RDPstring += "alternate shell" & ":" & alternate_shell.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & alternate_shell.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.audiocapturemode = audiocapturemode Then RDPstring += "audiocapturemode" & ":" & audiocapturemode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & audiocapturemode.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.audiomode = audiomode Then RDPstring += "audiomode" & ":" & audiomode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & audiomode.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.audioqualitymode = audioqualitymode Then RDPstring += "audioqualitymode" & ":" & audioqualitymode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & audioqualitymode.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.authentication_level = authentication_level Then RDPstring += "authentication level" & ":" & authentication_level.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & authentication_level.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.autoreconnect_max_retries = autoreconnect_max_retries Then RDPstring += "autoreconnect max retries" & ":" & autoreconnect_max_retries.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & autoreconnect_max_retries.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.autoreconnection_enabled = autoreconnection_enabled Then RDPstring += "autoreconnection enabled" & ":" & autoreconnection_enabled.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & autoreconnection_enabled.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.bandwidthautodetect = bandwidthautodetect Then RDPstring += "bandwidthautodetect" & ":" & bandwidthautodetect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & bandwidthautodetect.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.bitmapcachepersistenable = bitmapcachepersistenable Then RDPstring += "bitmapcachepersistenable" & ":" & bitmapcachepersistenable.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & bitmapcachepersistenable.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.bitmapcachesize = bitmapcachesize Then RDPstring += "bitmapcachesize" & ":" & bitmapcachesize.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & bitmapcachesize.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.compression = compression Then RDPstring += "compression" & ":" & compression.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & compression.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.connect_to_console = connect_to_console Then RDPstring += "connect to console" & ":" & connect_to_console.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & connect_to_console.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.connection_type = connection_type Then RDPstring += "connection type" & ":" & connection_type.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & connection_type.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.desktop_size_id = desktop_size_id Then RDPstring += "desktop size id" & ":" & desktop_size_id.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & desktop_size_id.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.desktopheight = desktopheight Then RDPstring += "desktopheight" & ":" & desktopheight.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & desktopheight.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.desktopwidth = desktopwidth Then RDPstring += "desktopwidth" & ":" & desktopwidth.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & desktopwidth.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.devicestoredirect = devicestoredirect Then RDPstring += "devicestoredirect" & ":" & devicestoredirect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & devicestoredirect.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.disable_ctrl_alt_del = disable_ctrl_alt_del Then RDPstring += "disable ctrl+alt+del" & ":" & disable_ctrl_alt_del.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_ctrl_alt_del.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.disable_full_window_drag = disable_full_window_drag Then RDPstring += "disable full window drag" & ":" & disable_full_window_drag.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_full_window_drag.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.disable_menu_anims = disable_menu_anims Then RDPstring += "disable menu anims" & ":" & disable_menu_anims.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_menu_anims.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.disable_themes = disable_themes Then RDPstring += "disable themes" & ":" & disable_themes.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_themes.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.disable_wallpaper = disable_wallpaper Then RDPstring += "disable wallpaper" & ":" & disable_wallpaper.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_wallpaper.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.disableconnectionsharing = disableconnectionsharing Then RDPstring += "disableconnectionsharing" & ":" & disableconnectionsharing.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disableconnectionsharing.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.disableremoteappcapscheck = disableremoteappcapscheck Then RDPstring += "disableremoteappcapscheck" & ":" & disableremoteappcapscheck.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disableremoteappcapscheck.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.displayconnectionbar = displayconnectionbar Then RDPstring += "displayconnectionbar" & ":" & displayconnectionbar.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & displayconnectionbar.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.domain = domain Then RDPstring += "domain" & ":" & domain.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & domain.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.drivestoredirect = drivestoredirect Then RDPstring += "drivestoredirect" & ":" & drivestoredirect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & drivestoredirect.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.enablecredsspsupport = enablecredsspsupport Then RDPstring += "enablecredsspsupport" & ":" & enablecredsspsupport.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & enablecredsspsupport.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.enablesuperpan = enablesuperpan Then RDPstring += "enablesuperpan" & ":" & enablesuperpan.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & enablesuperpan.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.full_address = full_address Then RDPstring += "full address" & ":" & full_address.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & full_address.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.gatewaycredentialssource = gatewaycredentialssource Then RDPstring += "gatewaycredentialssource" & ":" & gatewaycredentialssource.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & gatewaycredentialssource.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.gatewayhostname = gatewayhostname Then RDPstring += "gatewayhostname" & ":" & gatewayhostname.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & gatewayhostname.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.gatewayprofileusagemethod = gatewayprofileusagemethod Then RDPstring += "gatewayprofileusagemethod" & ":" & gatewayprofileusagemethod.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & gatewayprofileusagemethod.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.gatewayusagemethod = gatewayusagemethod Then RDPstring += "gatewayusagemethod" & ":" & gatewayusagemethod.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & gatewayusagemethod.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.keyboardhook = keyboardhook Then RDPstring += "keyboardhook" & ":" & keyboardhook.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & keyboardhook.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.negotiate_security_layer = negotiate_security_layer Then RDPstring += "negotiate security layer" & ":" & negotiate_security_layer.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & negotiate_security_layer.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.networkautodetect = networkautodetect Then RDPstring += "networkautodetect" & ":" & networkautodetect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & networkautodetect.ToString & vbCrLf
|
||||
'If SaveDefaultSettings Or Not DefaultRDP.password_51 = password_51 Then RDPstring += "password 51" & ":" & password_51.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & password_51.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.pinconnectionbar = pinconnectionbar Then RDPstring += "pinconnectionbar" & ":" & pinconnectionbar.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & pinconnectionbar.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.prompt_for_credentials = prompt_for_credentials Then RDPstring += "prompt for credentials" & ":" & prompt_for_credentials.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & prompt_for_credentials.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.prompt_for_credentials_on_client = prompt_for_credentials_on_client Then RDPstring += "prompt for credentials on client" & ":" & prompt_for_credentials_on_client.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & prompt_for_credentials_on_client.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.promptcredentialonce = promptcredentialonce Then RDPstring += "promptcredentialonce" & ":" & promptcredentialonce.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & promptcredentialonce.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.public_mode = public_mode Then RDPstring += "public mode" & ":" & public_mode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & public_mode.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.redirectclipboard = redirectclipboard Then RDPstring += "redirectclipboard" & ":" & redirectclipboard.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectclipboard.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.redirectcomports = redirectcomports Then RDPstring += "redirectcomports" & ":" & redirectcomports.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectcomports.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.redirectdirectx = redirectdirectx Then RDPstring += "redirectdirectx" & ":" & redirectdirectx.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectdirectx.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.redirectdrives = redirectdrives Then RDPstring += "redirectdrives" & ":" & redirectdrives.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectdrives.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.redirectposdevices = redirectposdevices Then RDPstring += "redirectposdevices" & ":" & redirectposdevices.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectposdevices.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.redirectprinters = redirectprinters Then RDPstring += "redirectprinters" & ":" & redirectprinters.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectprinters.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.redirectsmartcards = redirectsmartcards Then RDPstring += "redirectsmartcards" & ":" & redirectsmartcards.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectsmartcards.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationcmdline = remoteapplicationcmdline Then RDPstring += "remoteapplicationcmdline" & ":" & remoteapplicationcmdline.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationcmdline.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationexpandcmdline = remoteapplicationexpandcmdline Then RDPstring += "remoteapplicationexpandcmdline" & ":" & remoteapplicationexpandcmdline.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationexpandcmdline.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationexpandworkingdir = remoteapplicationexpandworkingdir Then RDPstring += "remoteapplicationexpandworkingdir" & ":" & remoteapplicationexpandworkingdir.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationexpandworkingdir.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationfile = remoteapplicationfile Then RDPstring += "remoteapplicationfile" & ":" & remoteapplicationfile.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationfile.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationfileextensions = remoteapplicationfileextensions Then RDPstring += "remoteapplicationfileextensions" & ":" & remoteapplicationfileextensions.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationfileextensions.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationicon = remoteapplicationicon Then RDPstring += "remoteapplicationicon" & ":" & remoteapplicationicon.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationicon.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationmode = remoteapplicationmode Then RDPstring += "remoteapplicationmode" & ":" & remoteapplicationmode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationmode.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationname = remoteapplicationname Then RDPstring += "remoteapplicationname" & ":" & remoteapplicationname.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationname.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.remoteapplicationprogram = remoteapplicationprogram Then RDPstring += "remoteapplicationprogram" & ":" & remoteapplicationprogram.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationprogram.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.screen_mode_id = screen_mode_id Then RDPstring += "screen mode id" & ":" & screen_mode_id.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & screen_mode_id.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.server_port = server_port Then RDPstring += "server port" & ":" & server_port.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & server_port.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.session_bpp = session_bpp Then RDPstring += "session bpp" & ":" & session_bpp.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & session_bpp.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.shell_working_directory = shell_working_directory Then RDPstring += "shell working directory" & ":" & shell_working_directory.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & shell_working_directory.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.smart_sizing = smart_sizing Then RDPstring += "smart sizing" & ":" & smart_sizing.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & smart_sizing.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.span_monitors = span_monitors Then RDPstring += "span monitors" & ":" & span_monitors.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & span_monitors.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.superpanaccelerationfactor = superpanaccelerationfactor Then RDPstring += "superpanaccelerationfactor" & ":" & superpanaccelerationfactor.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & superpanaccelerationfactor.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.usbdevicestoredirect = usbdevicestoredirect Then RDPstring += "usbdevicestoredirect" & ":" & usbdevicestoredirect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & usbdevicestoredirect.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.use_multimon = use_multimon Then RDPstring += "use multimon" & ":" & use_multimon.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & use_multimon.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.username = username Then RDPstring += "username" & ":" & username.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & username.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.videoplaybackmode = videoplaybackmode Then RDPstring += "videoplaybackmode" & ":" & videoplaybackmode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & videoplaybackmode.ToString & vbCrLf
|
||||
If SaveDefaultSettings Or Not DefaultRDP.winposstr = winposstr Then RDPstring += "winposstr" & ":" & winposstr.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & winposstr.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.administrative_session = administrative_session Then RDPstring += "administrative session" & ":" & administrative_session.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & administrative_session.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.allow_desktop_composition = allow_desktop_composition Then RDPstring += "allow desktop composition" & ":" & allow_desktop_composition.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & allow_desktop_composition.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.allow_font_smoothing = allow_font_smoothing Then RDPstring += "allow font smoothing" & ":" & allow_font_smoothing.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & allow_font_smoothing.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.alternate_full_address = alternate_full_address Then RDPstring += "alternate full address" & ":" & alternate_full_address.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & alternate_full_address.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.alternate_shell = alternate_shell Then RDPstring += "alternate shell" & ":" & alternate_shell.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & alternate_shell.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.audiocapturemode = audiocapturemode Then RDPstring += "audiocapturemode" & ":" & audiocapturemode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & audiocapturemode.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.audiomode = audiomode Then RDPstring += "audiomode" & ":" & audiomode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & audiomode.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.audioqualitymode = audioqualitymode Then RDPstring += "audioqualitymode" & ":" & audioqualitymode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & audioqualitymode.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.authentication_level = authentication_level Then RDPstring += "authentication level" & ":" & authentication_level.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & authentication_level.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.autoreconnect_max_retries = autoreconnect_max_retries Then RDPstring += "autoreconnect max retries" & ":" & autoreconnect_max_retries.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & autoreconnect_max_retries.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.autoreconnection_enabled = autoreconnection_enabled Then RDPstring += "autoreconnection enabled" & ":" & autoreconnection_enabled.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & autoreconnection_enabled.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.bandwidthautodetect = bandwidthautodetect Then RDPstring += "bandwidthautodetect" & ":" & bandwidthautodetect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & bandwidthautodetect.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.bitmapcachepersistenable = bitmapcachepersistenable Then RDPstring += "bitmapcachepersistenable" & ":" & bitmapcachepersistenable.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & bitmapcachepersistenable.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.bitmapcachesize = bitmapcachesize Then RDPstring += "bitmapcachesize" & ":" & bitmapcachesize.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & bitmapcachesize.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.camerastoredirect = camerastoredirect Then RDPstring += "camerastoredirect" & ":" & camerastoredirect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & camerastoredirect.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.compression = compression Then RDPstring += "compression" & ":" & compression.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & compression.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.connect_to_console = connect_to_console Then RDPstring += "connect to console" & ":" & connect_to_console.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & connect_to_console.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.connection_type = connection_type Then RDPstring += "connection type" & ":" & connection_type.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & connection_type.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.desktop_size_id = desktop_size_id Then RDPstring += "desktop size id" & ":" & desktop_size_id.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & desktop_size_id.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.desktopheight = desktopheight Then RDPstring += "desktopheight" & ":" & desktopheight.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & desktopheight.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.desktopwidth = desktopwidth Then RDPstring += "desktopwidth" & ":" & desktopwidth.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & desktopwidth.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.devicestoredirect = devicestoredirect Then RDPstring += "devicestoredirect" & ":" & devicestoredirect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & devicestoredirect.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.disable_ctrl_alt_del = disable_ctrl_alt_del Then RDPstring += "disable ctrl+alt+del" & ":" & disable_ctrl_alt_del.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_ctrl_alt_del.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.disable_full_window_drag = disable_full_window_drag Then RDPstring += "disable full window drag" & ":" & disable_full_window_drag.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_full_window_drag.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.disable_menu_anims = disable_menu_anims Then RDPstring += "disable menu anims" & ":" & disable_menu_anims.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_menu_anims.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.disable_themes = disable_themes Then RDPstring += "disable themes" & ":" & disable_themes.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_themes.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.disable_wallpaper = disable_wallpaper Then RDPstring += "disable wallpaper" & ":" & disable_wallpaper.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disable_wallpaper.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.disableconnectionsharing = disableconnectionsharing Then RDPstring += "disableconnectionsharing" & ":" & disableconnectionsharing.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disableconnectionsharing.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.disableremoteappcapscheck = disableremoteappcapscheck Then RDPstring += "disableremoteappcapscheck" & ":" & disableremoteappcapscheck.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & disableremoteappcapscheck.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.displayconnectionbar = displayconnectionbar Then RDPstring += "displayconnectionbar" & ":" & displayconnectionbar.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & displayconnectionbar.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.domain = domain Then RDPstring += "domain" & ":" & domain.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & domain.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.drivestoredirect = drivestoredirect Then RDPstring += "drivestoredirect" & ":" & drivestoredirect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & drivestoredirect.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.enablecredsspsupport = enablecredsspsupport Then RDPstring += "enablecredsspsupport" & ":" & enablecredsspsupport.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & enablecredsspsupport.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.enablesuperpan = enablesuperpan Then RDPstring += "enablesuperpan" & ":" & enablesuperpan.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & enablesuperpan.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.encode_redirected_video_capture = encode_redirected_video_capture Then RDPstring += "encode redirected video capture" & ":" & encode_redirected_video_capture.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & encode_redirected_video_capture.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.full_address = full_address Then RDPstring += "full address" & ":" & full_address.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & full_address.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.gatewaycredentialssource = gatewaycredentialssource Then RDPstring += "gatewaycredentialssource" & ":" & gatewaycredentialssource.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & gatewaycredentialssource.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.gatewayhostname = gatewayhostname Then RDPstring += "gatewayhostname" & ":" & gatewayhostname.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & gatewayhostname.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.gatewayprofileusagemethod = gatewayprofileusagemethod Then RDPstring += "gatewayprofileusagemethod" & ":" & gatewayprofileusagemethod.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & gatewayprofileusagemethod.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.gatewayusagemethod = gatewayusagemethod Then RDPstring += "gatewayusagemethod" & ":" & gatewayusagemethod.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & gatewayusagemethod.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.keyboardhook = keyboardhook Then RDPstring += "keyboardhook" & ":" & keyboardhook.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & keyboardhook.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.negotiate_security_layer = negotiate_security_layer Then RDPstring += "negotiate security layer" & ":" & negotiate_security_layer.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & negotiate_security_layer.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.networkautodetect = networkautodetect Then RDPstring += "networkautodetect" & ":" & networkautodetect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & networkautodetect.ToString & vbCrLf
|
||||
'If IncludeDefaultSettings Or Not DefaultRDP.password_51 = password_51 Then RDPstring += "password 51" & ":" & password_51.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & password_51.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.pinconnectionbar = pinconnectionbar Then RDPstring += "pinconnectionbar" & ":" & pinconnectionbar.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & pinconnectionbar.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.prompt_for_credentials = prompt_for_credentials Then RDPstring += "prompt for credentials" & ":" & prompt_for_credentials.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & prompt_for_credentials.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.prompt_for_credentials_on_client = prompt_for_credentials_on_client Then RDPstring += "prompt for credentials on client" & ":" & prompt_for_credentials_on_client.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & prompt_for_credentials_on_client.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.promptcredentialonce = promptcredentialonce Then RDPstring += "promptcredentialonce" & ":" & promptcredentialonce.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & promptcredentialonce.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.public_mode = public_mode Then RDPstring += "public mode" & ":" & public_mode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & public_mode.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectclipboard = redirectclipboard Then RDPstring += "redirectclipboard" & ":" & redirectclipboard.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectclipboard.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectcomports = redirectcomports Then RDPstring += "redirectcomports" & ":" & redirectcomports.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectcomports.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectdirectx = redirectdirectx Then RDPstring += "redirectdirectx" & ":" & redirectdirectx.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectdirectx.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectdrives = redirectdrives Then RDPstring += "redirectdrives" & ":" & redirectdrives.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectdrives.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirected_video_capture_encoding_quality = redirected_video_capture_encoding_quality Then RDPstring += "redirected_video_capture_encoding_quality" & ":" & redirected_video_capture_encoding_quality.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirected_video_capture_encoding_quality.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectlocation = redirectlocation Then RDPstring += "redirectlocation" & ":" & redirectlocation.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectlocation.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectposdevices = redirectposdevices Then RDPstring += "redirectposdevices" & ":" & redirectposdevices.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectposdevices.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectprinters = redirectprinters Then RDPstring += "redirectprinters" & ":" & redirectprinters.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectprinters.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectsmartcards = redirectsmartcards Then RDPstring += "redirectsmartcards" & ":" & redirectsmartcards.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectsmartcards.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.redirectwebauthn = redirectwebauthn Then RDPstring += "redirectwebauthn" & ":" & redirectwebauthn.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & redirectwebauthn.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationcmdline = remoteapplicationcmdline Then RDPstring += "remoteapplicationcmdline" & ":" & remoteapplicationcmdline.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationcmdline.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationexpandcmdline = remoteapplicationexpandcmdline Then RDPstring += "remoteapplicationexpandcmdline" & ":" & remoteapplicationexpandcmdline.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationexpandcmdline.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationexpandworkingdir = remoteapplicationexpandworkingdir Then RDPstring += "remoteapplicationexpandworkingdir" & ":" & remoteapplicationexpandworkingdir.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationexpandworkingdir.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationfile = remoteapplicationfile Then RDPstring += "remoteapplicationfile" & ":" & remoteapplicationfile.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationfile.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationfileextensions = remoteapplicationfileextensions Then RDPstring += "remoteapplicationfileextensions" & ":" & remoteapplicationfileextensions.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationfileextensions.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationicon = remoteapplicationicon Then RDPstring += "remoteapplicationicon" & ":" & remoteapplicationicon.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationicon.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationmode = remoteapplicationmode Then RDPstring += "remoteapplicationmode" & ":" & remoteapplicationmode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationmode.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationname = remoteapplicationname Then RDPstring += "remoteapplicationname" & ":" & remoteapplicationname.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationname.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.remoteapplicationprogram = remoteapplicationprogram Then RDPstring += "remoteapplicationprogram" & ":" & remoteapplicationprogram.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & remoteapplicationprogram.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.screen_mode_id = screen_mode_id Then RDPstring += "screen mode id" & ":" & screen_mode_id.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & screen_mode_id.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.selectedmonitors = selectedmonitors Then RDPstring += "selectedmonitors" & ":" & selectedmonitors.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & selectedmonitors.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.server_port = server_port Then RDPstring += "server port" & ":" & server_port.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & server_port.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.session_bpp = session_bpp Then RDPstring += "session bpp" & ":" & session_bpp.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & session_bpp.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.shell_working_directory = shell_working_directory Then RDPstring += "shell working directory" & ":" & shell_working_directory.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & shell_working_directory.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.signscope = signscope Then RDPstring += "signscope" & ":" & signscope.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & signscope.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.smart_sizing = smart_sizing Then RDPstring += "smart sizing" & ":" & smart_sizing.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & smart_sizing.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.span_monitors = span_monitors Then RDPstring += "span monitors" & ":" & span_monitors.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & span_monitors.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.superpanaccelerationfactor = superpanaccelerationfactor Then RDPstring += "superpanaccelerationfactor" & ":" & superpanaccelerationfactor.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & superpanaccelerationfactor.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.usbdevicestoredirect = usbdevicestoredirect Then RDPstring += "usbdevicestoredirect" & ":" & usbdevicestoredirect.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & usbdevicestoredirect.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.use_multimon = use_multimon Then RDPstring += "use multimon" & ":" & use_multimon.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & use_multimon.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.username = username Then RDPstring += "username" & ":" & username.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & username.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.videoplaybackmode = videoplaybackmode Then RDPstring += "videoplaybackmode" & ":" & videoplaybackmode.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & videoplaybackmode.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.winposstr = winposstr Then RDPstring += "winposstr" & ":" & winposstr.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & winposstr.ToString & vbCrLf
|
||||
If IncludeDefaultSettings Or Not DefaultRDP.workspaceid = workspaceid Then RDPstring += "workspaceid" & ":" & workspaceid.GetType().ToString.Replace("System.", "").ToLower.Substring(0, 1) & ":" & workspaceid.ToString & vbCrLf
|
||||
|
||||
If AdditionalOptions <> "" Then
|
||||
RDPstring += AdditionalOptions
|
||||
End If
|
||||
|
||||
Return RDPstring
|
||||
End Function
|
||||
@ -204,6 +226,7 @@ Public Class RDPFile
|
||||
If SplitLine(0) = "bandwidthautodetect" Then bandwidthautodetect = SplitLine(2)
|
||||
If SplitLine(0) = "bitmapcachepersistenable" Then bitmapcachepersistenable = SplitLine(2)
|
||||
If SplitLine(0) = "bitmapcachesize" Then bitmapcachesize = SplitLine(2)
|
||||
If SplitLine(0) = "camerastoredirect" Then camerastoredirect = SplitLine(2)
|
||||
If SplitLine(0) = "compression" Then compression = SplitLine(2)
|
||||
If SplitLine(0) = "connect to console" Then connect_to_console = SplitLine(2)
|
||||
If SplitLine(0) = "connection type" Then connection_type = SplitLine(2)
|
||||
@ -223,6 +246,7 @@ Public Class RDPFile
|
||||
If SplitLine(0) = "drivestoredirect" Then drivestoredirect = SplitLine(2)
|
||||
If SplitLine(0) = "enablecredsspsupport" Then enablecredsspsupport = SplitLine(2)
|
||||
If SplitLine(0) = "enablesuperpan" Then enablesuperpan = SplitLine(2)
|
||||
If SplitLine(0) = "encode redirected video capture" Then encode_redirected_video_capture = SplitLine(2)
|
||||
If SplitLine(0) = "full address" Then full_address = SplitLine(2)
|
||||
If SplitLine(0) = "gatewaycredentialssource" Then gatewaycredentialssource = SplitLine(2)
|
||||
If SplitLine(0) = "gatewayhostname" Then gatewayhostname = SplitLine(2)
|
||||
@ -241,9 +265,12 @@ Public Class RDPFile
|
||||
If SplitLine(0) = "redirectcomports" Then redirectcomports = SplitLine(2)
|
||||
If SplitLine(0) = "redirectdirectx" Then redirectdirectx = SplitLine(2)
|
||||
If SplitLine(0) = "redirectdrives" Then redirectdrives = SplitLine(2)
|
||||
If SplitLine(0) = "redirected video capture encoding quality" Then redirected_video_capture_encoding_quality = SplitLine(2)
|
||||
If SplitLine(0) = "redirectlocation" Then redirectlocation = SplitLine(2)
|
||||
If SplitLine(0) = "redirectposdevices" Then redirectposdevices = SplitLine(2)
|
||||
If SplitLine(0) = "redirectprinters" Then redirectprinters = SplitLine(2)
|
||||
If SplitLine(0) = "redirectsmartcards" Then redirectsmartcards = SplitLine(2)
|
||||
If SplitLine(0) = "redirectwebauthn" Then redirectwebauthn = SplitLine(2)
|
||||
If SplitLine(0) = "remoteapplicationcmdline" Then remoteapplicationcmdline = SplitLine(2)
|
||||
If SplitLine(0) = "remoteapplicationexpandcmdline" Then remoteapplicationexpandcmdline = SplitLine(2)
|
||||
If SplitLine(0) = "remoteapplicationexpandworkingdir" Then remoteapplicationexpandworkingdir = SplitLine(2)
|
||||
@ -254,9 +281,11 @@ Public Class RDPFile
|
||||
If SplitLine(0) = "remoteapplicationname" Then remoteapplicationname = SplitLine(2)
|
||||
If SplitLine(0) = "remoteapplicationprogram" Then remoteapplicationprogram = SplitLine(2)
|
||||
If SplitLine(0) = "screen mode id" Then screen_mode_id = SplitLine(2)
|
||||
If SplitLine(0) = "selectedmonitors" Then selectedmonitors = SplitLine(2)
|
||||
If SplitLine(0) = "server port" Then server_port = SplitLine(2)
|
||||
If SplitLine(0) = "session bpp" Then session_bpp = SplitLine(2)
|
||||
If SplitLine(0) = "shell working directory" Then shell_working_directory = SplitLine(2)
|
||||
If SplitLine(0) = "signscope" Then signscope = SplitLine(2)
|
||||
If SplitLine(0) = "smart sizing" Then smart_sizing = SplitLine(2)
|
||||
If SplitLine(0) = "span monitors" Then span_monitors = SplitLine(2)
|
||||
If SplitLine(0) = "superpanaccelerationfactor" Then superpanaccelerationfactor = SplitLine(2)
|
||||
@ -265,6 +294,7 @@ Public Class RDPFile
|
||||
If SplitLine(0) = "username" Then username = SplitLine(2)
|
||||
If SplitLine(0) = "videoplaybackmode" Then videoplaybackmode = SplitLine(2)
|
||||
If SplitLine(0) = "winposstr" Then winposstr = SplitLine(2)
|
||||
If SplitLine(0) = "workspaceid" Then workspaceid = SplitLine(2)
|
||||
|
||||
End If
|
||||
|
||||
|
@ -76,6 +76,15 @@
|
||||
<setting name="SavedCertSelected" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="SavedRDPOptions" serializeAs="String">
|
||||
<value>disableremoteappcapscheck|disableremoteappcapscheck|i|1
|
||||
drivestoredirect|drivestoredirect|s|*
|
||||
prompt_for_credentials|prompt for credentials|i|1
|
||||
promptcredentialonce|promptcredentialonce|i|0
|
||||
redirectcomports|redirectcomports|i|1
|
||||
span_monitors|span monitors|i|1
|
||||
use_multimon|use multimon|i|1</value>
|
||||
</setting>
|
||||
</RemoteApp_Tool.My.MySettings>
|
||||
</userSettings>
|
||||
</configuration>
|
||||
|
17
remoteapp-tool/My Project/Settings.Designer.vb
generated
17
remoteapp-tool/My Project/Settings.Designer.vb
generated
@ -15,7 +15,7 @@ Option Explicit On
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0"), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
@ -317,6 +317,21 @@ Namespace My
|
||||
Me("SavedCertSelected") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("disableremoteappcapscheck|disableremoteappcapscheck|i|1"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"drivestoredirect|drivest"& _
|
||||
"oredirect|s|*"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"prompt_for_credentials|prompt for credentials|i|1"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"promptcredenti"& _
|
||||
"alonce|promptcredentialonce|i|0"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"redirectcomports|redirectcomports|i|1"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"span_mon"& _
|
||||
"itors|span monitors|i|1"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"use_multimon|use multimon|i|1")> _
|
||||
Public Property SavedRDPOptions() As String
|
||||
Get
|
||||
Return CType(Me("SavedRDPOptions"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("SavedRDPOptions") = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
|
@ -68,5 +68,14 @@
|
||||
<Setting Name="SavedCertSelected" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="SavedRDPOptions" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">disableremoteappcapscheck|disableremoteappcapscheck|i|1
|
||||
drivestoredirect|drivestoredirect|s|*
|
||||
prompt_for_credentials|prompt for credentials|i|1
|
||||
promptcredentialonce|promptcredentialonce|i|0
|
||||
redirectcomports|redirectcomports|i|1
|
||||
span_monitors|span monitors|i|1
|
||||
use_multimon|use multimon|i|1</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
243
remoteapp-tool/RDPOptionsWindow.Designer.vb
generated
Normal file
243
remoteapp-tool/RDPOptionsWindow.Designer.vb
generated
Normal file
@ -0,0 +1,243 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class RDPOptionsWindow
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(RDPOptionsWindow))
|
||||
Me.OptionsListBox = New System.Windows.Forms.ListBox()
|
||||
Me.DescriptionTextBox = New System.Windows.Forms.TextBox()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.ValueTextBox = New System.Windows.Forms.TextBox()
|
||||
Me.ChangedOptionsListView = New System.Windows.Forms.ListView()
|
||||
Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.SaveButton = New System.Windows.Forms.Button()
|
||||
Me.SmallerIcons = New System.Windows.Forms.ImageList(Me.components)
|
||||
Me.ResetButton = New System.Windows.Forms.Button()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.DefaultsButton = New System.Windows.Forms.Button()
|
||||
Me.ResetValueButton = New System.Windows.Forms.Button()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'OptionsListBox
|
||||
'
|
||||
Me.OptionsListBox.FormattingEnabled = True
|
||||
Me.OptionsListBox.ItemHeight = 15
|
||||
Me.OptionsListBox.Location = New System.Drawing.Point(11, 12)
|
||||
Me.OptionsListBox.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.OptionsListBox.Name = "OptionsListBox"
|
||||
Me.OptionsListBox.Size = New System.Drawing.Size(213, 169)
|
||||
Me.OptionsListBox.TabIndex = 0
|
||||
'
|
||||
'DescriptionTextBox
|
||||
'
|
||||
Me.DescriptionTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.DescriptionTextBox.Location = New System.Drawing.Point(228, 12)
|
||||
Me.DescriptionTextBox.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.DescriptionTextBox.Multiline = True
|
||||
Me.DescriptionTextBox.Name = "DescriptionTextBox"
|
||||
Me.DescriptionTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
|
||||
Me.DescriptionTextBox.Size = New System.Drawing.Size(347, 169)
|
||||
Me.DescriptionTextBox.TabIndex = 1
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(11, 188)
|
||||
Me.Label1.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(57, 15)
|
||||
Me.Label1.TabIndex = 2
|
||||
Me.Label1.Text = "Set value:"
|
||||
'
|
||||
'ValueTextBox
|
||||
'
|
||||
Me.ValueTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ValueTextBox.Location = New System.Drawing.Point(72, 185)
|
||||
Me.ValueTextBox.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.ValueTextBox.Name = "ValueTextBox"
|
||||
Me.ValueTextBox.Size = New System.Drawing.Size(476, 23)
|
||||
Me.ValueTextBox.TabIndex = 3
|
||||
'
|
||||
'ChangedOptionsListView
|
||||
'
|
||||
Me.ChangedOptionsListView.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.ChangedOptionsListView.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3})
|
||||
Me.ChangedOptionsListView.FullRowSelect = True
|
||||
Me.ChangedOptionsListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable
|
||||
Me.ChangedOptionsListView.Location = New System.Drawing.Point(11, 238)
|
||||
Me.ChangedOptionsListView.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.ChangedOptionsListView.MultiSelect = False
|
||||
Me.ChangedOptionsListView.Name = "ChangedOptionsListView"
|
||||
Me.ChangedOptionsListView.Size = New System.Drawing.Size(564, 117)
|
||||
Me.ChangedOptionsListView.Sorting = System.Windows.Forms.SortOrder.Ascending
|
||||
Me.ChangedOptionsListView.TabIndex = 4
|
||||
Me.ChangedOptionsListView.UseCompatibleStateImageBehavior = False
|
||||
Me.ChangedOptionsListView.View = System.Windows.Forms.View.Details
|
||||
'
|
||||
'ColumnHeader1
|
||||
'
|
||||
Me.ColumnHeader1.Text = "Option"
|
||||
Me.ColumnHeader1.Width = 200
|
||||
'
|
||||
'ColumnHeader2
|
||||
'
|
||||
Me.ColumnHeader2.Text = "Type"
|
||||
'
|
||||
'ColumnHeader3
|
||||
'
|
||||
Me.ColumnHeader3.Text = "Value"
|
||||
Me.ColumnHeader3.Width = 282
|
||||
'
|
||||
'SaveButton
|
||||
'
|
||||
Me.SaveButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.SaveButton.BackColor = System.Drawing.Color.WhiteSmoke
|
||||
Me.SaveButton.ImageList = Me.SmallerIcons
|
||||
Me.SaveButton.Location = New System.Drawing.Point(511, 366)
|
||||
Me.SaveButton.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.SaveButton.Name = "SaveButton"
|
||||
Me.SaveButton.Size = New System.Drawing.Size(64, 29)
|
||||
Me.SaveButton.TabIndex = 5
|
||||
Me.SaveButton.Text = "Close"
|
||||
Me.SaveButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
||||
Me.SaveButton.UseVisualStyleBackColor = False
|
||||
'
|
||||
'SmallerIcons
|
||||
'
|
||||
Me.SmallerIcons.ImageStream = CType(resources.GetObject("SmallerIcons.ImageStream"), System.Windows.Forms.ImageListStreamer)
|
||||
Me.SmallerIcons.TransparentColor = System.Drawing.Color.Transparent
|
||||
Me.SmallerIcons.Images.SetKeyName(0, "save-as_16x16.png")
|
||||
Me.SmallerIcons.Images.SetKeyName(1, "msi small.ico")
|
||||
Me.SmallerIcons.Images.SetKeyName(2, "doc_file_document_manager_paper_phone.ico")
|
||||
Me.SmallerIcons.Images.SetKeyName(3, "16.ico")
|
||||
Me.SmallerIcons.Images.SetKeyName(4, "cross.ico")
|
||||
Me.SmallerIcons.Images.SetKeyName(5, "pictures (1).ico")
|
||||
Me.SmallerIcons.Images.SetKeyName(6, "Remote Desktop Connection.ico")
|
||||
'
|
||||
'ResetButton
|
||||
'
|
||||
Me.ResetButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ResetButton.BackColor = System.Drawing.Color.WhiteSmoke
|
||||
Me.ResetButton.ImageIndex = 4
|
||||
Me.ResetButton.ImageList = Me.SmallerIcons
|
||||
Me.ResetButton.Location = New System.Drawing.Point(417, 366)
|
||||
Me.ResetButton.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.ResetButton.Name = "ResetButton"
|
||||
Me.ResetButton.Size = New System.Drawing.Size(90, 29)
|
||||
Me.ResetButton.TabIndex = 5
|
||||
Me.ResetButton.Text = "Clear all"
|
||||
Me.ResetButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
Me.ResetButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
||||
Me.ResetButton.UseVisualStyleBackColor = False
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(12, 221)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(97, 15)
|
||||
Me.Label2.TabIndex = 6
|
||||
Me.Label2.Text = "Selected options:"
|
||||
'
|
||||
'DefaultsButton
|
||||
'
|
||||
Me.DefaultsButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.DefaultsButton.BackColor = System.Drawing.Color.WhiteSmoke
|
||||
Me.DefaultsButton.ImageIndex = 3
|
||||
Me.DefaultsButton.ImageList = Me.SmallerIcons
|
||||
Me.DefaultsButton.Location = New System.Drawing.Point(324, 366)
|
||||
Me.DefaultsButton.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.DefaultsButton.Name = "DefaultsButton"
|
||||
Me.DefaultsButton.Size = New System.Drawing.Size(89, 29)
|
||||
Me.DefaultsButton.TabIndex = 5
|
||||
Me.DefaultsButton.Text = "Defaults"
|
||||
Me.DefaultsButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
Me.DefaultsButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
||||
Me.DefaultsButton.UseVisualStyleBackColor = False
|
||||
'
|
||||
'ResetValueButton
|
||||
'
|
||||
Me.ResetValueButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ResetValueButton.BackColor = System.Drawing.Color.WhiteSmoke
|
||||
Me.ResetValueButton.ImageIndex = 4
|
||||
Me.ResetValueButton.ImageList = Me.SmallerIcons
|
||||
Me.ResetValueButton.Location = New System.Drawing.Point(552, 184)
|
||||
Me.ResetValueButton.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.ResetValueButton.Name = "ResetValueButton"
|
||||
Me.ResetValueButton.Size = New System.Drawing.Size(25, 25)
|
||||
Me.ResetValueButton.TabIndex = 7
|
||||
Me.ResetValueButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
Me.ResetValueButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
||||
Me.ResetValueButton.UseVisualStyleBackColor = False
|
||||
'
|
||||
'RDPOptionsWindow
|
||||
'
|
||||
Me.AcceptButton = Me.SaveButton
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.BackColor = System.Drawing.Color.White
|
||||
Me.ClientSize = New System.Drawing.Size(586, 406)
|
||||
Me.Controls.Add(Me.ResetValueButton)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.DefaultsButton)
|
||||
Me.Controls.Add(Me.ResetButton)
|
||||
Me.Controls.Add(Me.SaveButton)
|
||||
Me.Controls.Add(Me.ChangedOptionsListView)
|
||||
Me.Controls.Add(Me.ValueTextBox)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.DescriptionTextBox)
|
||||
Me.Controls.Add(Me.OptionsListBox)
|
||||
Me.Font = New System.Drawing.Font("Segoe UI", 9.0!)
|
||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||
Me.Margin = New System.Windows.Forms.Padding(2)
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "RDPOptionsWindow"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "Additional RDP Options"
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents OptionsListBox As ListBox
|
||||
Friend WithEvents DescriptionTextBox As TextBox
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents ValueTextBox As TextBox
|
||||
Friend WithEvents ChangedOptionsListView As ListView
|
||||
Friend WithEvents ColumnHeader1 As ColumnHeader
|
||||
Friend WithEvents ColumnHeader2 As ColumnHeader
|
||||
Friend WithEvents ColumnHeader3 As ColumnHeader
|
||||
Friend WithEvents SaveButton As Button
|
||||
Friend WithEvents SmallerIcons As ImageList
|
||||
Friend WithEvents ResetButton As Button
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents DefaultsButton As Button
|
||||
Friend WithEvents ResetValueButton As Button
|
||||
End Class
|
6488
remoteapp-tool/RDPOptionsWindow.resx
Normal file
6488
remoteapp-tool/RDPOptionsWindow.resx
Normal file
File diff suppressed because it is too large
Load Diff
275
remoteapp-tool/RDPOptionsWindow.vb
Normal file
275
remoteapp-tool/RDPOptionsWindow.vb
Normal file
@ -0,0 +1,275 @@
|
||||
Public Class RDPOptionsWindow
|
||||
|
||||
' Array to store the all RDP options
|
||||
' Each row represents an RDP option with its name, type, default value, and description
|
||||
Dim optionsList As String(,) = {
|
||||
{"administrative_session", "administrative session", "i", "0", "Connect to the administrative session of the remote computer.\n\n0 - Do not use the administrative session.\n1 - Connect to the administrative session."},
|
||||
{"allow_desktop_composition", "allow desktop composition", "i", "0", "Determines whether desktop composition (needed for Aero) is permitted when you log on to the remote computer.\n\n0 - Disable desktop composition in the remote session.\n1 - Desktop composition is permitted."},
|
||||
{"allow_font_smoothing", "allow font smoothing", "i", "0", "Determines whether font smoothing may be used in the remote session.\n\n0 - Disable font smoothing in the remote session.\n1 - Font smoothing is permitted."},
|
||||
{"audiocapturemode", "audiocapturemode", "i", "0", "Determines how sounds captured (recorded) on the local computer are handled when you are connected to the remote computer.\n\n0 - Do not capture audio from the local computer.\n1 - Capture audio from the local computer and send to the remote computer."},
|
||||
{"audiomode", "audiomode", "i", "0", "Determines how sounds on a remote computer are handled when you are connected to the remote computer.\n\n0 - Play sounds on the local computer.\n1 - Play sounds on the remote computer.\n2 - Do not play sounds."},
|
||||
{"audioqualitymode", "audioqualitymode", "i", "0", "Determines the quality of the audio played in the remote session.\n\n0 - Dynamically adjust audio quality based on available bandwidth.\n1 - Always use medium audio quality.\n2 - Always use uncompressed audio quality."},
|
||||
{"authentication_level", "authentication level", "i", "2", "Determines what should happen when server authentication fails.\n\n0 - If server authentication fails, connect without giving a warning.\n1 - If server authentication fails, do not connect.\n2 - If server authentication fails, show a warning and allow the user to connect or not.\n3 - Server authentication is not required."},
|
||||
{"autoreconnect_max_retries", "autoreconnect max retries", "i", "20", "Determines the maximum number of times the client computer will try to reconnect to the remote computer if the connection is dropped.\n\nNote: The maximum value Remote Desktop can handle is 200."},
|
||||
{"autoreconnection_enabled", "autoreconnection enabled", "i", "1", "Determines whether the client computer will automatically try to reconnect to the remote computer if the connection is dropped.\n\n0 - Do not attempt to reconnect.\n1 - Attempt to reconnect."},
|
||||
{"bandwidthautodetect", "bandwidthautodetect", "i", "1", "Enables the option for automatic detection of the network type. Used in conjunction with networkautodetect. Also see connection type.\n\n0 - Do not enable the option for automatic network detection.\n1 - Enable the option for automatic network detection."},
|
||||
{"bitmapcachepersistenable", "bitmapcachepersistenable", "i", "1", "Determines whether bitmaps are cached on the local computer (disk-based cache). Bitmap caching can improve the performance of your remote session.\n\n0 - Do not cache bitmaps.\n1 - Cache bitmaps."},
|
||||
{"bitmapcachesize", "bitmapcachesize", "i", "1500", "Specifies the size in kilobytes of the memory-based bitmap cache. The maximum value is 32000."},
|
||||
{"camerastoredirect", "camerastoredirect", "s", "", "Configures which cameras to redirect. This setting uses a semicolon-delimited list of KSCATEGORY_VIDEO_CAMERA interfaces of cameras enabled for redirection."},
|
||||
{"compression", "compression", "i", "1", "Determines whether the connection should use bulk compression.\n\n0 - Do not use bulk compression.\n1 - Use bulk compression."},
|
||||
{"connection_type", "connection type", "i", "2", "Specifies pre-defined performance settings for the Remote Desktop session.\n\n1 - Modem (56 Kbps).\n2 - Low-speed broadband (256 Kbps - 2 Mbps).\n3 - Satellite (2 Mbps - 16 Mbps with high latency).\n4 - High-speed broadband (2 Mbps - 10 Mbps).\n5 - WAN (10 Mbps or higher with high latency).\n6 - LAN (10 Mbps or higher).\n7 - Automatic bandwidth detection. Requires bandwidthautodetect.\n\nBy itself, this setting does nothing. When selected in the RDC GUI, this option changes several performance related settings (themes, animation, font smoothing, etcetera). These separate settings always overrule the connection type setting."},
|
||||
{"desktopheight", "desktopheight", "i", "600", "The height (in pixels) of the remote session desktop."},
|
||||
{"desktop_size_id", "desktop size id", "i", "0", "Specifies pre-defined dimensions of the remote session desktop.\n\n0 - 640x480.\n1 - 800x600.\n2 - 1024x768.\n3 - 1280x1024.\n4 - 1600x1200.\n\nThis setting is ignored when either /w and /h, or desktopwidth and desktopheight are already specified."},
|
||||
{"desktopwidth", "desktopwidth", "i", "800", "The width (in pixels) of the remote session desktop."},
|
||||
{"devicestoredirect", "devicestoredirect", "s", "", "Determines which supported Plug and Play devices on the client computer will be redirected and available in the remote session.\n\nNo value specified - Do not redirect any supported Plug and Play devices.\n* - Redirect all supported Plug and Play devices, including ones that are connected later.\nDynamicDevices - Redirect any supported Plug and Play devices that are connected later.\nThe hardware ID for one or more Plug and Play devices - Redirect the specified supported Plug and Play device(s)."},
|
||||
{"disable_ctrl_alt_del", "disable ctrl+alt+del", "i", "1", "Determines whether you have to press CTRL+ALT+DELETE before entering credentials after you are connected to the remote computer.\n\n0 - CTRL+ALT+DELETE is required before logging in.\n1 - CTRL+ALT+DELETE is not required. You can logon immediately.\n\nNote: When disabled, this setting will also delay the autologin until the user has pressed CTRL+ALT+DELETE."},
|
||||
{"disable_full_window_drag", "disable full window drag", "i", "1", "Determines whether window content is displayed when you drag the window to a new location.\n\n0 - Show the contents of the window while dragging.\n1 - Show an outline of the window while dragging."},
|
||||
{"disable_menu_anims", "disable menu anims", "i", "1", "Determines whether menus and windows can be displayed with animation effects in the remote session.\n\n0 - Menu and window animation is permitted.\n1 - No menu and window animation."},
|
||||
{"disable_themes", "disable themes", "i", "0", "Determines whether themes are permitted when you log on to the remote computer.\n\n0 - Themes are permitted.\n1 - Disable theme in the remote session."},
|
||||
{"disable_wallpaper", "disable wallpaper", "i", "1", "Determines whether the desktop background is displayed in the remote session.\n\n0 - Display the wallpaper.\n1 - Do not show any wallpaper."},
|
||||
{"disableconnectionsharing", "disableconnectionsharing", "i", "0", "Determines whether a new Terminal Server session is started with every launch of a RemoteApp to the same computer and with the same credentials.\n\n0 - No new session is started. The currently active session of the user is shared.\n1 - A new login session is started for the RemoteApp."},
|
||||
{"disableremoteappcapscheck", "disableremoteappcapscheck", "i", "0", "Specifies whether the Remote Desktop client should check the remote computer for RemoteApp capabilities.\n\n0 - Check the remote computer for RemoteApp capabilities before logging in.\n1 - Do not check the remote computer for RemoteApp capabilities.\n\nNote: This setting must be set to 1 when connecting to Windows XP SP3, Vista or 7 computers with RemoteApps configured on them."},
|
||||
{"displayconnectionbar", "displayconnectionbar", "i", "1", "Determines whether the connection bar appears when you are in full screen mode.\n\n0 - Do not show the connection bar.\n1 - Show the connection bar."},
|
||||
{"domain", "domain", "s", "", "Specifies the name of the domain of the user."},
|
||||
{"drivestoredirect", "drivestoredirect", "s", "", "Determines which local disk drives on the client computer will be redirected and available in the remote session.\n\nNo value specified - Do not redirect any drives.\n* - Redirect all disk drives, including drives that are connected later.\nDynamicDrives - Redirect any drives that are connected later.\nThe drive and labels for one or more drives - Redirect the specified drive(s)."},
|
||||
{"enablecredsspsupport", "enablecredsspsupport", "i", "1", "Determines whether Remote Desktop will use CredSSP for authentication if it's available.\n\n0 - Do not use CredSSP, even if the operating system supports it.\n1 - Use CredSSP, if the operating system supports it."},
|
||||
{"enablesuperpan", "enablesuperpan", "i", "0", "Determines whether SuperPan is enabled or disabled. SuperPan allows the user to navigate a remote desktop in full-screen mode without scroll bars, when the dimensions of the remote desktop are larger than the dimensions of the current client window. The user can point to the window border, and the desktop view will scroll automatically in that direction.\n\n0 - Do not use SuperPan. The remote session window is sized to the client window size.\n1 - Enable SuperPan. The remote session window is sized to the dimensions specified through /w and /h, or through desktopwidth and desktopheight."},
|
||||
{"encode_redirected_video_capture", "encode redirected video capture", "i", "1", "Enables or disables encoding of redirected video.\n\n0 - Disable encoding of redirected video.\n\n1 - Enable encoding of redirected video."},
|
||||
{"gatewaycredentialssource", "gatewaycredentialssource", "i", "4", "Specifies the credentials that should be used to validate the connection with the RD Gateway.\n\n0 - Ask for password (NTLM).\n1 - Use smart card.\n4 - Allow user to select later."},
|
||||
{"keyboardhook", "keyboardhook", "i", "2", "Determines how Windows key combinations are applied when you are connected to a remote computer.\n\n0 - Windows key combinations are applied on the local computer.\n1 - Windows key combinations are applied on the remote computer.\n2 - Windows key combinations are applied in full-screen mode only."},
|
||||
{"negotiate_security_layer", "negotiate security layer", "i", "1", "Determines whether the level of security is negotiated or not.\n\n0 - Security layer negotiation is not enabled and the session is started by using Secure Sockets Layer (SSL).\n1 - Security layer negotiation is enabled and the session is started by using x.224 encryption."},
|
||||
{"networkautodetect", "networkautodetect", "i", "1", "Determines whether to use automatic network bandwidth detection or not. Requires the option bandwidthautodetect to be set and correlates with connection type 7.\n\n0 - Use automatic network bandwitdh detection.\n1 - Do not use automatic network bandwitdh detection."},
|
||||
{"pinconnectionbar", "pinconnectionbar", "i", "1", "Determines whether or not the connection bar should be pinned to the top of the remote session upon connection when in full screen mode.\n\n0 - The connection bar should not be pinned to the top of the remote session.\n1 - The connection bar should be pinned to the top of the remote session."},
|
||||
{"prompt_for_credentials", "prompt for credentials", "i", "0", "Determines whether Remote Desktop Connection will prompt for credentials when connecting to a remote computer for which the credentials have been previously saved.\n\n0 - Remote Desktop will use the saved credentials and will not prompt for credentials.\n1 - Remote Desktop will prompt for credentials."},
|
||||
{"prompt_for_credentials_on_client", "prompt for credentials on client", "i", "0", "Determines whether Remote Desktop Connection will prompt for credentials when connecting to a server that does not support server authentication.\n\n0 - Remote Desktop will not prompt for credentials.\n1 - Remote Desktop will prompt for credentials."},
|
||||
{"promptcredentialonce", "promptcredentialonce", "i", "1", "When connecting through an RD Gateway, determines whether RDC should use the same credentials for both the RD Gateway and the remote computer.\n\n0 - Remote Desktop will not use the same credentials .\n1 - Remote Desktop will use the same credentials for both the RD gateway and the remote computer."},
|
||||
{"public_mode", "public mode", "i", "0", "Determines whether Remote Desktop Connection will be started in public mode.\n\n0 - Remote Desktop will not start in public mode .\n1 - Remote Desktop will start in public mode and will not save any user data (credentials, bitmap cache, MRU) on the local machine."},
|
||||
{"redirected_video_capture_encoding_quality", "redirected video capture encoding quality", "i", "0", "Controls the quality of encoded video.\n\n0 - High compression video. Quality may suffer when there's a lot of motion.\n1 - Medium compression.\n2 - Low compression video with high picture quality."},
|
||||
{"redirectclipboard", "redirectclipboard", "i", "1", "Determines whether the clipboard on the client computer will be redirected and available in the remote session and vice versa.\n\n0 - Do not redirect the clipboard.\n1 - Redirect the clipboard."},
|
||||
{"redirectcomports", "redirectcomports", "i", "0", "Determines whether the COM (serial) ports on the client computer will be redirected and available in the remote session.\n\n0 - The COM ports on the local computer are not available in the remote session.\n1 - The COM ports on the local computer are available in the remote session."},
|
||||
{"redirectdirectx", "redirectdirectx", "i", "1", "Determines whether DirectX will be enabled for the remote session.\n\n0 - Do not enable DirectX rendering.\n1 - Enable DirectX rendering in the remote session."},
|
||||
{"redirectlocation", "redirectlocation", "i", "0", "Determines whether the location of the local device will be redirected and available in the remote session.\n\n0 - The remote session uses the location of the remote computer.\n1 - The remote session uses the location of the local device."},
|
||||
{"redirectposdevices", "redirectposdevices", "i", "0", "Determines whether Microsoft Point of Service (POS) for .NET devices connected to the client computer will be redirected and available in the remote session.\n\n0 - The POS devices from the local computer are not available in the remote session.\n1 - The POS devices from the local computer are available in the remote session."},
|
||||
{"redirectprinters", "redirectprinters", "i", "1", "Determines whether printers configured on the client computer will be redirected and available in the remote session.\n\n0 - The printers on the local computer are not available in the remote session.\n1 - The printers on the local computer are available in the remote session."},
|
||||
{"redirectsmartcards", "redirectsmartcards", "i", "1", "Determines whether smart card devices on the client computer will be redirected and available in the remote session.\n\n0 - The smart card device on the local computer is not available in the remote session.\n1 - The smart card device on the local computer is available in the remote session."},
|
||||
{"redirectwebauthn", "redirectwebauthn", "i", "1", "Determines whether WebAuthn requests on the remote computer will be redirected to the local computer allowing the use of local authenticators (such as Windows Hello for Business and security key).\n\n0 - WebAuthn requests from the remote session aren't sent to the local computer for authentication and must be completed in the remote session.\n1 - WebAuthn requests from the remote session are sent to the local computer for authentication."},
|
||||
{"remoteapplicationfile", "remoteapplicationfile", "s", "", "Specifies a file to be opened on the remote computer by the RemoteApp.\n\nNote: For local files to be opened, you must also enable drive redirection for (at least) the source drive."},
|
||||
{"remoteapplicationexpandcmdline", "remoteapplicationexpandcmdline", "i", "1", "Determines whether environment variables contained in the RemoteApp command line parameter should be expanded locally or remotely.\n\n0 - Environment variables should be expanded to the values of the local computer.\n1 - Environment variables should be expanded on the remote computer to the values of the remote computer."},
|
||||
{"remoteapplicationexpandworkingdir", "remoteapplicationexpandworkingdir", "i", "0", "Determines whether environment variables contained in the RemoteApp working directory parameter should be expanded locally or remotely.\n\n0 - Environment variables should be expanded to the values of the local computer.\n1 - Environment variables should be expanded on the remote computer to the values of the remote computer.\n\nNote: The RemoteApp working directory is specified through the shell working directory parameter."},
|
||||
{"remoteapplicationicon", "remoteapplicationicon", "s", "", "Specifies the file name of an icon file to be displayed in the Remote Desktop interface while starting the RemoteApp. By default RDC will show the standard Remote Desktop icon.\n\nNote: Only .ico files are supported."},
|
||||
{"screen_mode_id", "screen mode id", "i", "2", "Determines whether the remote session window appears full screen when you connect to the remote computer.\n\n1 - The remote session will appear in a window.\n2 - The remote session will appear full screen."},
|
||||
{"selectedmonitors", "selectedmonitors", "s", "", "Specifies which local displays to use for the remote session. The selected displays must be contiguous. Requires use multimon to be set to 1.\n\nComma separated list of machine-specific display IDs. You can retrieve IDs by calling mstsc.exe /l. The first ID listed will be set as the primary display in the session. Defaults to all displays."},
|
||||
{"session_bpp", "session bpp", "i", "32", "Determines the color depth (in bits) on the remote computer when you connect.\n\n8 - 256 colors (8 bit).\n15 - High color (15 bit).\n16 - High color (16 bit).\n24 - True color (24 bit).\n32 - Highest quality (32 bit)."},
|
||||
{"shell_working_directory", "shell working directory", "s", "", "The working directory on the remote computer to be used if an alternate shell is specified."},
|
||||
{"signscope", "signscope", "s", "", "Comma-delimited list of .rdp file settings for which the signature is generated when using .rdp file signing."},
|
||||
{"smart_sizing", "smart sizing", "i", "0", "Determines whether the client computer should scale the content on the remote computer to fit the window size of the client computer when the window is resized.\n\n0 - The client window display will not be scaled when resized.\n1 - The client window display will be scaled when resized."},
|
||||
{"span_monitors", "span monitors", "i", "0", "Determines whether the remote session window will be spanned across multiple monitors when you connect to the remote computer.\n\n0 - Monitor spanning is not enabled.\n1 - Monitor spanning is enabled.\n\nNote: When using Remote Desktop Connection 7 (Windows 7/2008), the use multimon setting is recommended."},
|
||||
{"superpanaccelerationfactor", "superpanaccelerationfactor", "i", "1", "Specifies the number of pixels that the screen view scrolls in a given direction for every pixel of mouse movement by the client when in SuperPan mode"},
|
||||
{"usbdevicestoredirect", "usbdevicestoredirect", "s", "", "Determines which supported RemoteFX USB devices on the client computer will be redirected and available in the remote session when you connect to a remote session that supports RemoteFX USB redirection.\n\nNo value specified - Do not redirect any supported RemoteFX USB devices.\n* - Redirect all supported RemoteFX USB devices for redirection that are not redirected by high-level redirection mechanisms.\n{Device Setup Class GUID} - Redirect all supported RemoteFX USB devices that are members of the specified device setup class.\nUSB\InstanceID - Redirect the supported RemoteFX USB device specified by the given instance ID.\n-USB\InstanceID - Do not redirect the supported RemoteFX USB device specified by the given instance ID, even if the device is in a device setup class that is redirected.."},
|
||||
{"use_multimon", "use multimon", "i", "0", "Determines whether the session should use true multiple monitor support when connecting to the remote computer.\n\n0 - Do not enable multiple monitor support.\n1 - Enable multiple monitor support."},
|
||||
{"username", "username", "s", "", "Specifies the name of the user account that will be used to log on to the remote computer."},
|
||||
{"videoplaybackmode", "videoplaybackmode", "i", "1", "Determines whether RDC will use RDP efficient multimedia streaming for video playback.\n\n0 - Do not use RDP efficient multimedia streaming for video playback.\n1 - Use RDP efficient multimedia streaming for video playback when possible."},
|
||||
{"winposstr", "winposstr", "s", "0,3,0,0,800,600", "Specifies the position and dimensions of the session window on the client computer."},
|
||||
{"workspaceid", "workspaceid", "s", "", "This setting defines the RemoteApp and Desktop ID associated with the RDP file that contains this setting."}
|
||||
}
|
||||
|
||||
' Array to store recommended default options
|
||||
Public RecommendedDefaultOptions As String(,) = {
|
||||
{"disableremoteappcapscheck", "disableremoteappcapscheck", "i", "1"},
|
||||
{"drivestoredirect", "drivestoredirect", "s", "*"},
|
||||
{"prompt_for_credentials", "prompt for credentials", "i", "1"},
|
||||
{"promptcredentialonce", "promptcredentialonce", "i", "0"},
|
||||
{"redirectcomports", "redirectcomports", "i", "1"},
|
||||
{"span_monitors", "span monitors", "i", "1"},
|
||||
{"use_multimon", "use multimon", "i", "1"}
|
||||
}
|
||||
|
||||
' Array to store changed options during editing
|
||||
Dim changedOptions As String(,)
|
||||
|
||||
' Index of the currently selected row in the OptionsListBox
|
||||
Dim selectedRow As Integer = 0
|
||||
|
||||
' Copy the original options to the changedOptions array
|
||||
Private Sub CopyOptions()
|
||||
changedOptions = New String(optionsList.GetLength(0) - 1, optionsList.GetLength(1) - 1) {}
|
||||
Array.Copy(optionsList, changedOptions, optionsList.Length)
|
||||
End Sub
|
||||
|
||||
' Main function that prepares and opens the window (to be called from elsewhere)
|
||||
Public Function EditAdditionalOptions(additionalOptions As String(,))
|
||||
' Copy options, load additional options, and update the changed options
|
||||
CopyOptions()
|
||||
LoadAdditionalOptions(additionalOptions)
|
||||
UpdateChangedOptions()
|
||||
|
||||
' Load options into the OptionsListBox
|
||||
OptionsListBox.Items.Clear()
|
||||
For row As Integer = 0 To optionsList.GetLength(0) - 1
|
||||
OptionsListBox.Items.Add(optionsList(row, 1))
|
||||
Next
|
||||
|
||||
' Set the selected item in OptionsListBox and load the selected option
|
||||
OptionsListBox.SelectedIndex = selectedRow
|
||||
LoadSelected()
|
||||
|
||||
' Show the form
|
||||
ShowDialog()
|
||||
|
||||
' Export saved options and return the result
|
||||
Dim SavedOptions As String(,) = ExportSavedOptionsAsArray()
|
||||
Return SavedOptions
|
||||
|
||||
' Dispose of the form
|
||||
Dispose()
|
||||
End Function
|
||||
|
||||
' Load additional options and update the changed options array
|
||||
Private Sub LoadAdditionalOptions(additionalOptions As String(,))
|
||||
If additionalOptions.Length > 1 Then
|
||||
For row As Integer = 0 To optionsList.GetLength(0) - 1
|
||||
For additionalOptionRow As Integer = 0 To additionalOptions.GetLength(0) - 1
|
||||
If optionsList(row, 1) = additionalOptions(additionalOptionRow, 1) Then
|
||||
changedOptions(row, 3) = additionalOptions(additionalOptionRow, 3)
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Handle the selection change in OptionsListBox
|
||||
Private Sub OptionsListBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles OptionsListBox.SelectedIndexChanged
|
||||
If OptionsListBox.SelectedItems.Count = 1 Then
|
||||
selectedRow = OptionsListBox.SelectedIndex
|
||||
LoadSelected()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Load the details of the selected option into the description and value textboxes
|
||||
Private Sub LoadSelected()
|
||||
Dim descriptionText = "# " & optionsList(selectedRow, 1) & vbCrLf & vbCrLf
|
||||
descriptionText = descriptionText & optionsList(selectedRow, 4).Replace("\n", vbCrLf)
|
||||
Dim valueText = changedOptions(selectedRow, 3)
|
||||
|
||||
If optionsList(selectedRow, 3) <> "" Then
|
||||
descriptionText = descriptionText & vbCrLf & vbCrLf & "Default: " & optionsList(selectedRow, 3)
|
||||
End If
|
||||
|
||||
DescriptionTextBox.Text = descriptionText
|
||||
ValueTextBox.Text = valueText
|
||||
End Sub
|
||||
|
||||
' Handle the change in the value textbox
|
||||
Private Sub ValueTextBox_TextChanged(sender As Object, e As EventArgs) Handles ValueTextBox.TextChanged
|
||||
If changedOptions(selectedRow, 3) <> ValueTextBox.Text Then
|
||||
changedOptions(selectedRow, 3) = ValueTextBox.Text
|
||||
UpdateChangedOptions()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Update the ChangedOptionsListView with any changes
|
||||
Private Sub UpdateChangedOptions()
|
||||
ChangedOptionsListView.Items.Clear()
|
||||
|
||||
For row As Integer = 0 To optionsList.GetLength(0) - 1
|
||||
If optionsList(row, 3) <> changedOptions(row, 3) Then
|
||||
Dim newItem As ListViewItem = ChangedOptionsListView.Items.Add(changedOptions(row, 1))
|
||||
newItem.SubItems.Add(changedOptions(row, 2))
|
||||
newItem.SubItems.Add(changedOptions(row, 3))
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
' Export only the modified options as an array
|
||||
Private Function ExportSavedOptionsAsArray()
|
||||
Dim selectedIndicesList As New List(Of Integer)
|
||||
|
||||
For row As Integer = 0 To optionsList.GetLength(0) - 1
|
||||
If optionsList(row, 3) <> changedOptions(row, 3) Then
|
||||
selectedIndicesList.Add(row)
|
||||
End If
|
||||
Next
|
||||
|
||||
Dim selectedIndices() As Integer = selectedIndicesList.ToArray()
|
||||
|
||||
Dim changedOptionsNoDesc As String(,) = RemoveDescriptions(changedOptions)
|
||||
Return SelectRows(changedOptionsNoDesc, selectedIndices)
|
||||
End Function
|
||||
|
||||
' Select specific rows from the array
|
||||
Function SelectRows(originalArray As String(,), selectedIndices() As Integer) As String(,)
|
||||
Dim numSelectedRows As Integer = selectedIndices.Length
|
||||
Dim numCols As Integer = originalArray.GetLength(1)
|
||||
|
||||
' Create a new array with the selected rows
|
||||
Dim newArray(numSelectedRows - 1, numCols - 1) As String
|
||||
|
||||
' Copy the selected rows from the original array
|
||||
For i As Integer = 0 To numSelectedRows - 1
|
||||
Dim rowIndex As Integer = selectedIndices(i)
|
||||
For j As Integer = 0 To numCols - 1
|
||||
newArray(i, j) = originalArray(rowIndex, j)
|
||||
Next
|
||||
Next
|
||||
|
||||
Return newArray
|
||||
End Function
|
||||
|
||||
' Remove descriptions from the array
|
||||
Function RemoveDescriptions(originalArray(,) As String) As String(,)
|
||||
Dim numRows As Integer = originalArray.GetLength(0)
|
||||
Dim numColumns As Integer = Math.Min(originalArray.GetLength(1), 4)
|
||||
|
||||
Dim newArray(numRows - 1, numColumns - 1) As String
|
||||
|
||||
For i As Integer = 0 To numRows - 1
|
||||
For j As Integer = 0 To numColumns - 1
|
||||
newArray(i, j) = originalArray(i, j)
|
||||
Next
|
||||
Next
|
||||
|
||||
Return newArray
|
||||
End Function
|
||||
|
||||
' Handle the Close button being clicked
|
||||
Private Sub SaveButton_Click(sender As Object, e As EventArgs) Handles SaveButton.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
' Handles the Reset button being clicked, resets all options to RDP defaults (so they are not active)
|
||||
Private Sub ResetButton_Click(sender As Object, e As EventArgs) Handles ResetButton.Click
|
||||
CopyOptions()
|
||||
UpdateChangedOptions()
|
||||
LoadSelected()
|
||||
End Sub
|
||||
|
||||
' Handles the Defaults button being clicked, clears all options and adds all recommended default options
|
||||
Private Sub DefaultsButton_Click(sender As Object, e As EventArgs) Handles DefaultsButton.Click
|
||||
CopyOptions()
|
||||
LoadAdditionalOptions(RecommendedDefaultOptions)
|
||||
UpdateChangedOptions()
|
||||
LoadSelected()
|
||||
End Sub
|
||||
|
||||
' Handles items in the Changed Options ListView being clicked/selected, scrolls to the selected option in the main Options ListBox
|
||||
Private Sub ChangedOptionsListView_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ChangedOptionsListView.SelectedIndexChanged
|
||||
ScrollToSelectedOption()
|
||||
ChangedOptionsListView.Focus()
|
||||
End Sub
|
||||
|
||||
' As above, scrolls to the selected option in the main Options ListBox
|
||||
Private Sub ScrollToSelectedOption()
|
||||
If ChangedOptionsListView.SelectedItems.Count > 0 Then
|
||||
Dim selectedOptionName As String = ChangedOptionsListView.SelectedItems(0).Text
|
||||
OptionsListBox.SelectedItem = selectedOptionName
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ResetValueButton_Click(sender As Object, e As EventArgs) Handles ResetValueButton.Click
|
||||
If ValueTextBox.Text <> optionsList(selectedRow, 3) Then
|
||||
changedOptions(selectedRow, 3) = optionsList(selectedRow, 3)
|
||||
LoadSelected()
|
||||
UpdateChangedOptions()
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
@ -126,6 +126,12 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ApplicationEvents.vb" />
|
||||
<Compile Include="RDPOptionsWindow.Designer.vb">
|
||||
<DependentUpon>RDPOptionsWindow.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RDPOptionsWindow.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="HelpSystem.vb" />
|
||||
<Compile Include="IconModule.vb" />
|
||||
<Compile Include="LocalFtaModule.vb" />
|
||||
@ -176,6 +182,7 @@
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
@ -189,11 +196,15 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="RDPOptionsWindow.resx">
|
||||
<DependentUpon>RDPOptionsWindow.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RemoteAppAboutWindow.resx">
|
||||
<DependentUpon>RemoteAppAboutWindow.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RemoteAppCreateClientConnection.resx">
|
||||
<DependentUpon>RemoteAppCreateClientConnection.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RemoteAppFileTypeAssociation.resx">
|
||||
<DependentUpon>RemoteAppFileTypeAssociation.vb</DependentUpon>
|
||||
@ -209,6 +220,7 @@
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RemoteAppMainWindow.resx">
|
||||
<DependentUpon>RemoteAppMainWindow.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
|
@ -69,6 +69,7 @@ Partial Class RemoteAppCreateClientConnection
|
||||
Me.TabControl = New System.Windows.Forms.TabControl()
|
||||
Me.HostTabPage = New System.Windows.Forms.TabPage()
|
||||
Me.OptionsTabPage = New System.Windows.Forms.TabPage()
|
||||
Me.RDPOptionsButton = New System.Windows.Forms.Button()
|
||||
Me.GatewayTabPage = New System.Windows.Forms.TabPage()
|
||||
Me.FileTypesTabPage = New System.Windows.Forms.TabPage()
|
||||
Me.MSIOptionsTabPage = New System.Windows.Forms.TabPage()
|
||||
@ -544,6 +545,7 @@ Partial Class RemoteAppCreateClientConnection
|
||||
'
|
||||
'OptionsTabPage
|
||||
'
|
||||
Me.OptionsTabPage.Controls.Add(Me.RDPOptionsButton)
|
||||
Me.OptionsTabPage.Controls.Add(Me.MSIRadioButton)
|
||||
Me.OptionsTabPage.Controls.Add(Me.RDPRadioButton)
|
||||
Me.OptionsTabPage.Controls.Add(Me.EditAfterSave)
|
||||
@ -556,6 +558,19 @@ Partial Class RemoteAppCreateClientConnection
|
||||
Me.OptionsTabPage.Text = "Options"
|
||||
Me.OptionsTabPage.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RDPOptionsButton
|
||||
'
|
||||
Me.RDPOptionsButton.BackColor = System.Drawing.Color.WhiteSmoke
|
||||
Me.RDPOptionsButton.ImageIndex = 6
|
||||
Me.RDPOptionsButton.ImageList = Me.SmallerIcons
|
||||
Me.RDPOptionsButton.Location = New System.Drawing.Point(12, 69)
|
||||
Me.RDPOptionsButton.Name = "RDPOptionsButton"
|
||||
Me.RDPOptionsButton.Size = New System.Drawing.Size(118, 29)
|
||||
Me.RDPOptionsButton.TabIndex = 5
|
||||
Me.RDPOptionsButton.Text = "RDP options..."
|
||||
Me.RDPOptionsButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText
|
||||
Me.RDPOptionsButton.UseVisualStyleBackColor = False
|
||||
'
|
||||
'GatewayTabPage
|
||||
'
|
||||
Me.GatewayTabPage.Controls.Add(Me.AttemptDirectCheckBox)
|
||||
@ -719,4 +734,5 @@ Partial Class RemoteAppCreateClientConnection
|
||||
Friend WithEvents MSIOptionsTabPage As TabPage
|
||||
Friend WithEvents SigningTabPage As TabPage
|
||||
Friend WithEvents RdpsignErrorLabel As Label
|
||||
Friend WithEvents RDPOptionsButton As Button
|
||||
End Class
|
||||
|
@ -124,151 +124,151 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACY
|
||||
IQAAAk1TRnQBSQFMAgEBBwEAAWABAgFgAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACO
|
||||
IQAAAk1TRnQBSQFMAgEBBwEAAYABAgGAAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIF4AAyABLwMjATMDIwEzAyMBMwMjATMDIwEzAyMBMwMjATMDIwEzAxkBIysA
|
||||
AQEDQgF0A1gBwQNYAe8DWAHvA1gBwQNCAXQDAAEBUAADKgFBAwYBCBgAAwYBCAMqAUEUAAMIAQsCXQFU
|
||||
AfABtgGEASwB/wG1AYMBKAH/AbYBggEnAf8BtgGCAScB/wG2AYIBJwH/AbYBggEnAf8BtQGDASgB/wG2
|
||||
AYQBLAH/AloBWAHAJwABAQNaAcADiwH/AbkCugH/A9wB/wPZAf8DtQH/AYYChwH/A1oBwAMAAQFIAAMq
|
||||
AUEBLgErAfIB/wJAAa0B/QMGAQgQAAMGAQgCKwGFAfwBEAEOAeoB/wMqAUEQAAMpAT8BtgGEASwh/wG2
|
||||
AYQBLAH/GAABuQK/Af8BuQK/Af8BsgK3Af8BiwGNAY4B/wGNAY4BjQH/AcUB4AHLAf8BzgHjAdIB/wHu
|
||||
Au8B/wHsAe0B7AH/AeoC6QH/A+cB/wOHAf8DQgF0RAADKgFBATcBNQH1Af8BQgFAAfoB/wE3ATQB9gH/
|
||||
AisBiwH8AwYBCAgAAwYBCAIrAYYB/AEgAR4B8QH/ASsBKQH2Af8BEAEOAeoB/wMqAUEMAAMnATsBtQGD
|
||||
ASgF/wEAAR8B8gH/AQABRQHzAf8BBAGaAfYB/wEIAaYB+AH/AQABVAH0Af8BAAEaAfIF/wG1AYMBKAH/
|
||||
GAADRwGCA9gB/wHNAdQB1QH/AV0BXgFfAf8DwwH/AUsBuQFaAf8BAAGOAQIB/wHdAesB4AH/A/EB/wHX
|
||||
AeUB2gH/Ad8B5wHhAf8CtwG4Af8DWAHBRAADHgErAToBNwH2Af8BRAFBAfoB/wFQAU8C/wE4ATUB9gH/
|
||||
AisBiwH8AwYBCAMGAQgCKwGIAfwBJgEkAfIB/wFCAUEC/wEpAScB9AH/AQ4BDAHpAf8DHgErDAADJAE2
|
||||
AbYBgwEoBf8BCgExAfIB/wEUAVgB8gH/AQ0BkwH0Af8BEQGaAfQB/wEEAVYB8QH/AQABHQHwBf8BtgGD
|
||||
AScB/wMjATMDIwEzAxkBIxAAAyQBNgNHAYIDPwH/A+wB/wP7Af8BAQGYARcB/wE2AbABRwH/A/UB/wEA
|
||||
AZABBgH/AT4BsQFOAf8B3gHfAd4B/wNYAe9IAAMeASsBOgE4AfYB/wFFAUIB+gH/AVMBUAL/ATkBNwH2
|
||||
Af8CKwGLAfwCQAGtAf0BLwEsAfQB/wFHAUYC/wEvAS0B9QH/ARUBEwHrAf8DHgErCAADGQQjATMDMQFP
|
||||
AbYBgwEoA/8B/AH/AQABHgHwAf8BMAFeAfIB/wExAZMB9AH/ARYBgwHyAf8BAAE8AfAB/wEAARIB8AP/
|
||||
AfsB/wG1AYABJAH/AbUBgwErAf8BtgGEAS0B/wJaAVgBwANIAYYBvgLEAf8BvALBAf8BuQG9Ab4B/wG3
|
||||
AboBuwH/AbQCuAH/A0AB/wPuAf8BUAG9AV4B/wEAAZQBDgH/AeUB8QHmAf8BAAGQAQUB/wEFAZoBGwH/
|
||||
AekB7wHqAf8D4gH/A1gB70wAAx4BKwE7ATkB9gH/AUYBQwH6Af8BUwFRAv8BUgFPAv8BTwFNAv8BTQFL
|
||||
Av8BNgE0AfcB/wEeARwB7gH/Ax4BKwwAAloBWAHAAbUBhQEuAf8BtQGEAS0B/wG1AYIBJQP/AfsB/wEA
|
||||
AQMB7gH/AR8BQQHwAf8BPAGFAfMB/wFTAZUB9AH/AYMBmgH2Af8BgAGNAfkD/wH5Af8BtQFbAR8J/wG2
|
||||
AYQBLAH/AcoB0gHTAf8ByQHSAdMB/wHJAdAB0wH/AcgB0QHSAf8BxwHQAdEB/wHGAdAB0QH/AV0CYAH/
|
||||
A8YB/wHPAekB1AH/AeYB9AHpAf8B/QL+Af8BywHmAc8B/wEAAY0BAAH/AUIBtQFSAf8BwAHBAcAB/wNY
|
||||
AcFQAAMeASsBPAE6AfcB/wFYAVUC/wE4ATUC/wE2ATMC/wFRAU8C/wEnASUB8AH/Ax4BKxAAAbUBhAEt
|
||||
Bf8B9gHwAekB/wGyAV4BIgP/Af0B/wIAAewB/wEMAR8B7QH/ASgBPwHwAf8BOwFSAfIB/wFLAVoB9AH/
|
||||
AVEBVAH2A/8B/AH/AbwBWwEfAf8BAAGuAYAF/wG2AYIBKgH/AcoB0gHUAf8BrAKvAf8BhgIAAf8BiwIA
|
||||
Af8BhwIAAf8BiwIAAf8BhgILAf8DkAH/AfIB+QHzCf8B/gH/Af4B/wHLAecB0QH/AasB0QGyAf8DjwH/
|
||||
A0IBdFAAAwYBCAJAAbAB/QFcAVgC/wE9AToC/wE6ATcC/wFVAVMC/wJAAa4B/QMGAQgQAAG0AYIBKgX/
|
||||
AecBmwEUAf8BsQFeASUF/wIAAe0B/wIAAe4B/wEGAQ0B8AH/ARwBJAHyAf8BLwExAfUB/wE9ATwB9wX/
|
||||
AcABXAEiAf8BAAGtAYEF/wG2AYIBKgH/AcwB0wHVAf8BqgGsAa0B/wGbAQoBAAH/AZwBDgECAf8BmwIA
|
||||
Af8BqAIAAf8BsgIAAf8BnAFgAVsB/wOQAf8DxgH/A+4B/wPuAf8DxgH/A5AB/wNaAcADAAEBTAADBgEI
|
||||
AToBNwGRAfwBTwFMAfsB/wGAAV0C/wFdAVoC/wFbAVgC/wFYAVYC/wE9ATsB9wH/AisBiwH8AwYBCAwA
|
||||
AbMBggErBf8B5gGeAR0B/wGvAYABKwP/AfYD/wHtA/8B6wP/AeoD/wHqA/8B6gP/AewD/wHzAf8BwgFc
|
||||
ASMB/wEAAasBXQX/AbYBggEqAf8BzAHTAdUB/wGoAqoB/wGlASIBGAH/AZ8BDQECAf8BowIAAf8BsgIA
|
||||
Af8BwAIAAf8B3wFYAUYB/wG3AYoBggH/AYgBVAFQAf8BRgFAAT8B/wFFAT8BPQH/AV8CYgH/AY8CkAH/
|
||||
AwABAUwAAwYBCAFFAT8BlAH8AVYBUwH9Af8BhgGCAv8BVQFSAfwB/wFDAUEB+AH/AT8BPAH3Af8BTAFJ
|
||||
AfoB/wFaAVgC/wE/ATwB9wH/AisBiwH8AwYBCAgAAbMBggErBf8B8gGhARAB/wG9AYsBNAH/Aa8BgAEt
|
||||
Af8BrwFeAScB/wGwAV0BJQH/Aa8BXAEjAf8BsQFcASEB/wG3AV4BJAH/Ab0BXgEkAf8BwQFdASQB/wGm
|
||||
AZ8BUQH/AVQB0wG9Bf8BtQGCASoB/wHOAdQB1QH/AaICpAH/AawBKQEgAf8BoQIAAf8BrQIAAf8BvgIA
|
||||
Af8BzwELAQAB/wHwAZoBiwH/AfcBtAGoAf8B+QGuAZ4B/wH+AbUBpwH/AfgBpQGSAf8BwgHOAc8B/wGq
|
||||
AqwB/0wAAwYBCAFEAUIBswH9AVwBWQH+Af8BigGHAv8BWwFYAf0B/wFLAUgB+wH/Ax4BKwMeASsBQAE9
|
||||
AfgB/wFNAUsB+gH/AVwBWQL/AUABPgH3Af8CKwGMAfwDBAEFBAABswGCASsF/wHxAZcBAAH/AfgBsgEx
|
||||
Af8B/QHBAVEB/wH+AcoBggH/Af4BzgGKAf8B/QHLAYUF/wG8AV4BJwH/AQwBwAGgAf8BLAHIAaoB/wFC
|
||||
AckBrwH/AUoBygGwBf8BtQGBASkB/wHNAdQB1gH/AaECowH/AagBEAEGAf8BqwIAAf8BwgIAAf8B1QIA
|
||||
Af8B6gElAQgB/wH+AcEBtAL/AcoBvQL/AckBuAL/Ac8BwAH/AfwBvwGrAf8BwwHOAc8B/wGsAa4BrwH/
|
||||
TAADFgEfAVkBVgL/AYEBXQL/AYEBXQH+Af8BUwFQAf0B/wMeASsIAAMeASsBQQE+AfgB/wFOAUwB+wH/
|
||||
AV0BWwL/AUEBPgH4Af8DQAFvAwEBAgGzAYMBKwX/AewBigEAAf8B8QGhARUB/wH1AbEBNAH/AfYBuQFF
|
||||
Af8B9wG/AVEB/wH2Ab8BUQX/AboBWwEjAf8BAAGvAYsB/wETAbYBkwH/ASgBugGdAf8BOAHBAaUF/wG1
|
||||
AYIBKgH/Ac4B1AHWAf8BoAKhAf8BqAIAAf8BuQIAAf8B0AEGAQAB/wHiAgAB/wH4AU8BOgL/AeYB4AL/
|
||||
AeAB2AL/AeUB3AL/AesB4gH/Af0B1QHIAf8BxAHOAdAB/wGvArIB/1AAAxYBHwFZAVYC/wFYAVUB/gH/
|
||||
Ax4BKxAAAx4BKwFDAUAB+AH/AUkBRwH5Af8BUwFSAVMBqAMdASkEAAG0AYMBLAX/AekBXAEAAf8B7QGP
|
||||
AQAB/wHvAZ4BCwH/AfEBqAEhAf8B8wGvATAB/wH0AbUBPQX/AbQBWwEjA/8B+wP/AfYD/wHzA/8B8gP/
|
||||
AfgB/wG1AYQBLgH/Ac4B1AHWAf8BoAKhAf8BrQIAAf8BxAIAAf8B2gIAAf8B8gIAAv8BiAFOAv8B1AG+
|
||||
Av8BxgGqAv8BxAGmAv8BwAGfAf8B+wGvAY0B/wHFAc4B0AH/AbEBtAG1Af9UAAMWAR8DHgErGAADHgEr
|
||||
A0ABbwMpAT4IAAG1AYUBLwP/AfwD/wH9B/8B/gP/AfwD/wH6A/8B9wP/AfkB/wG0AYIBKgH/AbYBhAEt
|
||||
Af8BtgGDASsB/wG1AYIBKwH/AbUBgwErAf8BtQGEAS4B/wNVAbABzgHUAdYB/wGgAqEB/wGgAqEB/wGg
|
||||
AqEB/wGhAaIBowH/AaMCpQH/AaUCpwH/AawCrwH/Aa8CsQH/AbEBtAG1Af8BtAK4Af8BtgG7AbwB/wHF
|
||||
Ac8B0QH/AbMBtwG4Af94AAMHAQoMAAJiAVgB7wG1AYUBLwH/AbMBgwEtAf8BswGDAS0B/wGzAYMBLQH/
|
||||
AbMBgwEsAf8BswGDASwB/wGzAYMBLAH/AbUBhAEuAf8CZAFcAecYAANDAXgBzgHUAdYB/wHOAdQB1gH/
|
||||
Ac4B1AHWAf8BzQHUAdYB/wHNAdMB1QH/Ac0B0wHVAf8BygHSAdQB/wHKAdIB0wH/AckB0QHTAf8ByAHR
|
||||
AdIB/wHHAdAB0QH/AcYBzwHRAf8DTgGVTAADHwEtAzABSwMvAUoDLwFKAy8BSQMyAVEDNgFZAzYBWQM2
|
||||
AVkDNgFZAzYBWQM1AVcDMQFOAyYBOQsAAf8DAAH/AwAB/wsAAf8DAAH/AwAB/wMAAf8DAAH/GAADFAEc
|
||||
AyABLgMgAS4DIAEuARABEwEfAf8DWQHHA0IBdAM3AVsDNQFYAzMBUgMvAUoDKwFCAyABLgMUARxIAANS
|
||||
AaQE/wH1AfQB8wH/AfYB9QH0Bf8BMgExATMB/wEJAQgBCwX/AfsC+gH/AvsB+gH/AfsC+gX/ApYBlwH/
|
||||
A1oB2AgAA4YB/wPAAf8DAAH/AwAB/wOGCf8DwAH/AQAD/wEAAf8BAAH/AwAB/xgAAeIBuAGZAf8B4gG5
|
||||
AZgB/wHiAbgBmQH/AT0BTAGdAf8BNQFFAZIB/wExAUABkgH/ASABQwGeAf8BygGsAZgB/wHiAbgBmAH/
|
||||
AeIBuQGZAf8B4gG5AZgB/wHiAbgBmAH/GAADDAEQA0QBewJdAVoBygJZAUIB9QFiAV4BSAH2AlwBWQHM
|
||||
A0UBfQMNAREUAANQAZ4B+wH6AfkB/wHuAu0B/wHwAe8B7gH/Af4B/QH8Af8BMQEwATIB/wQAAvAB7wH/
|
||||
AugB5wH/AugB5wH/AugB5wH/AfUB9AHzAf8BjwGOAY8B/wNaAeQIAAOGAf8DwAH/AwAB/wOGAf8DwAH/
|
||||
A8AF/wPAAf8BAAH/AQAB/wPAAf8DwAH/AwAB/xQAAeMBuwGbAf8B+AHgAb4B/wH4AeABvgH/AZsBnwGu
|
||||
Af8BSQFbAakB/wE3AVMBoAH/AQABSgGwAf8BAAFTAb8B/wH4AeEBvgH/AfgB4AG/Af8B+AHhAb4B/wHj
|
||||
AboBmgH/FAADNAFUAl0BTgHwAYABRAEAAf8BgAFEAQAB/wGAAUQBAAH/AYABRAEAAf8BgAFEAQAB/wJf
|
||||
AUwB8wJYAVYBwQMhATAQAANQAZ4B+wL6Af8B7wHuAe0B/wLwAe8B/wH+Af0B/AH/AYYBhAGFAf8BFQEU
|
||||
ARUB/wL1AfQB/wLtAewB/wLtAewB/wHuAe0B7AH/AvoB+QH/AZQBkwGUAf8DWwHhCAADhgH/A8AB/wMA
|
||||
Af8DhgH/A8AB/wPAAf8DwAH/AwAB/wEAAf8BAAP/AQAD/wEAAf8DAAH/FAAB5AG9AZwB/wH4AeEBvwH/
|
||||
AfMB1gGyAf8BwgG4Aa4B/wE2AVYBrAH/AQgBwAH4Af8BAAGXAdcB/wEAAVUB1AH/AQABVQHBAf8B8wHW
|
||||
AbIB/wH4AeEBvwH/AeQBvQGdAf8QAAM0AVQBhAFHAQAB/wGHAUoBAAH/AYcBSgEAAf8BhwFKAQAB/wGH
|
||||
AUoBAAH/AX8BawESAf4CXQFOAfACWgFXAcUDSwGOAjUBNAFVAwoBDQwAA1ABngH9AfwB+wH/AvAB7wH/
|
||||
AfIC8QH/Af4C/QH/AZIBkAGRAf8BBwEFAQYB/wGsAasBqgH/AawBqwGqAf8BrAGrAaoB/wGqAqkB/wGt
|
||||
AawBqwH/AR8BHQEeAf8DWwHhCAADhgH/A8AB/wMAAf8DhgH/A8AB/wPAA/8BAAH/AwAB/wMAAf8DwAH/
|
||||
A8AB/wMAAf8UAAHmAcABnwH/AfgB4gHBAf8B2QG+AZ0B/wHZAb4BngH/AZYBpwGrAf8BAAFRAcQB/wED
|
||||
AdMC/wEAAbMB7gH/AQABVQHUAf8BAAFXAcIB/wH4AeEBwAH/AeYBwAGfAf8MAAMNARICXQFOAfABkAFR
|
||||
AQAB/wGQAVEBAAH/AZABUQEAAf8BmQFYAQAB/wGWAVYBAAH/AmABWQHrAlkBVgG+A0gBhgIxATABTQMU
|
||||
ARwDAQECDAADUAGeAf4C/QH/AfIB8QHwAf8C8wHyAv8C/gH/AZ0CnAH/AwAB/wELAQkBCAH/AQ0BCgEJ
|
||||
Af8BDQIKAf8BCgIIAf8BAgIAAf8DAAH/A1sB4QgAA4YF/wMAAf8DhgP/AQAB/wPAA/8BAAH/AQAH/wPA
|
||||
Af8DwAH/AwAB/wMAAf8DAAH/DAAB5wHDAaIB/wH4AeMBwgH/AfYB3QG6Af8B+AHjAcMB/wH4AeMBwgH/
|
||||
AbYBxQHDAf8BAAFRAcQB/wEDAdMC/wEEAcYB9gH/AQABVQHUAf8BAAFbAcoB/wHoAcMBogH/AwABAQgA
|
||||
A0UBfQGZAVgBAAH/AZkBWQEAAf8BmgFZAQAB/wJkAVMB8QM7AWMDDQERAwoBDQMkATUDKwFCAxABFgMA
|
||||
AQEQAANQAZ4C/wH+Af8B8wLyAf8C9AHzA/8B/gH/AaMCogH/AQkBBgEFAf8BMQEvAS0B/wHPAc4BzQH/
|
||||
AccBxQHEAf8BqQGnAaYB/wGdAZsBmgH/AYsBiQGKAf8DWwHhCAADhgX/AwAB/wPAAf8DhgP/AQAD/wEA
|
||||
Af8BAAv/AwAB/wPAAf8DwAH/A8AB/wMAAf8IAAHqAcYBpAH/AfgB5AHEAf8B3AHCAaQB/wHcAcQBpgH/
|
||||
AdwBxAGmAf8B3AHFAaYB/wGhAa4BrwH/AQABUQHEAf8BmAHsAv8BBAHGAfYB/wEAAVUB1AH/Al0BVAH/
|
||||
AygBPAgAAlwBWgHNAaMBggEAAf8BowGCAQAB/wGlAYMBAAH/AzsBYxAAAwQBBRgAA1ABngT/AfQC8wH/
|
||||
A/UF/wGoAaYBpQH/AQECAAH/ASMCIgH/AeYC5QH/AfEC8AH/AacBpgGlAf8BKwEoAScB/wGaApgB/wNc
|
||||
AecIAAOGBf8DAAH/A8AB/wPAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wOGAf8DhgH/A4YB/wPAAf8DAAH/
|
||||
CAAB7AHKAagB/wH4AeUBxgH/AfkB5AHGAf8B+QHlAcUB/wH5AeQBxgH/AfgB5AHGAf8B9wHjAcUB/wG8
|
||||
AcgBxgH/AQABUQHEAf8BlgHqAf4B/wK3AawB/wFNAU4BQAH/Al0BVAH/CAACWQFCAfUBrgGLAQAB/wGu
|
||||
AYsBAAH/AZ8BXQEAAf8DDQERLAADUAGeBP8C9QH0Af8C9wH2Bf8BrAKqAf8BBgEEAQMB/wEkASIBIwH/
|
||||
Ac8BzQHMAf8B1AHSAdEB/wG0ArIB/wGqAacBpgH/A2oB+QNXAb0IAAOGAf8DhgH/AwAB/wPAAf8DwAH/
|
||||
A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DwAH/AwAB/wgAAe4BzQGrAf8B+AHmAccB/wHf
|
||||
AcgBqgH/Ad4ByAGqAf8B3wHIAasB/wHfAccBqwH/AdsBwwGmAf8B2gHCAaQB/wGrAbABqwH/AY4BjwGE
|
||||
Af8B4AHiAdMB/wKJAV4B/wEAAUQB3gH/AVUCXAHqBAACWQFCAfUBuQGUAQAB/wG5AZQBAAH/AacBhAEA
|
||||
Af8DDQERCAADTAGSAakBhgEAAf8BowGCAQAB/wGjAYIBAAH/AaMBggEAAf8BowGCAQAB/wJfAUwB8wgA
|
||||
A1ABngT/AfcC9gH/A/gB/wP6Af8D8AH/AeoC6QH/A/AB/wP3Af8D9gH/AvoB+QH/A1gBuQMXASADBwEJ
|
||||
BAADhgn/A4YB/wPAAf8DwAH/A4YB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DhgH/AwAB/wgA
|
||||
AfAB0AGtAf8B+QHmAckB/wH4AeYByQH/AfkB5gHJAf8B+QHmAckB/wH3AeUByQH/AfAB2QG9Af8B6QHP
|
||||
AbMB/wHoAc4BsgH/AcwBuQGvAf8CiQFeAf8BMwGWAeoB/wEhAYUB4AH/AVoCXQHTBAACXAFaAc0BwwGc
|
||||
AQAB/wHDAZwBAAH/Ab8BmAEAAf8DOwFjCAADDAEQAlsBWALLAaIBAgH/AcMBnAEAAf8BwwGcAQAB/wHD
|
||||
AZwBAAH/AakBhgEAAf8IAANQAZ4E/wL4AfcB/wP5Af8D+gH/Av4B/RX/A1YBqxAAA4YB/wOGAf8DhgH/
|
||||
A4YB/wPAAf8DhgH/AcwCLAL/AcwBLAH/AcwBmQEAAf8BzAGZAQAC/wEsAQAB/wHMASwBAAX/A4YB/wMA
|
||||
Af8IAAHxAdMBsQH/AfkB5wHLAf8B4gHMAbAB/wHiAcsBrwH/AeEBzAGvAf8B4QHKAa8B/wHXAb4BoQH/
|
||||
AdUBugGcAf8B1AG5AZ0B/wHUAbkBnQH/AbYBrwG0Af8BUwGSAcQB/wNIAYYIAAJGAUUBfgHSAagBAwH/
|
||||
Ac0BpAEDAf8BzQGkAQMB/wJkAVMB8QM7AWMDDQERAw0BEQNBAXIBvwGYAQAB/wHNAaQBAwH/Ac0BpAED
|
||||
Af8BzQGkAQMB/wGwAYwBAAH/CAADUAGeBP8C+QH4Af8D+gH/A/wB/wP9Af8D/gX/AfwC/QH/AfQC9QH/
|
||||
A/oB/wNWAbMYAAOGCf8DhgH/AcwCLAP/ASwC/wHMASwB/wHMAZkBAAH/AcwBmQEAAv8BLAEABf8DhgH/
|
||||
AwAB/wgAAfMB1wG0Af8B+QHnAcwB/wH4AecBzAH/AfkB6AHMAf8B+QHoAcwB/wH3AeUBygH/AecBzwG1
|
||||
Af8B8gHeAcYB/wHzAeAByAH/AfcB6AHTAf8DWgHFAe8B0AGuAf8DAQECAwABAQQAAw8BFAJdAU4B8AHY
|
||||
Aa0BBQH/AdcBrAEFAf8B1wGsAQUB/wHRAacBAwH/Ab0BlwEAAf8BvQGXAQAB/wHRAacBAwH/AdcBrAEF
|
||||
Af8B1wGsAQUB/wHXAawBBQH/AdcBrAEFAf8BtgGRAQAB/wgAA1ABngT/A/oB/wP8Af8D/QH/A/4F/wH+
|
||||
Af8B/gH/A+oB/wLXAdgB/wHdAt4B/wM7AWQcAAOGAf8DhgH/A4YB/wHMAiwD/wEsA/8BLAL/AcwBLAH/
|
||||
AcwBmQEAAf8BzAGZAQAF/wOGAf8DAAH/CAAB9AHZAbUB/wH5AegBzQH/AeQBzwG0Af8B5AHPAbQB/wHk
|
||||
Ac8BtAH/AeMBzgGzAf8B3QHGAakB/wH5AegBzgH/AfkB6AHOAf8DXAHMAfEB0wGxAf8DJgE4EAACNQE0
|
||||
AVUB2wGxAQUB/wHfAbMBBwH/Ad4BswEHAf8B3gGzAQcB/wHeAbMBBwH/Ad4BswEHAf8B3gGzAQcB/wHe
|
||||
AbMBBwH/Ad8BswEHAf8B3AGyAQUB/wHmAboBCQH/AbsBlQEAAf8IAANQAZ4E/wP8Af8D/Qn/A/0B/wL6
|
||||
AfsB/wHrAuwB/wL6AfsB/wNCAXMoAAOGAf8BzAIsAv8BzAEsA/8BLAP/ASwC/wHMASwB/wHMAZkBAAX/
|
||||
A4YB/wMAAf8IAAH2AdsBuAH/AfkB6QHPAf8B+QHpAc4B/wH5AegBzgH/AfgB6AHOAf8B9gHlAcwB/wHu
|
||||
AdoBvwH/AfkB6AHOAf8DYAHeAfQB2QG1Af8DJgE4GAACNQE0AVUCXQFOAfAB7QHCAQsB/wHmAbkBCQH/
|
||||
AeYBuAEJAf8B5gG4AQkB/wHmAbkBCQH/Ae0BwgELAf8CZAFTAfECOgE5AWACWwFYAcsBxwGgAQAB/wgA
|
||||
A1QBphz/AesC7AH/A0IBcywAA4YB/wHMAiwB/wHMASwBAAH/AcwBLAEAAf8BzAEsAQAB/wHMASwBAAH/
|
||||
AcwBLAEABf8DhgH/AwAB/wgAAfcB3QG6Af8B+QHpAc8B/wH5AekBzwH/AfkB6QHPAf8B+QHpAc8B/wH3
|
||||
AeYBzQH/Ae0B2AG9Af8B+QHoAc4B/wH3Ad0BuAH/AyYBOCAAAwwBEANFAX0CXAFZAcwBcwFuAT4B+AF6
|
||||
AWoBQQH5Al4BXAHOAkYBRQF+Aw0BEgQAAwwBEANMAZIIAAMmBDgBXAM4AVwDOAFcAzgBXAM4AVwDOAFc
|
||||
AzgBXAMpAT8wAAOGAf8D1wH/A9cB/wPXAf8D1wH/A9cB/wPXAf8D1wH/A4YB/wMAAf8IAAH4Ad8BuwH/
|
||||
AfgB3wG7Af8B+AHfAbsB/wH4Ad8BuwH/AfgB3wG7Af8B+AHfAbsB/wH4Ad8BuwH/AfgB3wG7Af8DJgE4
|
||||
VAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/wEAAv8B4AEHAf4BAQIAAucBwAEH
|
||||
AfwDAALDAcABBwHgAwACgQHAAQcB4AMAAYABAQHAAQAB8AMAAcABAwYAAeABBwYAAfABDwYAAfABDwYA
|
||||
AeABBwMAAQECAAHAAQMDAAEDAgABgAEBAwABAwIAAYEBgAMAAQMCAAHDAcEDAAEDAgAB5wHjAwABAwIA
|
||||
Af8B9wEAAT8BAAEDAgABgAEBAYwBHwGAAQEC/wGAAQEBgAEPAcABAwHwAQ8BgQEBAYABBwHAAQMB4AEH
|
||||
AYABAQGAAQcBwAEDAcABAwGAAQEBgAEHAcABAwGAAQMBgAEBAYABAQHAAQEBgAEHAYABAQGAAQABwAEB
|
||||
AYMB3wGAAQEBgAEAAcABAQGDAf8BgAEBAYABAAHAAQABgwEBAYABAQIAAcABAAGDAQEBgAEHAYABAAHA
|
||||
AQEBgAEBAYABBwHgAQABwAEAAYABAQGAAQcB8AEAAcABAwHAAQEBgAEPAfwBAAHAAQcB4AEBAYABHwH8
|
||||
AQABwAEPAfABCQGAAT8B/AEAAcABHwL/Cw==
|
||||
AfABtgGEASgB/wG1AYMBJAH/AbYBggEjAf8BtgGCASMB/wG2AYIBIwH/AbYBggEjAf8BtQGDASQB/wG2
|
||||
AYQBKAH/AloBWAHAJwABAQNaAcADiwH/AbkCugH/A9wB/wPZAf8DtQH/AYYChwH/A1oBwAMAAQFIAAMq
|
||||
AUEBKgEnAfIB/wJAAakB/QMGAQgQAAMGAQgCKwF9AfwBDAEKAeoB/wMqAUEQAAMpAT8BtgGEASgh/wG2
|
||||
AYQBKAH/GAABuQK/Af8BuQK/Af8BsgK3Af8BiwGNAY4B/wGNAY4BjQH/AcUB4AHLAf8BzgHjAdIB/wHu
|
||||
Au8B/wHsAe0B7AH/AeoC6QH/A+cB/wOHAf8DQgF0RAADKgFBATMBMQH1Af8BPgE8AfoB/wEzATAB9gH/
|
||||
AisBfwH8AwYBCAgAAwYBCAIrAX0B/AEcARoB8QH/AScBJQH2Af8BDAEKAeoB/wMqAUEMAAMnATsBtQGD
|
||||
ASQF/wEAARsB8gH/AQABQQHzAf8BAAGaAfYB/wEEAaYB+AH/AQABUAH0Af8BAAEWAfIF/wG1AYMBJAH/
|
||||
GAADRwGCA9gB/wHNAdQB1QH/AVkBWgFbAf8DwwH/AUcBuQFWAf8BAAGOAQAB/wHdAesB4AH/A/EB/wHX
|
||||
AeUB2gH/Ad8B5wHhAf8CtwG4Af8DWAHBRAADHgErATYBMwH2Af8BQAE9AfoB/wFMAUsC/wE0ATEB9gH/
|
||||
AisBfwH8AwYBCAMGAQgCKwF+AfwBIgEgAfIB/wE+AT0C/wElASMB9AH/AQoBCAHpAf8DHgErDAADJAE2
|
||||
AbYBgwEkBf8BBgEtAfIB/wEQAVQB8gH/AQkBkwH0Af8BDQGaAfQB/wEAAVIB8QH/AQABGQHwBf8BtgGD
|
||||
ASMB/wMjATMDIwEzAxkBIxAAAyQBNgNHAYIDOwH/A+wB/wP7Af8BAAGYARMB/wEyAbABQwH/A/UB/wEA
|
||||
AZABAgH/AToBsQFKAf8B3gHfAd4B/wNYAe9IAAMeASsBNgE0AfYB/wFBAT4B+gH/AU8BTAL/ATUBMwH2
|
||||
Af8CKwF/AfwCQAGpAf0BKwEoAfQB/wFDAUIC/wErASkB9QH/AREBDwHrAf8DHgErCAADGQQjATMDMQFP
|
||||
AbYBgwEkA/8B/AH/AQABGgHwAf8BLAFaAfIB/wEtAZMB9AH/ARIBgwHyAf8BAAE4AfAB/wEAAQ4B8AP/
|
||||
AfsB/wG1AYABIAH/AbUBgwEnAf8BtgGEASkB/wJaAVgBwANIAYYBvgLEAf8BvALBAf8BuQG9Ab4B/wG3
|
||||
AboBuwH/AbQCuAH/AzwB/wPuAf8BTAG9AVoB/wEAAZQBCgH/AeUB8QHmAf8BAAGQAQEB/wEBAZoBFwH/
|
||||
AekB7wHqAf8D4gH/A1gB70wAAx4BKwE3ATUB9gH/AUIBPwH6Af8BTwFNAv8BTgFLAv8BSwFJAv8BSQFH
|
||||
Av8BMgEwAfcB/wEaARgB7gH/Ax4BKwwAAloBWAHAAbUBhQEqAf8BtQGEASkB/wG1AYIBIQP/AfsB/wIA
|
||||
Ae4B/wEbAT0B8AH/ATgBhQHzAf8BTwGVAfQB/wGDAZoB9gH/AYABjQH5A/8B+QH/AbUBVwEbCf8BtgGE
|
||||
ASgB/wHKAdIB0wH/AckB0gHTAf8ByQHQAdMB/wHIAdEB0gH/AccB0AHRAf8BxgHQAdEB/wFZAlwB/wPG
|
||||
Af8BzwHpAdQB/wHmAfQB6QH/Af0C/gH/AcsB5gHPAf8BAAGNAQAB/wE+AbUBTgH/AcABwQHAAf8DWAHB
|
||||
UAADHgErATgBNgH3Af8BVAFRAv8BNAExAv8BMgEvAv8BTQFLAv8BIwEhAfAB/wMeASsQAAG1AYQBKQX/
|
||||
AfYB8AHpAf8BsgFaAR4D/wH9Af8CAAHsAf8BCAEbAe0B/wEkATsB8AH/ATcBTgHyAf8BRwFWAfQB/wFN
|
||||
AVAB9gP/AfwB/wG8AVcBGwH/AQABrgGABf8BtgGCASYB/wHKAdIB1AH/AawCrwH/AYYCAAH/AYsCAAH/
|
||||
AYcCAAH/AYsCAAH/AYYCBwH/A5AB/wHyAfkB8wn/Af4B/wH+Af8BywHnAdEB/wGrAdEBsgH/A48B/wNC
|
||||
AXRQAAMGAQgCQAGsAf0BWAFUAv8BOQE2Av8BNgEzAv8BUQFPAv8CQAGqAf0DBgEIEAABtAGCASYF/wHn
|
||||
AZsBEAH/AbEBWgEhBf8CAAHtAf8CAAHuAf8BAgEJAfAB/wEYASAB8gH/ASsBLQH1Af8BOQE4AfcF/wHA
|
||||
AVgBHgH/AQABrQGBBf8BtgGCASYB/wHMAdMB1QH/AaoBrAGtAf8BmwEGAQAB/wGcAQoBAAH/AZsCAAH/
|
||||
AagCAAH/AbICAAH/AZwBXAFXAf8DkAH/A8YB/wPuAf8D7gH/A8YB/wOQAf8DWgHAAwABAUwAAwYBCAE2
|
||||
ATMBhQH8AUsBSAH7Af8BgAFZAv8BWQFWAv8BVwFUAv8BVAFSAv8BOQE3AfcB/wIrAX8B/AMGAQgMAAGz
|
||||
AYIBJwX/AeYBngEZAf8BrwGAAScD/wH2A/8B7QP/AesD/wHqA/8B6gP/AeoD/wHsA/8B8wH/AcIBWAEf
|
||||
Af8BAAGrAVkF/wG2AYIBJgH/AcwB0wHVAf8BqAKqAf8BpQEeARQB/wGfAQkBAAH/AaMCAAH/AbICAAH/
|
||||
AcACAAH/Ad8BVAFCAf8BtwGKAYIB/wGIAVABTAH/AUIBPAE7Af8BQQE7ATkB/wFbAl4B/wGPApAB/wMA
|
||||
AQFMAAMGAQgBPgE7AYgB/AFSAU8B/QH/AYYBggL/AVEBTgH8Af8BPwE9AfgB/wE7ATgB9wH/AUgBRQH6
|
||||
Af8BVgFUAv8BOwE4AfcB/wIrAX8B/AMGAQgIAAGzAYIBJwX/AfIBoQEMAf8BvQGLATAB/wGvAYABKQH/
|
||||
Aa8BWgEjAf8BsAFZASEB/wGvAVgBHwH/AbEBWAEdAf8BtwFaASAB/wG9AVoBIAH/AcEBWQEgAf8BpgGf
|
||||
AU0B/wFQAdMBvQX/AbUBggEmAf8BzgHUAdUB/wGiAqQB/wGsASUBHAH/AaECAAH/Aa0CAAH/Ab4CAAH/
|
||||
Ac8BBwEAAf8B8AGaAYsB/wH3AbQBqAH/AfkBrgGeAf8B/gG1AacB/wH4AaUBkgH/AcIBzgHPAf8BqgKs
|
||||
Af9MAAMGAQgCQAGvAf0BWAFVAf4B/wGKAYcC/wFXAVQB/QH/AUcBRAH7Af8DHgErAx4BKwE8ATkB+AH/
|
||||
AUkBRwH6Af8BWAFVAv8BPAE6AfcB/wIrAYAB/AMEAQUEAAGzAYIBJwX/AfEBlwEAAf8B+AGyAS0B/wH9
|
||||
AcEBTQH/Af4BygGCAf8B/gHOAYoB/wH9AcsBhQX/AbwBWgEjAf8BCAHAAaAB/wEoAcgBqgH/AT4ByQGv
|
||||
Af8BRgHKAbAF/wG1AYEBJQH/Ac0B1AHWAf8BoQKjAf8BqAEMAQIB/wGrAgAB/wHCAgAB/wHVAgAB/wHq
|
||||
ASEBBAH/Af4BwQG0Av8BygG9Av8ByQG4Av8BzwHAAf8B/AG/AasB/wHDAc4BzwH/AawBrgGvAf9MAAMW
|
||||
AR8BVQFSAv8BgQFZAv8BgQFZAf4B/wFPAUwB/QH/Ax4BKwgAAx4BKwE9AToB+AH/AUoBSAH7Af8BWQFX
|
||||
Av8BPQE6AfgB/wNAAW8DAQECAbMBgwEnBf8B7AGKAQAB/wHxAaEBEQH/AfUBsQEwAf8B9gG5AUEB/wH3
|
||||
Ab8BTQH/AfYBvwFNBf8BugFXAR8B/wEAAa8BiwH/AQ8BtgGTAf8BJAG6AZ0B/wE0AcEBpQX/AbUBggEm
|
||||
Af8BzgHUAdYB/wGgAqEB/wGoAgAB/wG5AgAB/wHQAQIBAAH/AeICAAH/AfgBSwE2Av8B5gHgAv8B4AHY
|
||||
Av8B5QHcAv8B6wHiAf8B/QHVAcgB/wHEAc4B0AH/Aa8CsgH/UAADFgEfAVUBUgL/AVQBUQH+Af8DHgEr
|
||||
EAADHgErAT8BPAH4Af8BRQFDAfkB/wFTAVIBUwGoAx0BKQQAAbQBgwEoBf8B6QFYAQAB/wHtAY8BAAH/
|
||||
Ae8BngEHAf8B8QGoAR0B/wHzAa8BLAH/AfQBtQE5Bf8BtAFXAR8D/wH7A/8B9gP/AfMD/wHyA/8B+AH/
|
||||
AbUBhAEqAf8BzgHUAdYB/wGgAqEB/wGtAgAB/wHEAgAB/wHaAgAB/wHyAgAC/wGIAUoC/wHUAb4C/wHG
|
||||
AaoC/wHEAaYC/wHAAZ8B/wH7Aa8BjQH/AcUBzgHQAf8BsQG0AbUB/1QAAxYBHwMeASsYAAMeASsDQAFv
|
||||
AykBPggAAbUBhQErA/8B/AP/Af0H/wH+A/8B/AP/AfoD/wH3A/8B+QH/AbQBggEmAf8BtgGEASkB/wG2
|
||||
AYMBJwH/AbUBggEnAf8BtQGDAScB/wG1AYQBKgH/A1UBsAHOAdQB1gH/AaACoQH/AaACoQH/AaACoQH/
|
||||
AaEBogGjAf8BowKlAf8BpQKnAf8BrAKvAf8BrwKxAf8BsQG0AbUB/wG0ArgB/wG2AbsBvAH/AcUBzwHR
|
||||
Af8BswG3AbgB/3gAAwcBCgwAAmIBWAHvAbUBhQErAf8BswGDASkB/wGzAYMBKQH/AbMBgwEpAf8BswGD
|
||||
ASgB/wGzAYMBKAH/AbMBgwEoAf8BtQGEASoB/wJkAVwB5xgAA0MBeAHOAdQB1gH/Ac4B1AHWAf8BzgHU
|
||||
AdYB/wHNAdQB1gH/Ac0B0wHVAf8BzQHTAdUB/wHKAdIB1AH/AcoB0gHTAf8ByQHRAdMB/wHIAdEB0gH/
|
||||
AccB0AHRAf8BxgHPAdEB/wNOAZVMAAMfAS0DMAFLAy8BSgMvAUoDLwFJAzIBUQM2AVkDNgFZAzYBWQM2
|
||||
AVkDNgFZAzUBVwMxAU4DJgE5CwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/wMAAf8YAAMUARwDIAEu
|
||||
AyABLgMgAS4BDAEPARsB/wNZAccDQgF0AzcBWwM1AVgDMwFSAy8BSgMrAUIDIAEuAxQBHEgAA1IBpAT/
|
||||
AfUB9AHzAf8B9gH1AfQF/wEuAS0BLwH/AQUBBAEHBf8B+wL6Af8C+wH6Af8B+wL6Bf8ClgGXAf8DWgHY
|
||||
CAADhgH/A8AB/wMAAf8DAAH/A4YJ/wPAAf8BAAP/AQAB/wEAAf8DAAH/GAAB4gG4AZkB/wHiAbkBmAH/
|
||||
AeIBuAGZAf8BOQFIAZ0B/wExAUEBkgH/AS0BPAGSAf8BHAE/AZ4B/wHKAawBmAH/AeIBuAGYAf8B4gG5
|
||||
AZkB/wHiAbkBmAH/AeIBuAGYAf8YAAMMARADRAF7Al0BWgHKAlkBQgH1AWIBXgFIAfYCXAFZAcwDRQF9
|
||||
Aw0BERQAA1ABngH7AfoB+QH/Ae4C7QH/AfAB7wHuAf8B/gH9AfwB/wEtASwBLgH/BAAC8AHvAf8C6AHn
|
||||
Af8C6AHnAf8C6AHnAf8B9QH0AfMB/wGPAY4BjwH/A1oB5AgAA4YB/wPAAf8DAAH/A4YB/wPAAf8DwAX/
|
||||
A8AB/wEAAf8BAAH/A8AB/wPAAf8DAAH/FAAB4wG7AZsB/wH4AeABvgH/AfgB4AG+Af8BmwGfAa4B/wFF
|
||||
AVcBqQH/ATMBTwGgAf8BAAFGAbAB/wEAAU8BvwH/AfgB4QG+Af8B+AHgAb8B/wH4AeEBvgH/AeMBugGa
|
||||
Af8UAAM0AVQCXQFOAfABgAFAAQAB/wGAAUABAAH/AYABQAEAAf8BgAFAAQAB/wGAAUABAAH/Al8BTAHz
|
||||
AlgBVgHBAyEBMBAAA1ABngH7AvoB/wHvAe4B7QH/AvAB7wH/Af4B/QH8Af8BhgGEAYUB/wERARABEQH/
|
||||
AvUB9AH/Au0B7AH/Au0B7AH/Ae4B7QHsAf8C+gH5Af8BlAGTAZQB/wNbAeEIAAOGAf8DwAH/AwAB/wOG
|
||||
Af8DwAH/A8AB/wPAAf8DAAH/AQAB/wEAA/8BAAP/AQAB/wMAAf8UAAHkAb0BnAH/AfgB4QG/Af8B8wHW
|
||||
AbIB/wHCAbgBrgH/ATIBUgGsAf8BBAHAAfgB/wEAAZcB1wH/AQABUQHUAf8BAAFRAcEB/wHzAdYBsgH/
|
||||
AfgB4QG/Af8B5AG9AZ0B/xAAAzQBVAGEAUMBAAH/AYcBRgEAAf8BhwFGAQAB/wGHAUYBAAH/AYcBRgEA
|
||||
Af8BfwFrARIB/gJdAU4B8AJaAVcBxQNLAY4CNQE0AVUDCgENDAADUAGeAf0B/AH7Af8C8AHvAf8B8gLx
|
||||
Af8B/gL9Af8BkgGQAZEB/wEDAQEBAgH/AawBqwGqAf8BrAGrAaoB/wGsAasBqgH/AaoCqQH/Aa0BrAGr
|
||||
Af8BGwEZARoB/wNbAeEIAAOGAf8DwAH/AwAB/wOGAf8DwAH/A8AD/wEAAf8DAAH/AwAB/wPAAf8DwAH/
|
||||
AwAB/xQAAeYBwAGfAf8B+AHiAcEB/wHZAb4BnQH/AdkBvgGeAf8BlgGnAasB/wEAAU0BxAH/AQAB0wL/
|
||||
AQABswHuAf8BAAFRAdQB/wEAAVMBwgH/AfgB4QHAAf8B5gHAAZ8B/wwAAw0BEgJdAU4B8AGQAU0BAAH/
|
||||
AZABTQEAAf8BkAFNAQAB/wGZAVQBAAH/AZYBUgEAAf8CYAFZAesCWQFWAb4DSAGGAjEBMAFNAxQBHAMB
|
||||
AQIMAANQAZ4B/gL9Af8B8gHxAfAB/wLzAfIC/wL+Af8BnQKcAf8DAAH/AQcBBQEEAf8BCQEGAQUB/wEJ
|
||||
AgYB/wEGAgQB/wMAAf8DAAH/A1sB4QgAA4YF/wMAAf8DhgP/AQAB/wPAA/8BAAH/AQAH/wPAAf8DwAH/
|
||||
AwAB/wMAAf8DAAH/DAAB5wHDAaIB/wH4AeMBwgH/AfYB3QG6Af8B+AHjAcMB/wH4AeMBwgH/AbYBxQHD
|
||||
Af8BAAFNAcQB/wEAAdMC/wEAAcYB9gH/AQABUQHUAf8BAAFXAcoB/wHoAcMBogH/AwABAQgAA0UBfQGZ
|
||||
AVQBAAH/AZkBVQEAAf8BmgFVAQAB/wJkAVMB8QM7AWMDDQERAwoBDQMkATUDKwFCAxABFgMAAQEQAANQ
|
||||
AZ4C/wH+Af8B8wLyAf8C9AHzA/8B/gH/AaMCogH/AQUBAgEBAf8BLQErASkB/wHPAc4BzQH/AccBxQHE
|
||||
Af8BqQGnAaYB/wGdAZsBmgH/AYsBiQGKAf8DWwHhCAADhgX/AwAB/wPAAf8DhgP/AQAD/wEAAf8BAAv/
|
||||
AwAB/wPAAf8DwAH/A8AB/wMAAf8IAAHqAcYBpAH/AfgB5AHEAf8B3AHCAaQB/wHcAcQBpgH/AdwBxAGm
|
||||
Af8B3AHFAaYB/wGhAa4BrwH/AQABTQHEAf8BmAHsAv8BAAHGAfYB/wEAAVEB1AH/AlkBUAH/AygBPAgA
|
||||
AlwBWgHNAaMBggEAAf8BowGCAQAB/wGlAYMBAAH/AzsBYxAAAwQBBRgAA1ABngT/AfQC8wH/A/UF/wGo
|
||||
AaYBpQH/AwAB/wEfAh4B/wHmAuUB/wHxAvAB/wGnAaYBpQH/AScBJAEjAf8BmgKYAf8DXAHnCAADhgX/
|
||||
AwAB/wPAAf8DwAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DhgH/A4YB/wOGAf8DwAH/AwAB/wgAAewBygGo
|
||||
Af8B+AHlAcYB/wH5AeQBxgH/AfkB5QHFAf8B+QHkAcYB/wH4AeQBxgH/AfcB4wHFAf8BvAHIAcYB/wEA
|
||||
AU0BxAH/AZYB6gH+Af8CtwGsAf8BSQFKATwB/wJZAVAB/wgAAlkBQgH1Aa4BiwEAAf8BrgGLAQAB/wGf
|
||||
AVkBAAH/Aw0BESwAA1ABngT/AvUB9AH/AvcB9gX/AawCqgH/AQICAAH/ASABHgEfAf8BzwHNAcwB/wHU
|
||||
AdIB0QH/AbQCsgH/AaoBpwGmAf8DagH5A1cBvQgAA4YB/wOGAf8DAAH/A8AB/wPAAf8DhgH/A4YB/wOG
|
||||
Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wPAAf8DAAH/CAAB7gHNAasB/wH4AeYBxwH/Ad8ByAGqAf8B3gHI
|
||||
AaoB/wHfAcgBqwH/Ad8BxwGrAf8B2wHDAaYB/wHaAcIBpAH/AasBsAGrAf8BjgGPAYQB/wHgAeIB0wH/
|
||||
AokBWgH/AQABQAHeAf8BVQJcAeoEAAJZAUIB9QG5AZQBAAH/AbkBlAEAAf8BpwGEAQAB/wMNAREIAANM
|
||||
AZIBqQGGAQAB/wGjAYIBAAH/AaMBggEAAf8BowGCAQAB/wGjAYIBAAH/Al8BTAHzCAADUAGeBP8B9wL2
|
||||
Af8D+AH/A/oB/wPwAf8B6gLpAf8D8AH/A/cB/wP2Af8C+gH5Af8DWAG5AxcBIAMHAQkEAAOGCf8DhgH/
|
||||
A8AB/wPAAf8DhgH/A8AB/wPAAf8DwAH/A8AB/wPAAf8DwAH/A8AB/wOGAf8DAAH/CAAB8AHQAa0B/wH5
|
||||
AeYByQH/AfgB5gHJAf8B+QHmAckB/wH5AeYByQH/AfcB5QHJAf8B8AHZAb0B/wHpAc8BswH/AegBzgGy
|
||||
Af8BzAG5Aa8B/wKJAVoB/wEvAZYB6gH/AR0BhQHgAf8BWgJdAdMEAAJcAVoBzQHDAZwBAAH/AcMBnAEA
|
||||
Af8BvwGYAQAB/wM7AWMIAAMMARACWwFYAssBogEAAf8BwwGcAQAB/wHDAZwBAAH/AcMBnAEAAf8BqQGG
|
||||
AQAB/wgAA1ABngT/AvgB9wH/A/kB/wP6Af8C/gH9Ff8DVgGrEAADhgH/A4YB/wOGAf8DhgH/A8AB/wOG
|
||||
Af8BzAIoAv8BzAEoAf8BzAGZAQAB/wHMAZkBAAL/ASgBAAH/AcwBKAEABf8DhgH/AwAB/wgAAfEB0wGx
|
||||
Af8B+QHnAcsB/wHiAcwBsAH/AeIBywGvAf8B4QHMAa8B/wHhAcoBrwH/AdcBvgGhAf8B1QG6AZwB/wHU
|
||||
AbkBnQH/AdQBuQGdAf8BtgGvAbQB/wFPAZIBxAH/A0gBhggAAkYBRQF+AdIBqAEAAf8BzQGkAQAB/wHN
|
||||
AaQBAAH/AmQBUwHxAzsBYwMNAREDDQERA0EBcgG/AZgBAAH/Ac0BpAEAAf8BzQGkAQAB/wHNAaQBAAH/
|
||||
AbABjAEAAf8IAANQAZ4E/wL5AfgB/wP6Af8D/AH/A/0B/wP+Bf8B/AL9Af8B9AL1Af8D+gH/A1YBsxgA
|
||||
A4YJ/wOGAf8BzAIoA/8BKAL/AcwBKAH/AcwBmQEAAf8BzAGZAQAC/wEoAQAF/wOGAf8DAAH/CAAB8wHX
|
||||
AbQB/wH5AecBzAH/AfgB5wHMAf8B+QHoAcwB/wH5AegBzAH/AfcB5QHKAf8B5wHPAbUB/wHyAd4BxgH/
|
||||
AfMB4AHIAf8B9wHoAdMB/wNaAcUB7wHQAa4B/wMBAQIDAAEBBAADDwEUAl0BTgHwAdgBrQEBAf8B1wGs
|
||||
AQEB/wHXAawBAQH/AdEBpwEAAf8BvQGXAQAB/wG9AZcBAAH/AdEBpwEAAf8B1wGsAQEB/wHXAawBAQH/
|
||||
AdcBrAEBAf8B1wGsAQEB/wG2AZEBAAH/CAADUAGeBP8D+gH/A/wB/wP9Af8D/gX/Af4B/wH+Af8D6gH/
|
||||
AtcB2AH/Ad0C3gH/AzsBZBwAA4YB/wOGAf8DhgH/AcwCKAP/ASgD/wEoAv8BzAEoAf8BzAGZAQAB/wHM
|
||||
AZkBAAX/A4YB/wMAAf8IAAH0AdkBtQH/AfkB6AHNAf8B5AHPAbQB/wHkAc8BtAH/AeQBzwG0Af8B4wHO
|
||||
AbMB/wHdAcYBqQH/AfkB6AHOAf8B+QHoAc4B/wNcAcwB8QHTAbEB/wMmATgQAAI1ATQBVQHbAbEBAQH/
|
||||
Ad8BswEDAf8B3gGzAQMB/wHeAbMBAwH/Ad4BswEDAf8B3gGzAQMB/wHeAbMBAwH/Ad4BswEDAf8B3wGz
|
||||
AQMB/wHcAbIBAQH/AeYBugEFAf8BuwGVAQAB/wgAA1ABngT/A/wB/wP9Cf8D/QH/AvoB+wH/AesC7AH/
|
||||
AvoB+wH/A0IBcygAA4YB/wHMAigC/wHMASgD/wEoA/8BKAL/AcwBKAH/AcwBmQEABf8DhgH/AwAB/wgA
|
||||
AfYB2wG4Af8B+QHpAc8B/wH5AekBzgH/AfkB6AHOAf8B+AHoAc4B/wH2AeUBzAH/Ae4B2gG/Af8B+QHo
|
||||
Ac4B/wNgAd4B9AHZAbUB/wMmATgYAAI1ATQBVQJdAU4B8AHtAcIBBwH/AeYBuQEFAf8B5gG4AQUB/wHm
|
||||
AbgBBQH/AeYBuQEFAf8B7QHCAQcB/wJkAVMB8QI6ATkBYAJbAVgBywHHAaABAAH/CAADVAGmHP8B6wLs
|
||||
Af8DQgFzLAADhgH/AcwCKAH/AcwBKAEAAf8BzAEoAQAB/wHMASgBAAH/AcwBKAEAAf8BzAEoAQAF/wOG
|
||||
Af8DAAH/CAAB9wHdAboB/wH5AekBzwH/AfkB6QHPAf8B+QHpAc8B/wH5AekBzwH/AfcB5gHNAf8B7QHY
|
||||
Ab0B/wH5AegBzgH/AfcB3QG4Af8DJgE4IAADDAEQA0UBfQJcAVkBzAFvAWcBPgH4AW4BagFBAfkCXgFc
|
||||
Ac4CRgFFAX4DDQESBAADDAEQA0wBkggAAyYEOAFcAzgBXAM4AVwDOAFcAzgBXAM4AVwDOAFcAykBPzAA
|
||||
A4YB/wPXAf8D1wH/A9cB/wPXAf8D1wH/A9cB/wPXAf8DhgH/AwAB/wgAAfgB3wG7Af8B+AHfAbsB/wH4
|
||||
Ad8BuwH/AfgB3wG7Af8B+AHfAbsB/wH4Ad8BuwH/AfgB3wG7Af8B+AHfAbsB/wMmAThUAAFCAU0BPgcA
|
||||
AT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/AQAC/wHgAQcB/gEBAgAC5wHAAQcB/AMAAsMBwAEH
|
||||
AeADAAKBAcABBwHgAwABgAEBAcABAAHwAwABwAEDBgAB4AEHBgAB8AEPBgAB8AEPBgAB4AEHAwABAQIA
|
||||
AcABAwMAAQMCAAGAAQEDAAEDAgABgQGAAwABAwIAAcMBwQMAAQMCAAHnAeMDAAEDAgAB/wH3AQABPwEA
|
||||
AQMCAAGAAQEBjAEfAYABAQL/AYABAQGAAQ8BwAEDAfABDwGBAQEBgAEHAcABAwHgAQcBgAEBAYABBwHA
|
||||
AQMBwAEDAYABAQGAAQcBwAEDAYABAwGAAQEBgAEBAcABAQGAAQcBgAEBAYABAAHAAQEBgwHfAYABAQGA
|
||||
AQABwAEBAYMB/wGAAQEBgAEAAcABAAGDAQEBgAEBAgABwAEAAYMBAQGAAQcBgAEAAcABAQGAAQEBgAEH
|
||||
AeABAAHAAQABgAEBAYABBwHwAQABwAEDAcABAQGAAQ8B/AEAAcABBwHgAQEBgAEfAfwBAAHAAQ8B8AEJ
|
||||
AYABPwH8AQABwAEfAv8L
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="FileSaveRDP.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
@ -75,6 +75,8 @@ Public Class RemoteAppCreateClientConnection
|
||||
My.Settings.SavedSignRDP = False
|
||||
My.Settings.SavedSignedAndUnsigned = False
|
||||
My.Settings.SavedCertSelected = 0
|
||||
My.Settings.SavedRDPOptions = FlattenArray(RDPOptionsWindow.RecommendedDefaultOptions)
|
||||
additionalOptions = RDPOptionsWindow.RecommendedDefaultOptions
|
||||
End Sub
|
||||
|
||||
Sub SaveCCWindowSettings()
|
||||
@ -97,6 +99,7 @@ Public Class RemoteAppCreateClientConnection
|
||||
My.Settings.SavedSignRDP = CheckBoxSignRDPEnabled.Checked
|
||||
My.Settings.SavedSignedAndUnsigned = CheckBoxCreateSignedAndUnsigned.Checked
|
||||
My.Settings.SavedCertSelected = CertificateComboBox.SelectedIndex
|
||||
My.Settings.SavedRDPOptions = FlattenArray(additionalOptions)
|
||||
End Sub
|
||||
|
||||
Sub SetCCWindowSettings()
|
||||
@ -152,6 +155,14 @@ Public Class RemoteAppCreateClientConnection
|
||||
CertificateComboBox.Text = ""
|
||||
End If
|
||||
|
||||
If My.Settings.SavedRDPOptions <> "" Then
|
||||
additionalOptions = UnflattenArray(My.Settings.SavedRDPOptions)
|
||||
Else
|
||||
additionalOptions = {
|
||||
{}
|
||||
}
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub UseRDGatewayCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles UseRDGatewayCheckBox.CheckedChanged
|
||||
@ -285,8 +296,6 @@ Public Class RemoteAppCreateClientConnection
|
||||
|
||||
Private Sub CreateRDPFile(RDPPath As String, RemoteApp As RemoteAppLib.RemoteApp)
|
||||
|
||||
'Dim App As New RemoteAppLib.RemoteApp = RemoteApp
|
||||
'App = RemoteApp
|
||||
Dim FileTypeAssociations As RemoteAppLib.FileTypeAssociationCollection
|
||||
FileTypeAssociations = RemoteApp.FileTypeAssociations
|
||||
|
||||
@ -304,8 +313,8 @@ Public Class RemoteAppCreateClientConnection
|
||||
.remoteapplicationname = RemoteApp.FullName,
|
||||
.remoteapplicationprogram = "||" & RemoteApp.Name,
|
||||
.remoteapplicationmode = 1,
|
||||
.disableremoteappcapscheck = 1,
|
||||
.alternate_shell = "rdpinit.exe"
|
||||
.alternate_shell = "rdpinit.exe",
|
||||
.AdditionalOptions = ExportAdditionalOptionsRdpString()
|
||||
}
|
||||
|
||||
If UseRDGatewayCheckBox.Checked Then
|
||||
@ -314,19 +323,6 @@ Public Class RemoteAppCreateClientConnection
|
||||
RDPfile.gatewayprofileusagemethod = 1
|
||||
End If
|
||||
|
||||
RDPfile.prompt_for_credentials_on_client = 1
|
||||
RDPfile.promptcredentialonce = 0
|
||||
|
||||
RDPfile.devicestoredirect = "*"
|
||||
RDPfile.drivestoredirect = "*"
|
||||
RDPfile.redirectcomports = 1
|
||||
RDPfile.redirectdrives = 1
|
||||
|
||||
RDPfile.allow_desktop_composition = 1
|
||||
RDPfile.allow_font_smoothing = 1
|
||||
RDPfile.span_monitors = 1
|
||||
RDPfile.use_multimon = 1
|
||||
|
||||
RDPfile.remoteapplicationfileextensions = FlatFileTypes
|
||||
|
||||
RDPfile.SaveRDPfile(RDPPath)
|
||||
@ -434,4 +430,65 @@ Public Class RemoteAppCreateClientConnection
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Dim additionalOptions As String(,) = {{}}
|
||||
|
||||
Private Sub RDPOptionsButton_Click(sender As Object, e As EventArgs) Handles RDPOptionsButton.Click
|
||||
additionalOptions = RDPOptionsWindow.EditAdditionalOptions(additionalOptions)
|
||||
End Sub
|
||||
|
||||
Private Function ExportAdditionalOptionsRdpString()
|
||||
Dim selectedIndicesList As New List(Of Integer)
|
||||
|
||||
Dim optionsString As String = ""
|
||||
Dim optionsLength = additionalOptions.GetLength(0)
|
||||
For row As Integer = 0 To optionsLength - 1
|
||||
optionsString += additionalOptions(row, 1) & ":"
|
||||
optionsString += additionalOptions(row, 2) & ":"
|
||||
optionsString += additionalOptions(row, 3) & vbCrLf
|
||||
Next
|
||||
|
||||
Return optionsString.Trim()
|
||||
End Function
|
||||
|
||||
Shared Function FlattenArray(arr As String(,)) As String
|
||||
' Flatten the array to a CSV-like string
|
||||
Dim csvLines As New List(Of String)
|
||||
|
||||
For i As Integer = 0 To arr.GetLength(0) - 1
|
||||
Dim lineValues As New List(Of String)
|
||||
|
||||
For j As Integer = 0 To arr.GetLength(1) - 1
|
||||
lineValues.Add(arr(i, j))
|
||||
Next
|
||||
|
||||
csvLines.Add(String.Join("|", lineValues))
|
||||
Next
|
||||
|
||||
Return String.Join(Environment.NewLine, csvLines)
|
||||
End Function
|
||||
|
||||
Shared Function UnflattenArray(csv As String) As String(,)
|
||||
' Unflatten the CSV-like string to an array
|
||||
Dim csvLines = csv.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
|
||||
|
||||
If csvLines.Length = 0 Then
|
||||
' Handle the case when the array is empty
|
||||
Return New String(,) {{}}
|
||||
End If
|
||||
|
||||
Dim numRows = csvLines.Length
|
||||
Dim numCols = csvLines(0).Split("|"c).Length
|
||||
Dim arr(numRows - 1, numCols - 1) As String
|
||||
|
||||
For i As Integer = 0 To numRows - 1
|
||||
Dim lineValues = csvLines(i).Split("|"c)
|
||||
|
||||
For j As Integer = 0 To numCols - 1
|
||||
arr(i, j) = lineValues(j)
|
||||
Next
|
||||
Next
|
||||
|
||||
Return arr
|
||||
End Function
|
||||
|
||||
End Class
|
Loading…
Reference in New Issue
Block a user