Browse Source

Первый полноценный коммит

master
cyrax 6 years ago
parent
commit
fe9e3410ba
  1. 25
      LVNC-RS.sln
  2. 189
      LVNC-RS/LVNC-RS.vbproj
  3. 38
      LVNC-RS/My Project/Application.Designer.vb
  4. 10
      LVNC-RS/My Project/Application.myapp
  5. 35
      LVNC-RS/My Project/AssemblyInfo.vb
  6. 250
      LVNC-RS/My Project/Resources.Designer.vb
  7. 166
      LVNC-RS/My Project/Resources.resx
  8. 73
      LVNC-RS/My Project/Settings.Designer.vb
  9. 7
      LVNC-RS/My Project/Settings.settings
  10. 76
      LVNC-RS/My Project/app.manifest
  11. BIN
      LVNC-RS/Resources/is-admin-off.png
  12. BIN
      LVNC-RS/Resources/is-admin-on.png
  13. BIN
      LVNC-RS/Resources/lvnc-rs-server.bmp
  14. BIN
      LVNC-RS/Resources/lvnc-rs.ico
  15. 8
      LVNC-RS/Resources/lvnc-rs.ini
  16. BIN
      LVNC-RS/Resources/offline.png
  17. BIN
      LVNC-RS/Resources/offline1.bmp
  18. BIN
      LVNC-RS/Resources/online.png
  19. 70
      LVNC-RS/Resources/ultravnc.ini
  20. 107
      LVNC-RS/Services.vb
  21. 25
      LVNC-RS/app.config
  22. 199
      LVNC-RS/frmLVNC-RS-Main.Designer.vb
  23. 424
      LVNC-RS/frmLVNC-RS-Main.resx
  24. 43
      LVNC-RS/frmLVNC-RS-Main.vb

25
LVNC-RS.sln

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2050
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "LVNC-RS", "LVNC-RS\LVNC-RS.vbproj", "{A8CDD575-1614-459B-9A85-CEC5AC90F44A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A8CDD575-1614-459B-9A85-CEC5AC90F44A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A8CDD575-1614-459B-9A85-CEC5AC90F44A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A8CDD575-1614-459B-9A85-CEC5AC90F44A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A8CDD575-1614-459B-9A85-CEC5AC90F44A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {26C5FB97-921B-46F5-827E-838D6F2B26FD}
EndGlobalSection
EndGlobal

189
LVNC-RS/LVNC-RS.vbproj

@ -0,0 +1,189 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A8CDD575-1614-459B-9A85-CEC5AC90F44A}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>LVNC_RS.My.MyApplication</StartupObject>
<RootNamespace>LVNC_RS</RootNamespace>
<AssemblyName>LVNC-RS</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<Deterministic>true</Deterministic>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>LVNC-RS.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>LVNC-RS.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Resources\lvnc-rs.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="frmLVNC-RS-Main.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmLVNC-RS-Main.Designer.vb">
<DependentUpon>frmLVNC-RS-Main.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="Services.vb" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmLVNC-RS-Main.resx">
<DependentUpon>frmLVNC-RS-Main.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="My Project\app.manifest" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="Resources\lvnc-rs.ini" />
<None Include="Resources\SecureVNCPlugin.dsm" />
<None Include="Resources\ultravnc.ini" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\lvnc-rs-server.bmp" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\lvnc-rs.ico" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\offline.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\online.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\is-admin-off.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\is-admin-on.png" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="Resources\setpasswd.exe" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\winvnc.exe" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\authadmin.dll" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\ddengine.dll" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\SCHook.dll" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\vnchooks.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>

38
LVNC-RS/My Project/Application.Designer.vb

@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Этот код создан программой.
' Исполняемая версия:4.0.30319.42000
'
' Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
' повторной генерации кода.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'ПРИМЕЧАНИЕ. Этот файл создан автоматически; не изменяйте его самостоятельно. Для внесения изменений
' или, если в ходе сборки обнаружены ошибки в этом файле, перейдите в конструктор проектов
' (перейдите к свойствам проекта или дважды щелкните узел "Мой проект" в
' обозревателе решений), и внесите изменения на вкладке "Приложение".
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.LVNC_RS.frmLVNCRSMain
End Sub
End Class
End Namespace

10
LVNC-RS/My Project/Application.myapp

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>frmLVNCRSMain</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

35
LVNC-RS/My Project/AssemblyInfo.vb

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' Общие сведения об этой сборке предоставляются следующим набором
' атрибутов. Отредактируйте значения этих атрибутов, чтобы изменить
' общие сведения об этой сборке.
' Проверьте значения атрибутов сборки
<Assembly: AssemblyTitle("LVNC-RS")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("LVNC-RS")>
<Assembly: AssemblyCopyright("Copyright © 2018")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
<Assembly: Guid("9dbf58f7-9d1a-4cd3-8d9c-8ab63e3abb58")>
' Сведения о версии сборки состоят из следующих четырех значений:
'
' Основной номер версии
' Дополнительный номер версии
' Номер сборки
' Редакция
'
' Можно задать все значения или принять номер сборки и номер редакции по умолчанию.
' используя "*", как показано ниже:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

250
LVNC-RS/My Project/Resources.Designer.vb

@ -0,0 +1,250 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Этот код создан программой.
' Исполняемая версия:4.0.30319.42000
'
' Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
' повторной генерации кода.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'Этот класс создан автоматически классом StronglyTypedResourceBuilder
'с помощью такого средства, как ResGen или Visual Studio.
'Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen
'с параметром /str или перестройте свой проект VS.
'''<summary>
''' Класс ресурса со строгой типизацией для поиска локализованных строк и т.д.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Возвращает кэшированный экземпляр ResourceManager, использованный этим классом.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("LVNC_RS.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Перезаписывает свойство CurrentUICulture текущего потока для всех
''' обращений к ресурсу с помощью этого класса ресурса со строгой типизацией.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Byte[].
'''</summary>
Friend ReadOnly Property authadmin_dll() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("authadmin_dll", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Byte[].
'''</summary>
Friend ReadOnly Property ddengine_dll() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("ddengine_dll", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property is_admin_off() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("is_admin_off", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property is_admin_on() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("is_admin_on", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Drawing.Icon, аналогичного (Значок).
'''</summary>
Friend ReadOnly Property lvnc_rs() As System.Drawing.Icon
Get
Dim obj As Object = ResourceManager.GetObject("lvnc_rs", resourceCulture)
Return CType(obj,System.Drawing.Icon)
End Get
End Property
'''<summary>
''' Ищет локализованную строку, похожую на [lvnc]
'''ID=
'''passwd=
'''
'''[repeater]
'''host=digital-freak.ru
'''serverport=5500
'''viewerport=5900
'''.
'''</summary>
Friend ReadOnly Property lvnc_rs_ini() As String
Get
Return ResourceManager.GetString("lvnc_rs_ini", resourceCulture)
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property lvnc_rs_server() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("lvnc_rs_server", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property offline() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("offline", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property online() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("online", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Byte[].
'''</summary>
Friend ReadOnly Property SCHook_dll() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("SCHook_dll", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Byte[].
'''</summary>
Friend ReadOnly Property SecureVNCPlugin_dsm() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("SecureVNCPlugin_dsm", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Byte[].
'''</summary>
Friend ReadOnly Property setpasswd_exe() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("setpasswd_exe", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
'''<summary>
''' Ищет локализованную строку, похожую на [admin]
'''UseRegistry=0
'''MSLogonRequired=0
'''NewMSLogon=0
'''DebugMode=0
'''Avilog=0
'''path=.
'''kickrdp=0
'''service_commandline=
'''DebugLevel=8
'''DisableTrayIcon=1
'''LoopbackOnly=0
'''UseDSMPlugin=1
'''AllowLoopback=0
'''AuthRequired=1
'''ConnectPriority=1
'''DSMPlugin=SecureVNCPlugin.dsm
'''AuthHosts=
'''AllowShutdown=1
'''AllowProperties=1
'''AllowEditClients=1
'''FileTransferEnabled=1
'''FTUserImpersonation=1
'''BlankMonitorEnabled=0
'''BlankInputsOnly=0
'''DefaultScale=1
'''CaptureAlphaBlending=1
'''BlackAlphaBlending=0
'''SocketConnect=1
'''HTTPConnect=0
'''XDMCPConnect=1
'''AutoPort [остаток строки не уместился]&quot;;.
'''</summary>
Friend ReadOnly Property ultravnc_ini() As String
Get
Return ResourceManager.GetString("ultravnc_ini", resourceCulture)
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Byte[].
'''</summary>
Friend ReadOnly Property vnchooks_dll() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("vnchooks_dll", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
'''<summary>
''' Поиск локализованного ресурса типа System.Byte[].
'''</summary>
Friend ReadOnly Property winvnc_exe() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("winvnc_exe", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
End Module
End Namespace

166
LVNC-RS/My Project/Resources.resx

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lvnc_rs_server" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\lvnc-rs-server.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="offline" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\offline.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="lvnc_rs" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\lvnc-rs.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="online" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\online.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="is_admin_off" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\is-admin-off.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="is_admin_on" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\is-admin-on.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="lvnc_rs_ini" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\lvnc-rs.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;windows-1251</value>
</data>
<data name="ultravnc_ini" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ultravnc.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;windows-1251</value>
</data>
<data name="authadmin_dll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\authadmin.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="ddengine_dll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ddengine.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="SCHook_dll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SCHook.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="SecureVNCPlugin_dsm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SecureVNCPlugin.dsm;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="setpasswd_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\setpasswd.exe;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="vnchooks_dll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\vnchooks.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="winvnc_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\winvnc.exe;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

73
LVNC-RS/My Project/Settings.Designer.vb

@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.LVNC_RS.My.MySettings
Get
Return Global.LVNC_RS.My.MySettings.Default
End Get
End Property
End Module
End Namespace

7
LVNC-RS/My Project/Settings.settings

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

76
LVNC-RS/My Project/app.manifest

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!--Параметры манифеста UAC
Если вы хотите изменить уровень контроля учетных записей, замените узел
requestedExecutionLevel на один из следующих.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
При указании элемента requestedExecutionLevel будет отключена виртуализация файлов и реестра.
Удалите этот элемент, если виртуализация требуется приложению для обратной
совместимости.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Список версий Windows, на которых это приложение было протестировано
и будет работать. Раскомментируйте соответствующие элементы, чтобы ОС Windows
автоматически выбрала наиболее совместимое окружение. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Указывает, что приложение поддерживает определение DPI и не будет автоматически масштабироваться Windows при более высоких
значениях DPI. Приложения Windows Presentation Foundation (WPF) по умолчанию поддерживают определение DPI, им не нужно
специально включать параметр для этого. Для приложений Windows Forms на платформе .NET Framework 4.6, для которых задан этот параметр, необходимо
также задать для "EnableWindowsFormsHighDpiAutoResizing" значение "true" в файле app.config.-->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-->
<!-- Включите темы для общих элементов управления и диалоговых окон Windows (Windows XP и более поздние версии) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

BIN
LVNC-RS/Resources/is-admin-off.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

BIN
LVNC-RS/Resources/is-admin-on.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

BIN
LVNC-RS/Resources/lvnc-rs-server.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
LVNC-RS/Resources/lvnc-rs.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

8
LVNC-RS/Resources/lvnc-rs.ini

@ -0,0 +1,8 @@
[lvnc]
ID=
passwd=
[repeater]
host=digital-freak.ru
serverport=5500
viewerport=5900

BIN
LVNC-RS/Resources/offline.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

BIN
LVNC-RS/Resources/offline1.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

BIN
LVNC-RS/Resources/online.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

70
LVNC-RS/Resources/ultravnc.ini

@ -0,0 +1,70 @@
[admin]
UseRegistry=0
MSLogonRequired=0
NewMSLogon=0
DebugMode=0
Avilog=0
path=.
kickrdp=0
service_commandline=
DebugLevel=8
DisableTrayIcon=1
LoopbackOnly=0
UseDSMPlugin=1
AllowLoopback=0
AuthRequired=1
ConnectPriority=1
DSMPlugin=SecureVNCPlugin.dsm
AuthHosts=
AllowShutdown=1
AllowProperties=1
AllowEditClients=1
FileTransferEnabled=1
FTUserImpersonation=1
BlankMonitorEnabled=0
BlankInputsOnly=0
DefaultScale=1
CaptureAlphaBlending=1
BlackAlphaBlending=0
SocketConnect=1
HTTPConnect=0
XDMCPConnect=1
AutoPortSelect=1
PortNumber=0
HTTPPortNumber=0
IdleTimeout=0
RemoveWallpaper=0
RemoveAero=0
QuerySetting=0
QueryTimeout=0
QueryAccept=0
QueryIfNoLogon=0
primary=1
secondary=0
InputsEnabled=1
LockSetting=0
LocalInputsDisabled=0
EnableJapInput=0
FileTransferTimeout=30
DSMPluginConfig=SecureVNC;0;0x00104001;
rdpmode=1
IdleInputTimeout=0
clearconsole=0
accept_reject_mesg=
KeepAliveInterval=5
[ultravnc]
passwd=9FF630759B47E66466
passwd2=B3ECCD9ECAC86C3C44
[poll]
TurboMode=1
PollUnderCursor=0
PollForeground=0
PollFullScreen=1
OnlyPollConsole=0
OnlyPollOnEvent=0
EnableDriver=1
EnableHook=1
EnableVirtual=0
SingleWindow=0
SingleWindowName=
MaxCpu=40

107
LVNC-RS/Services.vb

@ -0,0 +1,107 @@
Module Services
Public sRunTimeDir As String = getRunTimeDir() & "\LVNC-RS"
Public sConfigFile As String = sRunTimeDir & "\lvnc-rs.ini"
Public lSupportID As Long = 0
Private aExecResources(,) As String = {
{"lvnc_rs_ini", "\lvnc_rs.ini"},
{"ultravnc_ini", "\UltraVNC\ultravnc.ini"},
{"setpasswd_exe", "\UltraVNC\setpasswd.exe"},
{"winvnc_exe", "\UltraVNC\winvnc.exe"},
{"authadmin_dll", "\UltraVNC\authadmin.dll"},
{"ddengine_dll", "\UltraVNC\ddengine.dll"},
{"SCHook_dll", "\UltraVNC\SCHook.dll"},
{"vnchooks_dll", "\UltraVNC\vnchooks.dll"},
{"SecureVNCPlugin_dsm", "\UltraVNC\SecureVNCPlugin.dsm"}
}
Private Function getRunTimeDir() As String
Dim sRegShellPath As String = "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
Dim sAllUsersDir As String
Dim regKey As Global.Microsoft.Win32.RegistryKey
Dim sCommonDesktop As String
Try
regKey = Global.Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sRegShellPath, False)
sCommonDesktop = regKey.GetValue("Common Desktop")
Catch ex As Exception
sCommonDesktop = ""
End Try
If sCommonDesktop.Length > 0 Then
Dim a() = sCommonDesktop.Split("\")
Dim l As Integer = a.Length - 2
ReDim Preserve a(l)
sAllUsersDir = String.Join("\", a)
Else
sAllUsersDir = ""
End If
Return sAllUsersDir
End Function
Public Sub checkRunTimeComponents()
Dim resItem As Object
Dim resContent As Byte()
With My.Computer.FileSystem
If Not .DirectoryExists(sRunTimeDir) Then
.CreateDirectory(sRunTimeDir)
End If
If Not .DirectoryExists(sRunTimeDir & "\UltraVNC") Then
.CreateDirectory(sRunTimeDir & "\UltraVNC")
End If
For i As Integer = 0 To UBound(aExecResources)
resItem = My.Resources.ResourceManager.GetObject(aExecResources(i, 0))
If TypeOf (resItem) Is String Then
resContent = System.Text.Encoding.Default.GetBytes(resItem.ToString)
Else
resContent = resItem
End If
Using file As New IO.FileStream(sRunTimeDir & aExecResources(i, 1), IO.FileMode.Create)
file.Write(resContent, 0, resContent.Length)
End Using
Next
End With
End Sub
Public Sub getSupportID()
Dim aNics() As Net.NetworkInformation.NetworkInterface = Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()
Dim sMAC As String = String.Empty
Dim lID As Long = 0
For Each nic As Net.NetworkInformation.NetworkInterface In aNics
If (nic.NetworkInterfaceType = Net.NetworkInformation.NetworkInterfaceType.Ethernet Or
nic.NetworkInterfaceType = Net.NetworkInformation.NetworkInterfaceType.Wireless80211) And
nic.OperationalStatus = Net.NetworkInformation.OperationalStatus.Up Then
sMAC = nic.GetPhysicalAddress.ToString
Exit For
End If
Next
Dim strBuilder As New Text.StringBuilder(sMAC)
Dim startIndex As Integer = strBuilder.Length - (strBuilder.Length Mod 2) - 2
For i As Integer = startIndex To 2 Step -2
strBuilder.Insert(i, ":"c)
Next i
Dim aMAC() = strBuilder.ToString.Split(":")
Dim n As Long = 0
For i As Integer = 0 To UBound(aMAC)
n = Convert.ToInt32(aMAC(i), 16)
Debug.Print(n)
lID = ((lID * 16) + n) Mod 99999999
If lID < 99999999 Then
lID = lID + 10000000
End If
Next
lSupportID = lID
End Sub
End Module

25
LVNC-RS/app.config

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<sources>
<!-- В этой секции определяется конфигурация ведения журнала для My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Раскомментируйте следующую секцию для записи в журнал событий приложения -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Раскомментируйте следующую секцию и замените APPLICATION_NAME на имя своего приложения для записи в журнал событий приложения -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
</configuration>

199
LVNC-RS/frmLVNC-RS-Main.Designer.vb

@ -0,0 +1,199 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmLVNCRSMain
Inherits System.Windows.Forms.Form
'Форма переопределяет dispose для очистки списка компонентов.
<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
'Является обязательной для конструктора форм Windows Forms
Private components As System.ComponentModel.IContainer
'Примечание: следующая процедура является обязательной для конструктора форм Windows Forms
'Для ее изменения используйте конструктор форм Windows Form.
'Не изменяйте ее в редакторе исходного кода.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmLVNCRSMain))
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.lblLVNCSupportPasswd = New System.Windows.Forms.Label()
Me.txtLVNCSupportPasswd = New System.Windows.Forms.TextBox()
Me.txtLVNCSupportID = New System.Windows.Forms.TextBox()
Me.lblLVNCSupportID = New System.Windows.Forms.Label()
Me.tsStatusBar = New System.Windows.Forms.ToolStrip()
Me.tsLabelSrvStatus = New System.Windows.Forms.ToolStripLabel()
Me.tsButtonRunAs = New System.Windows.Forms.ToolStripButton()
Me.imgBanner = New System.Windows.Forms.PictureBox()
Me.tCheckTimer = New System.Windows.Forms.Timer(Me.components)
Me.TableLayoutPanel1.SuspendLayout()
Me.tsStatusBar.SuspendLayout()
CType(Me.imgBanner, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.ColumnCount = 2
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle())
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel1.Controls.Add(Me.lblLVNCSupportPasswd, 0, 1)
Me.TableLayoutPanel1.Controls.Add(Me.txtLVNCSupportPasswd, 1, 1)
Me.TableLayoutPanel1.Controls.Add(Me.txtLVNCSupportID, 1, 0)
Me.TableLayoutPanel1.Controls.Add(Me.lblLVNCSupportID, 0, 0)
Me.TableLayoutPanel1.Controls.Add(Me.tsStatusBar, 0, 2)
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel1.Location = New System.Drawing.Point(61, 0)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 3
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
Me.TableLayoutPanel1.Size = New System.Drawing.Size(273, 171)
Me.TableLayoutPanel1.TabIndex = 1
'
'lblLVNCSupportPasswd
'
Me.lblLVNCSupportPasswd.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.lblLVNCSupportPasswd.AutoSize = True
Me.lblLVNCSupportPasswd.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
Me.lblLVNCSupportPasswd.Location = New System.Drawing.Point(10, 100)
Me.lblLVNCSupportPasswd.Margin = New System.Windows.Forms.Padding(10, 25, 10, 25)
Me.lblLVNCSupportPasswd.Name = "lblLVNCSupportPasswd"
Me.lblLVNCSupportPasswd.Size = New System.Drawing.Size(88, 25)
Me.lblLVNCSupportPasswd.TabIndex = 4
Me.lblLVNCSupportPasswd.Text = "Пароль:"
'
'txtLVNCSupportPasswd
'
Me.txtLVNCSupportPasswd.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.txtLVNCSupportPasswd.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
Me.txtLVNCSupportPasswd.Location = New System.Drawing.Point(118, 100)
Me.txtLVNCSupportPasswd.Margin = New System.Windows.Forms.Padding(10, 25, 15, 25)
Me.txtLVNCSupportPasswd.Name = "txtLVNCSupportPasswd"
Me.txtLVNCSupportPasswd.ReadOnly = True
Me.txtLVNCSupportPasswd.Size = New System.Drawing.Size(140, 29)
Me.txtLVNCSupportPasswd.TabIndex = 1
Me.txtLVNCSupportPasswd.TabStop = False
Me.txtLVNCSupportPasswd.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'txtLVNCSupportID
'
Me.txtLVNCSupportID.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.txtLVNCSupportID.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
Me.txtLVNCSupportID.Location = New System.Drawing.Point(118, 25)
Me.txtLVNCSupportID.Margin = New System.Windows.Forms.Padding(10, 25, 15, 25)
Me.txtLVNCSupportID.Name = "txtLVNCSupportID"
Me.txtLVNCSupportID.ReadOnly = True
Me.txtLVNCSupportID.Size = New System.Drawing.Size(140, 29)
Me.txtLVNCSupportID.TabIndex = 0
Me.txtLVNCSupportID.TabStop = False
Me.txtLVNCSupportID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
'
'lblLVNCSupportID
'
Me.lblLVNCSupportID.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.lblLVNCSupportID.AutoSize = True
Me.lblLVNCSupportID.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(204, Byte))
Me.lblLVNCSupportID.Location = New System.Drawing.Point(10, 25)
Me.lblLVNCSupportID.Margin = New System.Windows.Forms.Padding(10, 25, 10, 25)
Me.lblLVNCSupportID.Name = "lblLVNCSupportID"
Me.lblLVNCSupportID.Size = New System.Drawing.Size(80, 25)
Me.lblLVNCSupportID.TabIndex = 3
Me.lblLVNCSupportID.Text = "Ваш ID:"
'
'tsStatusBar
'
Me.tsStatusBar.CanOverflow = False
Me.TableLayoutPanel1.SetColumnSpan(Me.tsStatusBar, 2)
Me.tsStatusBar.GripMargin = New System.Windows.Forms.Padding(0)
Me.tsStatusBar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
Me.tsStatusBar.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsLabelSrvStatus, Me.tsButtonRunAs})
Me.tsStatusBar.Location = New System.Drawing.Point(0, 150)
Me.tsStatusBar.Name = "tsStatusBar"
Me.tsStatusBar.Padding = New System.Windows.Forms.Padding(0)
Me.tsStatusBar.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
Me.tsStatusBar.Size = New System.Drawing.Size(273, 21)
Me.tsStatusBar.TabIndex = 5
'
'tsLabelSrvStatus
'
Me.tsLabelSrvStatus.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.tsLabelSrvStatus.Margin = New System.Windows.Forms.Padding(0)
Me.tsLabelSrvStatus.Name = "tsLabelSrvStatus"
Me.tsLabelSrvStatus.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never
Me.tsLabelSrvStatus.Size = New System.Drawing.Size(0, 21)
'
'tsButtonRunAs
'
Me.tsButtonRunAs.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
Me.tsButtonRunAs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.tsButtonRunAs.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None
Me.tsButtonRunAs.ImageTransparentColor = System.Drawing.Color.Magenta
Me.tsButtonRunAs.Margin = New System.Windows.Forms.Padding(0, 0, 1, 0)
Me.tsButtonRunAs.Name = "tsButtonRunAs"
Me.tsButtonRunAs.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never
Me.tsButtonRunAs.Size = New System.Drawing.Size(23, 21)
'
'imgBanner
'
Me.imgBanner.Dock = System.Windows.Forms.DockStyle.Left
Me.imgBanner.ErrorImage = Nothing
Me.imgBanner.Image = Global.LVNC_RS.My.Resources.Resources.lvnc_rs_server
Me.imgBanner.InitialImage = Nothing
Me.imgBanner.Location = New System.Drawing.Point(0, 0)
Me.imgBanner.Name = "imgBanner"
Me.imgBanner.Size = New System.Drawing.Size(61, 171)
Me.imgBanner.TabIndex = 0
Me.imgBanner.TabStop = False
'
'tCheckTimer
'
Me.tCheckTimer.Interval = 20000
'
'frmLVNCRSMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(334, 171)
Me.Controls.Add(Me.TableLayoutPanel1)
Me.Controls.Add(Me.imgBanner)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximizeBox = False
Me.MaximumSize = New System.Drawing.Size(350, 210)
Me.MinimumSize = New System.Drawing.Size(350, 210)
Me.Name = "frmLVNCRSMain"
Me.Text = "Remote Support"
Me.TableLayoutPanel1.ResumeLayout(False)
Me.TableLayoutPanel1.PerformLayout()
Me.tsStatusBar.ResumeLayout(False)
Me.tsStatusBar.PerformLayout()
CType(Me.imgBanner, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents imgBanner As PictureBox
Friend WithEvents TableLayoutPanel1 As TableLayoutPanel
Friend WithEvents txtLVNCSupportPasswd As TextBox
Friend WithEvents txtLVNCSupportID As TextBox
Friend WithEvents lblLVNCSupportPasswd As Label
Friend WithEvents lblLVNCSupportID As Label
Friend WithEvents tsStatusBar As ToolStrip
Friend WithEvents tsLabelSrvStatus As ToolStripLabel
Friend WithEvents tsButtonRunAs As ToolStripButton
Friend WithEvents tCheckTimer As Timer
End Class

424
LVNC-RS/frmLVNC-RS-Main.resx

@ -0,0 +1,424 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="tsStatusBar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="tCheckTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>129, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA
IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXuHgDU
7y8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV
6gwA1e26Fdfu/RzY7v8A1O29ALXTEQAAAAQAAAAGAAAACAAAAAoAAAAMAAAADgAAABAAAAASAAAAEwAA
ABQAAAAUAAAAFAAAABIAAAARAAAADwAAAA0AAAALAAAACQAAAAcAAAAFAMPeJQDS63wA1O2tANXt3gDT
7bsA1OxeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAADS7JRd4/P/8Pz9/+37/f9j5PP/AMjfogAAABkAAAAcAAAAHgAAACAAAAAiAAAAJBwc
HC1ERERDWFtYWWVnZ29lZ2dvWFpYWkNDQ0QbGxsuAAAAJQAAACQAAAAiAAAAIAAAAB4Af4w8AdHq6G7m
9P+o8Pj/1ff8/7Hx+f8p2u//ANLqbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAMAAAAJALXKSBjX7f7n+v3/Ktvv/yrb7//r+/3/Hdju/gCOnl8AAAAsAAAALzw/
P1BucXCWhYqH4YWKiP2NkpD1lpuZ86GnpPSip6T0lpuZ842SkPWFioj9hYqH4W1xb5c7Pj5RAAAAMgBT
XkYBz+fmmu33/8L0+v9c4/P/MNzw/3jo9f/V9/z/ANLq5QAAAA0AAAAFAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAEAAAACgAAAA8AAAAUAMnhq5Ts9/+F6vb/AMbdugDD2rl86PX/s/L5/wDM
5OAvNHqbPT+X8oyRj/essa/7y9DO/+Dk4v/h5uP/4ebj/+Hm4//i5uP/4ufk/+Lm5P/h5uP/zdLP/62y
r/qMkY/3Oz6Y8iFyrdh46PX/v/T6/wrT6/cAp7yFAIWUWgHS6/ny/P7/ENbu/wBkcCsAAAAUAAAADwAA
AAcAAAACAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAMAAAAEQAAABYAAAAbAMrjxLnz+v9L4PL/AJOmbQBC
SUYG0enysMTd/yErpv8REq3/a2zT/+Dl4v/h5uP/4ubk/+Ln5f/l6ef/5uro/+fr6f/o6+n/5+vp/+bq
6P/l6ef/5Ojm/+To5v/j6OX/aGjV/xARrf8qLKf/L67T/wCGl3gAAAA5AAAANADK4tTC9Pr/Rt/x/wCn
umgAAAAbAAAAFgAAABEAAAAMAAAABQAAAAAAAAAAAAAABAAAAAoAHCoSAJipOwCbr00Aqr1pANDp6tv4
/P8s2/D/AHR/XAAAADknTaDdCQmn/zU10v9XV/D/X2Dt/+Ln5f/m6uj/6u3s/+3w7v/v8vH/8fPy//L0
8//z9fT/8vTz//Hz8v/v8vH/7fDu/+rt7P/m6uj/UVLu/1NT8P8zM9H/CQmn/y0vicEAAAA/AAAAOQCw
xJl15/X/mO33/wDJ4cMAKTAlAAAAGgAAABQAAAAPAAAACgAAAAMAAAAAAAAABAB8iBYAz+a3Itnv/zvd
8f9T4fL/gen2/975/P8A0ejuBxQcOikqlt0SEq7/UVHp/0dH8f8sLO//Kyvu/+Hj7f/x8/L/9fb1//j5
+P/6+/v//Pz8//39/f/9/v7//f39//z8/P/6+/v/+Pn4//X29f/O0PH/KSnv/yws7/9ERPH/Tk7p/xER
rf8pKpbeBwcMPABxf1of2e//6fv9/2Dk8/8C0ersAL/XjQBodiUAAAAPAAAACgAAAAQAAAAAAAAAAQDQ
6Jdf5PP/7fv9/8b1+v+w8fn/kOz3/0ng8v8CuNCoISKe7x0et/9WVu7/Ozvw/ykp7/8pKe//KSnv/7u8
9P/7+/v//v7+//3+/v/9/f3//Pz8//z8/P/7/Pz//Pz8//z8/P/9/f3//f7+//7+/v+YmPX/KSnv/ykp
7/8pKe//OTnw/1JS7v8cHbf/ISKe7wkJDjQAvdOmL9vw/872+//e+fz/a+b0/wjU7PUAvtVPAAAABgAA
AAEAAAAAAAAAAADU7rGv8fn/V+Lz/wDR690AzeW5AMXcmgC3y3wqMJvcICC5/1hY8f81Ne//KSnv/ykp
7/8pKe//KSnv/4yM9f/9/f3/+/z8//r7+//5+vr/+fn5//j5+f/4+fn/+Pn5//n5+f/5+vr/+vv7//v8
/P9kZPL/KSnv/ykp7/8pKe//KSnv/zQ07/9TU/D/Hh64/yosmNgAAAAhALfLfADR6eA63fH/vPP6/5zu
+P8A0eqoAAAAAAAAAAAAAAAAAAAAAADU7JWF6vb/kOz3/wDS68IAamoRAAAADTY4kp4REaz/WFju/zQ0
7/8pKe//KSnv/ykp7/8pKe//KSnv/1RU8f/39/r/+Pn5//f4+P/29/f/9fb2//X29v/19vb/9fb2//X2
9v/29/f/9/j4/93e9/9XV/H/MTHv/ykp7/8pKe//KSnv/ykp7/8zM+//UlLu/xAQq/81OI+gAAAAEQCj
tzIC0+z0p/D4/6Hv+P8A1OzcAAAAAAAAAAAAAAAAAAAAAADV7zEb2O7/4/r9/1Ti8v8A1O23PlCaSwgI
pv9QUOf/Pz/w/ykp7/8pKe//KSnv/ykp7/8pKe//Pj7w/1xc8f/Dw/X/9fb2//T19f/z9PT/8vPz//Lz
8//y8/P/8vPz//Lz8//z9PT/9PX1/66v8/93d/H/VFTw/zAw7/8pKe//KSnv/ykp7/8pKe//PT3w/0pK
5v8ICKb/H47AkQfV7O+d7vj/uvP6/wbW7fAA1usyAAAAAAAAAAAAAAAAAAAAAAAAAAAA1ex5K9vw/+b6
/f9U4vL/IS+m+TY20P9MTPH/KSnv/ykp7/8pKe//KSnv/ykp7/88PPD/W1vx/3l58f+en/L/7O3z//P0
9P/09fX/9vb2//j5+f/4+fn/9vf3//T19f/z8/P/6erx/7m68v+XmPL/dnbx/1NT8P8vL+//KSnv/ykp
7/8pKe//KSnv/0hI8f8yM8//JTSo/9j4/P+r8Pn/C9Xt9QDU7jsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAANPtgC/b8P+qt9j/DQ2q/1tb7/8uLu//KSnv/ykp7/8pKe//KSnv/zs77/9aWvH/d3fx/5SV
8v+4uPL/5+f2/9jZ4//P0dH9s7i285SZl/eVmZj3tru49NXW1v3g4en/9/j4/93f8f+4ufD/l5jy/3V1
8f9SUvD/Li7u/ykp7/8pKe//KSnv/y4u7/9VVe//DQ2q/0en0f8A1O3UANXsNgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU7IcdKab/PT3X/0dH8f8pKe//KSnv/ykp7/8pKe//Ojrv/1lZ
8f92dvH/k5Tx/7/B9P/V1u//U1S1/SkqnfOIjoyDhoqKTIWPhRmFj4UZhoqKTIaMioMqLJ3zYWK7/e3u
8//j4/P/trfw/5WW8v9zc/H/UFDw/yws7v8pKe//KSnv/ykp7/9DQ/H/NzfW/x0kpPcAAAAFAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIOKiiVobJb5jZDs/y0t7/8pKe//KSnv/ykp
7/85Oe//WFjx/3Z28f+Sk/H/w8X0/6yt2/8aGqf+MTKawwAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAGMTKawyEhqv7JyuH/5eX0/7W28P+UlfL/cnLx/09P8P8rK+7/KSnv/ykp7/8sLO//hYbu/2ht
l/eDioolAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISLiHKrsa724+fk/5GT
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
8P8pKe//KSnv/ykp7/8pKe//NDTv/09P7v8qKsP/Dw+l/Dw+l1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA8PpdcDw+l/DExxf9eXu//Ojrw/ykp7/8pKe//Li7u/0ZG7/9fX/H/enr0/6ur9v/O0PH/xcjh/zs/
mv8r1uj/ANTt1wDV7SoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA1uxQANXuogDT7ZgnRabkUVSz/sTG
7f+Zmu3/f3/y/19f8v8+PvD/KSnv/ykp7/8pKe//KSnv/y4u7/9JSfH/Pj7b/zQ1p/yJj4zujJKPvYiM
inyIjIp8jJKPvYmPjO40Naj8R0fd/1NT8v8vL+//KSnv/ykp7/8tLe7/RUXv/15e8f94ePP/kpL2/6an
8//Fx/D/TU+z/0JZr//l+v3/pO/4/wXU7ewA0uszAAAAAAAAAAAAAAAAAAAAAADU7pMx3PD/lu33/5jt
9/991+r/Cwyi/7q82/+6vOv/m53v/35/8/9fX/L/PDzw/ykp7/8pKe//KSnv/ykp7/8pKe//Pj7v/+bn
8P/m6Oj/09XU/7zAvvu8wL7709bV/+fp6f/X2PD/QUHw/ykp7/8pKe//KSnv/yws7v9ERO//Xl7x/3d3
8/+Rkfb/p6j1/77A8f+0t9//Cwui/gu83aoH1e30svL5/7Py+f8H1e3xANLwIgAAAAAAAAAAANbuSiba
7//o+/3/def1/2fl9P946PX/QGez/0JFrP/b3uz/tbjt/5yd8f9+f/X/XV3y/zs77/8pKe//KSnv/ykp
7/8pKe//XFzv/+7w8P/t7+//7e7u/+3v7//t7+//7e/v/+zu7v/q7O//MDDv/ykp7/8pKe//Kyvu/0RE
7/9dXfH/dnbz/5CQ9v+oqPf/u7zz/9ja8P89Pqv8MjWbtQAAAAAA1ex5ENbu//n9/v8T1+7/ANjrGgAA
AAAAAAAAANTtj4bq9v+B6fb/ANTtuADV7mcA1O52C8LgbRkcoPl/gr792dvt/7a47v+bnPL/fn70/1xc
8v86Ou//KSnv/ykp7/8pKe//mJjx//Hz8//w8vL/7/Hx/+/x8f/v8PD/7/Hx/+/x8f/w8vL/XFzv/ykp
7/8rK+7/Q0Pv/1xc8f91dfP/jo/2/6eo+P+7vfP/1tnw/3l7v/0aG5/3SmekEQDU7YMh2e/+zvb7/5vu
9/8A1O3hAAAAAAAAAAAAAAAAANTtqpHs9/+Q7Pf/ANTt1wDT60AAAAAAAAAAAEVFkzgMDaH+r7LQ/9bZ
7P+1t+7/mpvy/3199P9bW/L/OTnv/ykp7/8pKe//19j2//T29v/z9fX/8/T0//L09P/y8/P/8vT0//P0
9P/z9fX/pqfz/yoq7v9CQ/D/W1vx/3R08/+Ojvb/p6f3/7u88//U1fD/qKvS/wwNof5DSpY5ANTtuEff
8v/o+/3/cef0/wDV7dgA0uwoAAAAAAAAAAAAAAAAANXsNhrY7v7b+Pz/tvL5/yPZ7/8A1O2qANLuLQAA
AAA6O5lwEhKk/r3A1//W2e3/tLbu/5iZ8/97e/P/Wlry/zc37/9PT/H/+fn5//j4+P/3+Pj/9vf3//b3
9//29vb/9vf3//b39//3+Pj/7Oz3/0tL8f9aW/L/c3Pz/46O9v+lpvb/ubrz/9TW8f+2uNj/EBCk/jo7
mXAA1e1UN93w/+b6/f873fH/ANTssgDM7g8AAAAAAAAAAAAAAAAAAAAAAAAAAADV7mcH1u3we+j1/+37
/f+N6/b/GNju/gDU7rAA1u4sNjiXiA0Oov6mqM3/2Nvu/7K07f+WmPH/eHjy/1lZ8v/IyPn//Pz8//v7
+//6+vr/+fr6//n6+v/5+fn/+fr6//n6+v/6+vr/+/v7/7W1+P90dPT/jY32/6Kj9P+3ufH/1dbx/56f
zf8NDqL+NjiXiAAAAAAA1O3DrfH5/2bl9P8A1O2ZAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA1eoYANPspBjY7v6N6/b/7Pv9/5Hs9/8M1u33ANTsXzs9mF0ODqH9goTA/djb7f+5vO7/k5Xv/5yd
8v/5+vn//f39//7+/v/9/f3//f39//z9/f/8/Pz//P39//39/f/9/f3//v7+//v7/f+gofT/n6Dy/7y9
8P/T1vD/e3y//Q4Oof07PZhdAAAAAADS7TkO1u397/z9/wrV7f0A1eoYAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU7y8A1O2rFdfu/pvu9//T9/v/FNfu/QDV7zE/Q5Q2HiGf9Skr
qf+mqNX/xcfv/+Hk7v/v8fD/8vTz//b39v/4+fn/+vv6//v7+//7/Pz/+/v7//r7+v/4+fn/9vf2//L0
8//h4/H/xcfx/5+g1P8lJ6j/HSeh/RWhzZsA1O1TANTtjwbV7e+18vn/mO33/wDT7cEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANXtKwDT7dOS7Pf/lu33/wDU
7bkA1etOANTt4WqMw/8TFKH/UFSv/tXZ2P/s7+7/7vDv/+3w7v/u8fD/7/Lw//Dy8f/w8/H/8PLx//Dz
8f/v8vH/7/Lw/+3w7//V2dj/TE+v/REUof+DkMX/yfX7/3vo9f9L4PL/iOr2/9b4/P+u8fn/BNXs6gDT
7CkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS
7CgR1+787Pv9/yXa7/8v2/D/qvD5/872+/8Ky+j0S2udm4qPjtGKj433r7Sx9c3Qz//Y29r/4uXj/+ru
7P/q7uz/4uXj/9jc2v/N0M//r7Ox9YqPjfeKkI7RWFuRhQbA4WcF1e32Q9/x/5Ds9/+98/r/gen2/zze
8f8D1O3sANTvLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA1O2gbub0//H8/v/i+vz/c+f1/w3W7fsA1O1TAAAAAAAAAACAi4sWhouIZYuQ
jayMkI/MipCN5YaLifmGi4n5ipCN5YyRj8yLkI6shouIZYCLixYAAAAAAAAAAAAAAAAA0egLANPsUgDU
7aAA1O3KANXtiwDT7UYAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0+0dANTtthbX7v8F1O3xANXtiwDQ7BsAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV7SoA2+0OAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA/8//////AAD/A4ABwP8AAP8A
AAAAfwAA/gAAAAA/AADwAAAAAA8AAOAAAAAAAwAAwAAAAAABAADAAAAAAAEAAMAAAAAAAwAAwAAAAAAD
AADAAAAAAAMAAMAAAAAAAwAA4AAAAAAHAADwAAAAAA8AAPgAAAAAPwAA+AAP8AAfAAD4AB/4AB8AAPgA
P/wAHwAA8AB//gAPAADwAH/+AA8AAPAA//8ADwAA8AD//wAPAADwAP//AA8AAPAA//8ADwAA8AD//wAP
AADwAP//AA8AAPAAf/4ADwAA+AA//AAfAAD4AD/8AB8AAPgAD/AAHwAA+AAH4AAHAADgAAAAAAMAAMAA
AAAAAQAAgAAAAABBAACAAAAAAAMAAIMAAAAAAwAAgIAAAAAHAADAAAAAAh8AAOAAAAAEHwAA+AAAAAA/
AAD+AAAAAD8AAP8AAAAAfwAA/4DAA4H/AAD/gf////8AAP/n/////wAA////////AAAoAAAAIAAAAEAA
AAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AAAAAAAAgAEAAMADAADgBwAA8A8AAA==
</value>
</data>
</root>

43
LVNC-RS/frmLVNC-RS-Main.vb

@ -0,0 +1,43 @@
Public Class frmLVNCRSMain
Private Sub frmLVNCRSMain_Load(sender As Object, e As EventArgs) Handles Me.Load
Services.checkRunTimeComponents()
Services.getSupportID()
If My.User.IsInRole(ApplicationServices.BuiltInRole.Administrator) Then
tsButtonRunAs.Image = Global.LVNC_RS.My.Resources.is_admin_on
Else
tsButtonRunAs.Image = Global.LVNC_RS.My.Resources.is_admin_off
End If
txtLVNCSupportID.Text = Format(Services.lSupportID, "### ### ##0")
End Sub
Private Sub tsButtonRunAs_Click(sender As Object, e As EventArgs) Handles tsButtonRunAs.Click
'Dim sLogin As String = "locadm"
'Dim sPasswd As String = "dbkrf-bujkrf"
'Dim secPasswd As New Security.SecureString
'
'For i As Integer = 0 To sPasswd.Length - 1
' secPasswd.AppendChar(sPasswd.ElementAt(i))
'Next
'
'Dim startInfo As New ProcessStartInfo
'With startInfo
' .Arguments = "/Q /C start " & Application.ExecutablePath
' .FileName = Environment.GetEnvironmentVariable("ComSpec")
' .Password = secPasswd
' .UserName = sLogin
' .UseShellExecute = False
' .WorkingDirectory = Environment.CurrentDirectory
' .WindowStyle = ProcessWindowStyle.Hidden
'End With
'
'Try
' Dim p As Process = Process.Start(startInfo)
'Catch ex As System.ComponentModel.Win32Exception
' Return
'End Try
'
'Application.Exit()
End Sub
End Class