Compare commits
386 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7d976a0a7 | ||
|
|
d09727a9cd | ||
|
|
30c3b0111d | ||
|
|
4ea588d897 | ||
|
|
f7dfe0ecd0 | ||
|
|
323b3fb6de | ||
|
|
e6f1c947be | ||
|
|
a01663d2ca | ||
|
|
936f2e6655 | ||
|
|
67a6d60c62 | ||
|
|
85e6797c4f | ||
|
|
22322bc3ba | ||
|
|
b4a3b14334 | ||
|
|
a3ac44af55 | ||
|
|
d773f78ff5 | ||
|
|
76ee48269b | ||
|
|
35f442bad6 | ||
|
|
43c001b4ba | ||
|
|
182b097902 | ||
|
|
f841f4b41c | ||
|
|
67d07e5f0f | ||
|
|
6d15e3649e | ||
|
|
4fab4d91d5 | ||
|
|
61b70047c6 | ||
|
|
8c3cdc39fb | ||
|
|
a871074845 | ||
|
|
155bc07466 | ||
|
|
d32699008c | ||
|
|
28a8a3debd | ||
|
|
da50517113 | ||
|
|
3079b45ab1 | ||
|
|
62edfd2c50 | ||
|
|
becf48f347 | ||
|
|
568170d525 | ||
|
|
d853303bc6 | ||
|
|
5462242c39 | ||
|
|
cfa935df11 | ||
|
|
818708dfb4 | ||
|
|
3d26a1a028 | ||
|
|
5dcfb272d9 | ||
|
|
c634b0ccbc | ||
|
|
c957be8774 | ||
|
|
513356506b | ||
|
|
f7754d2371 | ||
|
|
aa9a642ade | ||
|
|
7868b7e76b | ||
|
|
01d62c410d | ||
|
|
a1b4cadc1d | ||
|
|
9a283e5da7 | ||
|
|
7a7c6aebd9 | ||
|
|
4b03e542d6 | ||
|
|
66d3a83f1c | ||
|
|
cbda4f3b96 | ||
|
|
1e139fa5d9 | ||
|
|
816b5baefb | ||
|
|
ba3fb6cab2 | ||
|
|
a19a027d5a | ||
|
|
ab9f61dbd8 | ||
|
|
b76019f516 | ||
|
|
9d97c86704 | ||
|
|
8bbb717ac1 | ||
|
|
43f1c1fdce | ||
|
|
ec6cb2218f | ||
|
|
b382c8556f | ||
|
|
427464bca5 | ||
|
|
5629acba85 | ||
|
|
55caaefe88 | ||
|
|
1ce99d89b3 | ||
|
|
ad64e7f7f3 | ||
|
|
8d857867f2 | ||
|
|
8211a730d2 | ||
|
|
4d4fd79ce1 | ||
|
|
c155ac234e | ||
|
|
0d71be34f2 | ||
|
|
b5295dc98d | ||
|
|
864bfd912e | ||
|
|
a20606888e | ||
|
|
80791ff642 | ||
|
|
00db5c4dc7 | ||
|
|
701933cfb5 | ||
|
|
13a19fc9eb | ||
|
|
be8ed0f263 | ||
|
|
435e5eb9a8 | ||
|
|
b539c34cf6 | ||
|
|
2cd27114d6 | ||
|
|
eff877169d | ||
|
|
4474b84dac | ||
|
|
175d955ef8 | ||
|
|
d23fd3fc1f | ||
|
|
82d56f13fc | ||
|
|
68cee49830 | ||
|
|
5892c0cda8 | ||
|
|
59e09e3762 | ||
|
|
79dad7e319 | ||
|
|
4455f9c71d | ||
|
|
ed8e4e0303 | ||
|
|
56993c0785 | ||
|
|
ec830a3fc4 | ||
|
|
cb224a352a | ||
|
|
99b981b988 | ||
|
|
e88cf2be5e | ||
|
|
91262db838 | ||
|
|
e339fb1390 | ||
|
|
4644741849 | ||
|
|
f249505d84 | ||
|
|
6792737f25 | ||
|
|
87b0f317d1 | ||
|
|
2778f8d1c3 | ||
|
|
b67a68b100 | ||
|
|
72e2d9c2ab | ||
|
|
2af9e02029 | ||
|
|
7b6d01a965 | ||
|
|
d9cfda43b6 | ||
|
|
d15aa639f5 | ||
|
|
8a70a3e64b | ||
|
|
1a26a6a145 | ||
|
|
5f3449876e | ||
|
|
d757443e38 | ||
|
|
f8fe2c9760 | ||
|
|
a24728eebf | ||
|
|
06bdb264bc | ||
|
|
7a2c18804b | ||
|
|
ac797aaa8e | ||
|
|
c530ea300f | ||
|
|
245282bd06 | ||
|
|
ab1930e972 | ||
|
|
13ba0b2802 | ||
|
|
ee94b65fb0 | ||
|
|
cf16606348 | ||
|
|
fb826c7fac | ||
|
|
5b57f46d99 | ||
|
|
d5822094c1 | ||
|
|
87f7fbdf45 | ||
|
|
0bed923a4d | ||
|
|
69ab11eb5f | ||
|
|
217a03b191 | ||
|
|
cab2163d01 | ||
|
|
2346aaa1c3 | ||
|
|
7e45928297 | ||
|
|
76543a440b | ||
|
|
5cb98e0543 | ||
|
|
0436a6490e | ||
|
|
b3ee2633a8 | ||
|
|
036b90370f | ||
|
|
04dbfb2bf4 | ||
|
|
bfb137c442 | ||
|
|
5c2059c16f | ||
|
|
52694a1c4c | ||
|
|
961eb0b92c | ||
|
|
cbf74e5432 | ||
|
|
760b9b5434 | ||
|
|
d344e5ad16 | ||
|
|
3247f9a487 | ||
|
|
33a140ed60 | ||
|
|
0bc3cdb111 | ||
|
|
127e7cce2e | ||
|
|
db428989b1 | ||
|
|
4c33adfee7 | ||
|
|
3876099d56 | ||
|
|
114db6c90d | ||
|
|
53c5da7e0e | ||
|
|
888e55aaee | ||
|
|
2234770dac | ||
|
|
17a5853041 | ||
|
|
d80f3d757e | ||
|
|
85a5d027dc | ||
|
|
006c76b11d | ||
|
|
61a76908ea | ||
|
|
b729cab9c9 | ||
|
|
654e3cae1f | ||
|
|
bcc681f623 | ||
|
|
77716fc058 | ||
|
|
103c34853e | ||
|
|
3ec52987eb | ||
|
|
d3130f91d1 | ||
|
|
aae96c112a | ||
|
|
635ae405bd | ||
|
|
66c315f629 | ||
|
|
89c7baf7fa | ||
|
|
90eedc689e | ||
|
|
b262f00491 | ||
|
|
d0d81e382d | ||
|
|
5615dc18a6 | ||
|
|
ce08728652 | ||
|
|
fbc613efe5 | ||
|
|
d3560eb893 | ||
|
|
e53be11383 | ||
|
|
17c25d6481 | ||
|
|
e07fbe913f | ||
|
|
c91f406346 | ||
|
|
46afd47ba0 | ||
|
|
5f1e9ae0b7 | ||
|
|
62c9d6f474 | ||
|
|
935df3d4fa | ||
|
|
ec850f6c15 | ||
|
|
2b1732d061 | ||
|
|
cec787fd63 | ||
|
|
97e43d9238 | ||
|
|
1ec28e0bfd | ||
|
|
22e9c36365 | ||
|
|
757dd4c8ca | ||
|
|
3de4153c1a | ||
|
|
cfbdd94ed3 | ||
|
|
eab49ef3bd | ||
|
|
5027f534e3 | ||
|
|
85e1402cc0 | ||
|
|
f048b2d04d | ||
|
|
19218f20bb | ||
|
|
3f2ffea1f4 | ||
|
|
6fa8923f90 | ||
|
|
9a63b8c316 | ||
|
|
d3311497f2 | ||
|
|
79bdc4f734 | ||
|
|
b5b9388d58 | ||
|
|
d168516859 | ||
|
|
c219d34fa3 | ||
|
|
99f3638fbf | ||
|
|
944906a594 | ||
|
|
4f9e6ebbd4 | ||
|
|
fae284ca86 | ||
|
|
4a1ac9eded | ||
|
|
58757ff85f | ||
|
|
31b9b21f61 | ||
|
|
49273a95bc | ||
|
|
50489ddcf1 | ||
|
|
e0a46b7882 | ||
|
|
b7eac745fa | ||
|
|
9cff221acb | ||
|
|
3592fbc418 | ||
|
|
605cb4048b | ||
|
|
9cb33c4fde | ||
|
|
1cbcffdd34 | ||
|
|
19f2d6c6aa | ||
|
|
e0b8d8fc9d | ||
|
|
ee3f0bfa3a | ||
|
|
e54097cea6 | ||
|
|
0db6ea0c46 | ||
|
|
55968e5e85 | ||
|
|
83b7f111b2 | ||
|
|
af8b6c9f07 | ||
|
|
48ec5cdb01 | ||
|
|
7923991fbf | ||
|
|
e11b25f22b | ||
|
|
e1274cb69a | ||
|
|
6ea439e08b | ||
|
|
e06d914d0a | ||
|
|
1a1e2452f3 | ||
|
|
611d352103 | ||
|
|
bfe68ad3eb | ||
|
|
6f1446fec7 | ||
|
|
3c449f9f3d | ||
|
|
25ef36d8a3 | ||
|
|
101ec68f76 | ||
|
|
a798785083 | ||
|
|
07ea389464 | ||
|
|
6509de486e | ||
|
|
2f60379f3c | ||
|
|
5edbe78672 | ||
|
|
94aa5357ed | ||
|
|
0477af479d | ||
|
|
2f296d691c | ||
|
|
5b0ba26ecd | ||
|
|
844b2e9575 | ||
|
|
69b4633e9e | ||
|
|
00f14684bb | ||
|
|
2eb2dc56bd | ||
|
|
661c930d51 | ||
|
|
9cf6086518 | ||
|
|
7353852429 | ||
|
|
2a112d1cc3 | ||
|
|
526412b40d | ||
|
|
3def5f2a37 | ||
|
|
43d6a64576 | ||
|
|
f24b1b5cec | ||
|
|
e7abe6b4cf | ||
|
|
18be51ec88 | ||
|
|
32ae93b760 | ||
|
|
9520fbf019 | ||
|
|
7d2a4f05f1 | ||
|
|
4ec984d22e | ||
|
|
0eedd9f6ae | ||
|
|
93f77e33c2 | ||
|
|
ea203ed539 | ||
|
|
6d5d6f0247 | ||
|
|
57c0236c66 | ||
|
|
e1623a8157 | ||
|
|
f06c4f7e6b | ||
|
|
be3c8de3a2 | ||
|
|
f8fb72f455 | ||
|
|
1700f1a940 | ||
|
|
b32617b114 | ||
|
|
7a25e3cc2e | ||
|
|
29b1b90ae6 | ||
|
|
9852293d98 | ||
|
|
49c758a8a6 | ||
|
|
89fee5b579 | ||
|
|
ccebf41645 | ||
|
|
4d1003cfec | ||
|
|
bd6c07e9d0 | ||
|
|
45b8e5c10f | ||
|
|
176bc52f62 | ||
|
|
98293c99aa | ||
|
|
9878acff9a | ||
|
|
e874292016 | ||
|
|
280c6678cb | ||
|
|
dc7460cbaa | ||
|
|
4bd4a604e7 | ||
|
|
16e2c927bb | ||
|
|
687fe28820 | ||
|
|
ee70bea036 | ||
|
|
c917193575 | ||
|
|
b1d40f2c74 | ||
|
|
a255d24867 | ||
|
|
5e726472bc | ||
|
|
6ab8bb4a58 | ||
|
|
e08c88db5f | ||
|
|
96e6752af3 | ||
|
|
e71bf93052 | ||
|
|
8232f10e14 | ||
|
|
cb13433102 | ||
|
|
3ead76ab77 | ||
|
|
ecf3ecbcf0 | ||
|
|
26afcaeef2 | ||
|
|
0c1d69946d | ||
|
|
5e584cf4c7 | ||
|
|
6301fcc320 | ||
|
|
a1fc6c0a0d | ||
|
|
98460eea2b | ||
|
|
de0142dd37 | ||
|
|
9a0f8881a7 | ||
|
|
7c41abb1b4 | ||
|
|
e3ae10518d | ||
|
|
93eb34b71f | ||
|
|
9ccf91ad74 | ||
|
|
d44254f6b2 | ||
|
|
6afe0c9748 | ||
|
|
201d1b7b42 | ||
|
|
61b3644a03 | ||
|
|
a5ac1284a2 | ||
|
|
090dc8b421 | ||
|
|
e3730b4e1f | ||
|
|
e6ff376e5b | ||
|
|
829475567b | ||
|
|
ef983b90b2 | ||
|
|
122945b575 | ||
|
|
016fcb13f7 | ||
|
|
6ef5c621e8 | ||
|
|
80a9c4de37 | ||
|
|
d6f145ede7 | ||
|
|
5fe4e9e058 | ||
|
|
83ee8c160b | ||
|
|
681528cbd2 | ||
|
|
61db381eae | ||
|
|
25e3919595 | ||
|
|
2a5121d07a | ||
|
|
149f5785ad | ||
|
|
f80eadaa0d | ||
|
|
f272af53d0 | ||
|
|
37854b1901 | ||
|
|
11ed1b43ff | ||
|
|
7c151824f6 | ||
|
|
9cb88bae36 | ||
|
|
650631f8f7 | ||
|
|
040b235128 | ||
|
|
ded452fb81 | ||
|
|
e4068abf5e | ||
|
|
ff14463551 | ||
|
|
5f15e54a03 | ||
|
|
bc83a28201 | ||
|
|
fecbac2efd | ||
|
|
092f0116eb | ||
|
|
13fb66c4d1 | ||
|
|
686573b84e | ||
|
|
38872725b8 | ||
|
|
79b7c2d198 | ||
|
|
dbf99ea512 | ||
|
|
c5cc8b452d | ||
|
|
bd147f3806 | ||
|
|
c0d1df3647 | ||
|
|
33f53c1499 | ||
|
|
0c0ae291c1 | ||
|
|
03c2d458f3 | ||
|
|
cf6ef54199 | ||
|
|
c7af973dad | ||
|
|
8bda576458 | ||
|
|
2e6058899e |
26
.gitignore
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
Release/
|
||||
mRemoteV1/bin/
|
||||
mRemoteV1/obj/
|
||||
mRemoteV1/publish/
|
||||
*.pfx
|
||||
*.suo
|
||||
*.vbproj.user
|
||||
Thumbs.db
|
||||
[Dd]ebug/
|
||||
_Re[Ss]harper.*
|
||||
*.resharper
|
||||
*.resharper.user
|
||||
*.suo
|
||||
*.cache
|
||||
*~
|
||||
*.swp
|
||||
*.user*
|
||||
*.pidb
|
||||
*.gpState
|
||||
_UpgradeReport_Files/
|
||||
Backup/
|
||||
UpgradeLog.XML
|
||||
*.orig
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.ipch
|
||||
82
BUILD.CMD
Normal file
@@ -0,0 +1,82 @@
|
||||
@echo off
|
||||
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
set VERSIONTAG=
|
||||
|
||||
set VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
|
||||
set DEVENV="devenv.exe"
|
||||
set MAKENSIS="%ProgramFiles(x86)%\NSIS\Unicode\makensis.exe"
|
||||
set RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
|
||||
set SIGNCMD=signtool.exe sign /n "Next Generation Software" /sha1 "c4ece717747eb7d0cac824f6c7431e5237138b02" /t http://timestamp.verisign.com/scripts/timstamp.dll
|
||||
|
||||
rem Windows Sysinternals Sigcheck from http://technet.microsoft.com/en-us/sysinternals/bb897441
|
||||
set SIGCHECK="%ProgramFiles(x86)%\Sigcheck\sigcheck.exe"
|
||||
|
||||
call %VCVARSALL% x86
|
||||
|
||||
rmdir /s /q "%~dp0\mRemoteV1\bin" > nul 2>&1
|
||||
rmdir /s /q "%~dp0\mRemoteV1\obj" > nul 2>&1
|
||||
|
||||
echo Building release version...
|
||||
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release"
|
||||
|
||||
echo Building portable version...
|
||||
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release Portable"
|
||||
|
||||
echo Signing binaries...
|
||||
%SIGNCMD% "%~dp0\mRemoteV1\bin\Release\de\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release\en-US\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release\fr\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release\AxInterop.WFICALib.dll" "%~dp0\mRemoteV1\bin\Release\AxInterop.MSTSCLib.dll" "%~dp0\mRemoteV1\bin\Release\Interop.WFICALib.dll" "%~dp0\mRemoteV1\bin\Release\Interop.ShDocVw.dll" "%~dp0\mRemoteV1\bin\Release\Interop.MSTSCLib.dll" "%~dp0\mRemoteV1\bin\Release\Interop.EOLWTSCOM.dll" "%~dp0\mRemoteV1\bin\Release\Interop.EOLWTSCOM.dll" "%~dp0\mRemoteV1\bin\Release\mRemoteNG.exe" "%~dp0\mRemoteV1\bin\Release Portable\de\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release Portable\en-US\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release Portable\fr\mRemoteNG.resources.dll" "%~dp0\mRemoteV1\bin\Release Portable\AxInterop.WFICALib.dll" "%~dp0\mRemoteV1\bin\Release Portable\AxInterop.MSTSCLib.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.WFICALib.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.ShDocVw.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.MSTSCLib.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.EOLWTSCOM.dll" "%~dp0\mRemoteV1\bin\Release Portable\Interop.EOLWTSCOM.dll" "%~dp0\mRemoteV1\bin\Release Portable\mRemoteNG.exe"
|
||||
|
||||
mkdir "%~dp0\Release" > nul 2>&1
|
||||
|
||||
echo Getting product version...
|
||||
set VERSIONNSH="%~dp0\Release\Version.nsh"
|
||||
set SIGCHECK=!SIGCHECK:"=^"!
|
||||
set SIGCHECK=!SIGCHECK: =^^ !
|
||||
set SIGCHECK=!SIGCHECK:(=^^(!
|
||||
set SIGCHECK=!SIGCHECK:)=^^)!
|
||||
for /F "usebackq delims=. tokens=1-4" %%i in (`!SIGCHECK! /accepteula -q -n "%~dp0\mRemoteV1\bin\Release\mRemoteNG.exe"`) do (
|
||||
set PRODUCT_VERSION_SHORT=%%i.%%j
|
||||
echo ^^!define PRODUCT_VERSION "%%i.%%j.%%k.%%l" > %VERSIONNSH%
|
||||
echo ^^!define PRODUCT_VERSION_SHORT "%%i.%%j" >> %VERSIONNSH%
|
||||
echo ^^!define PRODUCT_VERSION_MAJOR "%%i" >> %VERSIONNSH%
|
||||
echo ^^!define PRODUCT_VERSION_MINOR "%%j" >> %VERSIONNSH%
|
||||
)
|
||||
echo Version is %PRODUCT_VERSION_SHORT%
|
||||
|
||||
echo Creating installer package...
|
||||
if defined VERSIONTAG (
|
||||
%MAKENSIS% /DPRODUCT_VERSION_TAG=%VERSIONTAG% "%~dp0\Installer\mRemote.nsi"
|
||||
|
||||
set INSTALLEREXE="%~dp0\Release\mRemoteNG-Installer-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.exe"
|
||||
set BINARYZIP="%~dp0\Release\mRemoteNG-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.zip"
|
||||
set PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-%PRODUCT_VERSION_SHORT%-%VERSIONTAG%.zip"
|
||||
) else (
|
||||
%MAKENSIS% "%~dp0\Installer\mRemote.nsi"
|
||||
|
||||
set INSTALLEREXE="%~dp0\Release\mRemoteNG-Installer-%PRODUCT_VERSION_SHORT%.exe"
|
||||
set BINARYZIP="%~dp0\Release\mRemoteNG-%PRODUCT_VERSION_SHORT%.zip"
|
||||
set PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-%PRODUCT_VERSION_SHORT%.zip"
|
||||
)
|
||||
|
||||
del %VERSIONNSH%
|
||||
|
||||
echo Signing installer package...
|
||||
%SIGNCMD% %INSTALLEREXE%
|
||||
|
||||
echo Creating release ZIP file...
|
||||
del /f /q %BINARYZIP% > nul 2>&1
|
||||
%RAR% a -m5 -r -ep1 -afzip -inul %BINARYZIP% "%~dp0\mRemoteV1\bin\Release\*.*"
|
||||
%RAR% a -m5 -r -ep1 -afzip -inul %BINARYZIP% "%~dp0\Installer\Dependencies\*.*"
|
||||
%RAR% a -m5 -ep -afzip -inul %BINARYZIP% "%~dp0\*.TXT"
|
||||
|
||||
echo Creating portable ZIP file...
|
||||
del /f /q %PORTABLEZIP% > nul 2>&1
|
||||
%RAR% a -m5 -r -ep1 -afzip -inul %PORTABLEZIP% "%~dp0\mRemoteV1\bin\Release Portable\*.*"
|
||||
%RAR% a -m5 -r -ep1 -afzip -inul %PORTABLEZIP% "%~dp0\Installer\Dependencies\*.*"
|
||||
%RAR% a -m5 -ep -afzip -inul %PORTABLEZIP% "%~dp0\*.TXT"
|
||||
|
||||
echo.
|
||||
echo Build process complete.
|
||||
echo.
|
||||
pause
|
||||
@@ -1,4 +1,193 @@
|
||||
1.50:
|
||||
1.70 Beta 2 (2013-02-18):
|
||||
Fix issue MR-47 - Silent Installation Prompts for Language
|
||||
Fix issue MR-54 - Error When disconnecting from SSL channel RDP
|
||||
Fix issue MR-58 - Bug when duplicating connection in connection view
|
||||
Fix issue MR-68 - Config Window Loses Options
|
||||
Fix issue MR-71 - Minimizing mRemoteNG causes temporary re-size of Putty sessions (windows)
|
||||
Fix issue MR-80 - Reconnect previous sessions
|
||||
Fix issue MR-81 - Problem Duplicating Folder w/ Sub-Folders
|
||||
Fix issue MR-85 - Microsoft .NET Framework warning
|
||||
Fix issue MR-86 - Citrix GDI+ Error when screen is locked
|
||||
Fix issue MR-96 - When pressing SHIFT+F4 to create a new connection inside a folder, the new connections doesn't inherit any properties from its parent
|
||||
Fix issue MR-101 - Collapse all folders causes a NullReferenceException
|
||||
Fix issue MR-165 - Can't close About window if it is the last tab
|
||||
Fix issue MR-166 - Inheritance button is disabled on some connections
|
||||
Fix issue MR-167 - Name and description of properties not show in inheritance list
|
||||
Fix issue MR-171 - Inherit configuration not showing friendly names for each inherit component
|
||||
Fix issue MR-172 - RDGatewayPassword is unencrypted in confCons.xml file
|
||||
Fix issue MR-174 - Trailing Space on a Hostname/IP will cause the connection not to happen.
|
||||
Fix issue MR-175 - Problem with focus when 2 or more PuTTY sessions opened
|
||||
Fix issue MR-176 - Del key while editing connection name triggers 'Delete Connection'
|
||||
Fix issue MR-178 - 3 different panels crashes all connections
|
||||
Fix issue MR-181 - Sessions on startup
|
||||
Fix issue MR-190 - Can't click on tab/session
|
||||
Fix issue MR-196 - Cannot export list without usernames and passwords
|
||||
Fix issue MR-199 - when using screen inside putty, screen becomes dead when reduce mremoteNG
|
||||
Fix issue MR-202 - The Connection "Tab" show Ampersands as underscores.
|
||||
Fix issue MR-214 - Hostname/IP reset
|
||||
Fix issue MR-224 - Session tabs become un-clickable after duplicating a tab or opening a new one in the same panel
|
||||
Fix issue MR-233 - Backslash at end of password prevents success of putty invocation and corresponding auto-logon
|
||||
Fix issue MR-235 - Config file gets corrupted when leaving the password entry box with ESC
|
||||
Fix issue MR-264 - Windows 8 support
|
||||
Fix issue MR-277 - Inheritance configuration button not appear in configuration tab
|
||||
Fix issue MR-284 - SSH: Text not showing properly
|
||||
Fix issue MR-299 - mRemoteNG crashes while using remotely (Windows XP remote desktop)
|
||||
Fix issue MR-306 - Fatal .NET exception on program start
|
||||
Fix issue MR-313 - PuTTY window not maximized when loading from saved session
|
||||
mRemoteNG now requires .NET Framework 3.0 instead of 2.0.
|
||||
Updated translations.
|
||||
Added translations for Spanish (Argentina), Italian, Polish, Portuguese, Chinese (Simplified).
|
||||
Improved the use of Tab and Shift-Tab to cycle through entries in the Config grid.
|
||||
Improved loading of XML files from older versions of mRemote/mRemoteNG.
|
||||
|
||||
1.70 Beta 1 (2012-02-27):
|
||||
Fix issue MR-77 - VerifyDatabaseVersion (Config.Connections.Save) failed. Version string portion was too short or too long.
|
||||
Fix issue MR-78 - Renaming Connections
|
||||
Fix issue MR-79 - MoveUp/Down item doesn't work + Sort button broken
|
||||
Fix issue MR-93 - Regional settings problem when using SQL connection in mRemoteNG
|
||||
Fix issue MR-97 - Integrate Dutch translation
|
||||
Fix issue MR-98 - Integrate Russian and Ukranian translations
|
||||
Fix issue MR-99 - Integrate Spanish translation
|
||||
Fix issue MR-131 - RD Gateway does not respect setting for use different credentials
|
||||
Added compatibility check for "Use FIPS compliant algorithms" security setting.
|
||||
Improved reporting of errors when encrypting and decrypting connection files.
|
||||
Added partial Polish translation.
|
||||
The panel tabs are now hidden if only one panel is open.
|
||||
Fix focus issue with RDP connections when changing tabs.
|
||||
Show changes live as connection tabs are being dragged around to change their order.
|
||||
Updated PuTTY to version 0.62.
|
||||
Improved error handling when loading connection files.
|
||||
Fixed bugs with creating a new connection file.
|
||||
A backup of the connection file is saved when it is loaded. The most recent ten backup copies are kept.
|
||||
Added the option to use a smart card for RD Gateway credentials.
|
||||
Made the use of CredSSP for RDP connections optional.
|
||||
Updated VncSharpNG to version 1.2.4440.36644.
|
||||
Added debugging symbols for VncSharpNG.
|
||||
|
||||
1.69 (2011-12-09):
|
||||
Fixed issue #66 - Fresh Install Fails to Create Config
|
||||
Fixed issue #69 - Connection file gets erased
|
||||
Fixed issue #72 - scrollbars added to RDP window after minimize/restore of mRemoteNG
|
||||
Disabled automatic updates in the portable edition
|
||||
Fixed file name in window title changing when exporting an XML file.
|
||||
Fixed Use only Notifications panel checkbox.
|
||||
Updated PuTTY to version 0.61
|
||||
Binaries are now digitally signed
|
||||
Added Credits, License, and Version History items to the Start Menu and made Start Menu item names localizable.
|
||||
|
||||
1.68 (2011-07-07):
|
||||
Fixed issue #48 - VerifyDatabaseVersion fails with new (empty) database tables.
|
||||
Fixed issue #60 - Can't save connections file
|
||||
Fixed issue #62 - Connection file error upon launch.
|
||||
|
||||
1.67 (2011-06-05):
|
||||
Fixed migration of external tools configuration and panel layout from Local to Roaming folder.
|
||||
Disable ICA Hotkeys for Citrix connections. Fixes issue with international users.
|
||||
Added a language selection option so users can override the language if they don't want it automatically detected.
|
||||
Added partial French translation to the application.
|
||||
Addded Thai translation to the installer.
|
||||
Updated graphics in the installer to mRemoteNG logo.
|
||||
Fixed RD Gateway default properties and RDP reconnection count setting not being saved.
|
||||
Fixed bug 33 - IPv6 doesn't work in quick Connect box.
|
||||
Moved the items under Tools in the Connections panel context menu up to the top level.
|
||||
Added buttons for Add Connection, Add Folder, and Sort Ascending (A-Z) to the Connections panel toolbar.
|
||||
Fixed rename edit control staying open when collapsing all folders.
|
||||
Changed sorting to sort all subfolders below the selected folder.
|
||||
Allow sorting of connections if a connection entry is selected.
|
||||
Fixed adding a connection entry if nothing is selected in the tree.
|
||||
Added 15-bit Color RDP setting.
|
||||
Fixed loading of RDP Colors setting from SQL.
|
||||
Added Font Smoothing and Desktop Composition RDP settings.
|
||||
Improved error handling when loading XML connection files.
|
||||
Added the mRemoteNG icon to the list of selectable icons for connection entries.
|
||||
Added confirmation before closing connection tabs.
|
||||
Fixed bug 42 - Maximized location not remembered with multiple monitors.
|
||||
Improved loading and saving of window location.
|
||||
Removed flickering on start up.
|
||||
Changed the Options page into a normal dialog.
|
||||
Improved Reset Layout function.
|
||||
Changed to use full four part version numbers with major, minor, build, and revision.
|
||||
Changed hard coded SQL database name into a user configurable setting.
|
||||
Fixed tab order of controls in Options dialog.
|
||||
Fixed bug 45 - Changing some settings in the config file may not save.
|
||||
|
||||
1.66 (2011-05-02):
|
||||
Fixed connections not working
|
||||
|
||||
1.65 (2011-05-02):
|
||||
Fixed Ctrl-Tab and Ctrl-Shift-Tab not working in any other applications while mRemoteNG is running
|
||||
Ctrl-Tab and Ctrl-Shift-Tab no longer work to switch tabs within mRemoteNG
|
||||
Fixed bug 36 - Install creates shortcuts only for the installing user
|
||||
Fixed bug 38 - Application uses the wrong Application Data settings folder (in Local Settings)
|
||||
Added code to the installer to check that the user is in the 'Power Users' or 'Administrators' group
|
||||
|
||||
1.64 (2011-04-27):
|
||||
Fixed bug 6 - VNC CTRL+key & keyboard combo mappings are broken
|
||||
Fixed bug 12 - Tab switch is not working in config panel
|
||||
Fixed bug 14 - RDP Connection authentication problem
|
||||
Fixed bug 22 - External App parameter macro expansion doesn't work with "try to integrate"
|
||||
Fixed bug 25 - Unhandled exception when mRemoteNG opens
|
||||
Added multilanguage support and German translation to the application
|
||||
Added Czech, Dutch, French, German, Polish, and Spanish translations to the installer
|
||||
Added Ctrl-Tab hotkey to switch to the next tab and Ctrl-Shift-Tab to switch to the previous tab
|
||||
Added Tab key to cycle through entries in the Config grid and Shift-Tab to cycle in reverse
|
||||
Added ability to configure external tools to run before or after a connection is established
|
||||
Fixed missing parameters in macro expansion for external tools
|
||||
Fixed RD Gateway and other inheritance bugs
|
||||
Changed how new connection files are created
|
||||
Changed the internal namespace of the application to mRemoteNG instead of mRemote
|
||||
Added credit for the DockPanel Suite to the About page
|
||||
Updated DockPanel Suite to version 2.5 RC1
|
||||
Updated VNCSharpNG to correct Ctrl and Alt key pass-through behavior
|
||||
|
||||
1.63 (2010-02-02):
|
||||
New icon and logo
|
||||
Fixed problems moving or resizing the main window while PuTTY (SSH/telnet/rlogin/raw) connections are open
|
||||
Fixed PuTTY processes not closing on Vista and 7 with UAC enabled
|
||||
Updated DockPanel Suite from 2.2.0 to 2.3.1
|
||||
Fixed error if the mouse is clicked outside of the remote screen area of a VNC connection
|
||||
Fixed flashing and red lines at bottom of the window on first run
|
||||
Added View->Reset Layout menu item
|
||||
Added F11 shortcut key to View->Full Screen
|
||||
Improved RDP error reporting
|
||||
Added support for Credential Security Support Provider (CredSSP) which is required for Network Level Authentication (NLA)
|
||||
Added support for connecting through Remote Desktop Gateway servers
|
||||
Popups can now be allowed in Internet Explorer by holding Ctrl+Alt when clicking a link
|
||||
Added PuTTY Settings item to tab context menu
|
||||
|
||||
1.62 (2010-01-19):
|
||||
Switched to VncSharp, an open source VNC component
|
||||
VNC is supported again except for the following features:
|
||||
Windows authentication
|
||||
Setting the compression, encoding and color settings
|
||||
Connecting through a proxy server
|
||||
Free SmartSize mode (it does the same thing as Aspect SmartSize mode now)
|
||||
Rearranged the Options page and added an Updates tab
|
||||
Added option to change how often updates are checked
|
||||
Open Updates options tab before connecting for the first time
|
||||
No longer show About page on first run
|
||||
Renamed Quicky toolbar to Quick Connect toolbar
|
||||
Changed back to allowing toolbars to dock to the left or right of the menu bar and added gripper to move it around
|
||||
Added RDP, VNC and ICA version numbers to Components Check page
|
||||
Fixed a bug with the inheritance buttons on the Config panel disappearing after awhile
|
||||
|
||||
1.61 (2010-01-14):
|
||||
Removed unlicensed SmartCode Solutions ViewerX VNC Viewer ActiveX
|
||||
This version of mRemoteNG does not support VNC
|
||||
|
||||
1.60 (2010-01-09):
|
||||
Changed name to mRemoteNG
|
||||
Fixed menu bar not staying docked to left side
|
||||
Removed snakes game Easter egg
|
||||
Removed references to visionapp Remote Desktop
|
||||
Changed filename delimiter in title bar from pipe to dash
|
||||
Changed default format for saving screenshot images to PNG
|
||||
Changed website addresses
|
||||
Added Report a Bug and Support Forum links to the Help menu
|
||||
Moved Check for Updates to the Help menu
|
||||
Changed website links in Help menu and About page to load within mRemoteNG instead of launching an external browser
|
||||
|
||||
1.50:
|
||||
Added the following formats to the "Save Connections As" function:
|
||||
mRemote CSV (standard CSV file with all properties)
|
||||
vRD 2008 CSV (standard CSV file with properties relevant for importing connections in vRD 2008)
|
||||
@@ -7,9 +196,9 @@
|
||||
1.49:
|
||||
mRemote and visionapp Remote Desktop 2008 merge!
|
||||
Read more here: http://www.mremote.org/wiki/visionappMerge.ashx
|
||||
or in the announcment panel.
|
||||
or in the Announcement panel.
|
||||
Added features to the update function
|
||||
Added Announcment feature
|
||||
Added Announcement feature
|
||||
Changed copyright notice in about screen and text when connecting via VNC
|
||||
Fixed some SQL-related problems
|
||||
|
||||
@@ -455,7 +644,7 @@ V0.0.3.2:
|
||||
V0.0.3.0:
|
||||
Added Options Tab
|
||||
Load connections file from different location
|
||||
Save/Don’t Save connections file on exit
|
||||
Save/Don't Save connections file on exit
|
||||
Show current tab name in window title
|
||||
Added drag and drop functionality to the connections tree
|
||||
Added feature to hide top bar
|
||||
@@ -465,7 +654,7 @@ V0.0.3.0:
|
||||
V0.0.2.7:
|
||||
Added feature to save connection settings to all connections in the selected container
|
||||
Icon choosing bug fixed
|
||||
Taskbar button had no text when in fullscreen – fixed
|
||||
Taskbar button had no text when in fullscreen - fixed
|
||||
Fixed bug in Quick Connect GUI
|
||||
Disabled "Display Wallpaper" and "Display Themes" checkboxes as these features are not implemented
|
||||
|
||||
113
CREDITS.TXT
Normal file
@@ -0,0 +1,113 @@
|
||||
Contributors
|
||||
============
|
||||
|
||||
Jason Barbier
|
||||
Wiktor Beryt
|
||||
Lionel Caignec
|
||||
Felix Deimel
|
||||
Holger Henke
|
||||
Tom Hiller
|
||||
Riley McArdle
|
||||
Apisitt Rattana
|
||||
Andreas Rehm
|
||||
David Vidmar
|
||||
|
||||
|
||||
Included Source Code
|
||||
====================
|
||||
|
||||
Command Line Arguments Parser 1.0
|
||||
Copyright <20> 2002 Richard Lopes
|
||||
MIT License
|
||||
http://www.codeproject.com/KB/recipes/command_line.aspx
|
||||
|
||||
DotNetVer
|
||||
Copyright <20> 2010 David Grinberg
|
||||
Copyright <20> 2010-2011 Brandon Hansen
|
||||
http://nsis.sourceforge.net/DotNetVer
|
||||
|
||||
|
||||
Included Components
|
||||
===================
|
||||
|
||||
ADTree 1.0
|
||||
Copyright <20> 2004 Marc Merritt
|
||||
Copyright <20> 2008 Felix Deimel
|
||||
http://www.codeproject.com/KB/selection/ADPickerCtrl.aspx
|
||||
|
||||
DiffieHellman 1.0
|
||||
Copyright <20> 2003 The Mentalis.org Team
|
||||
Modified New BSD License
|
||||
http://www.mentalis.org/
|
||||
|
||||
DockPanel Suite 2.3.1
|
||||
Copyright <20> 2007 Weifen Luo
|
||||
MIT License
|
||||
http://sourceforge.net/projects/dockpanelsuite/
|
||||
|
||||
Emergent OnLine WTSCOM 2.0.6.0
|
||||
Copyright <20> 2001-2003 Emergent OnLine
|
||||
http://www.go-eol.com/
|
||||
|
||||
FilteredPropertyGrid 1.0.0.0
|
||||
Copyright <20> 2006 Azuria
|
||||
http://www.codeproject.com/KB/cs/FilteredPropertyGrid.aspx
|
||||
|
||||
GeckoFX 1.8.1.4
|
||||
Copyright <20> 2008 Skybound Software
|
||||
Mozilla Public License 1.1
|
||||
http://www.geckofx.org/
|
||||
|
||||
IPTextBox 1.1
|
||||
Copyright <20> 2006 Matthew Kleinwaks
|
||||
Copyright <20> 2008 Felix Deimel
|
||||
http://www.vbforums.com/showthread.php?t=430169
|
||||
|
||||
log4net 1.2.10.0
|
||||
Copyright <20> 2001-2006 The Apache Software Foundation
|
||||
Apache License Version 2.0
|
||||
http://logging.apache.org/log4net/
|
||||
|
||||
Magic Library 1.7.4
|
||||
Copyright <20> 2002-2003 Crownwood Consulting, Ltd.
|
||||
Freely redistributable with attribution
|
||||
http://www.dotnetmagic.com/magic_download.html
|
||||
|
||||
Mentalis.org Security Library 1.0.13.715
|
||||
Copyright <20> 2002-2005 The Mentalis.org Team
|
||||
Modified New BSD License
|
||||
http://www.mentalis.org/
|
||||
|
||||
MiniGeckoBrowser 1.0
|
||||
Copyright <20> 2008 Felix Deimel
|
||||
http://www.appjuice.org/
|
||||
|
||||
MiniTabControl 1.0
|
||||
Copyright <20> 2008 Felix Deimel
|
||||
http://www.appjuice.org/
|
||||
|
||||
PuTTY 0.62
|
||||
Copyright <20> 1997-2011 Simon Tatham
|
||||
MIT License
|
||||
http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
||||
|
||||
SharpSSH 1.1.1.13
|
||||
Copyright <20> 2002-2008 Atsuhiko Yamanaka, JCraft, Inc.
|
||||
Copyright <20> 2007 Tamir Gal
|
||||
BSD Style License
|
||||
http://www.tamirgal.com/blog/page/SharpSSH.aspx
|
||||
|
||||
Silk Icon Set
|
||||
Copyright <20> 2005-2008 FAMFAMFAM
|
||||
Creative Commons Attribution 2.5 License
|
||||
http://www.famfamfam.com/
|
||||
|
||||
Vista TaskDialog Wrapper and Emulator 1.0
|
||||
Copyright <20> 2007-2009 Hedley Muscroft
|
||||
Code Project Open License (CPOL)
|
||||
http://www.codeproject.com/KB/vista/Vista_TaskDialog_Wrapper.aspx
|
||||
|
||||
VncSharp 1.0
|
||||
Copyright <20> 2004-2009 David Humphrey
|
||||
GNU General Public License (GPL) Version 2
|
||||
http://cdot.senecac.on.ca/projects/vncsharp/
|
||||
BIN
Installer/Dependencies/PuTTYNG.exe
Normal file
296
Installer/DotNetVer.nsh
Normal file
@@ -0,0 +1,296 @@
|
||||
; ---------------------
|
||||
; DotNetVer.nsh
|
||||
; Written by: David Grinberg
|
||||
; Homepage: http://ontheperiphery.veraida.com/
|
||||
; Updated By: Brandon Hansen (http://www.remotehams.com/)
|
||||
; ---------------------
|
||||
;
|
||||
; LogicLib extensions for checking Microsoft .NET Framework versions and service packs.
|
||||
;
|
||||
; Latests Updates by Brandon Hansen, KG6YPI (RemoteHams.com)
|
||||
; Dec 26, 2011 - .NET Framework 4.0 detection fixes - client profile not being found
|
||||
; Dec 07, 2010 - .NET Framework 4.0 detection added by Brandon Hansen (KG6YPI)
|
||||
;
|
||||
; Usage examples:
|
||||
;
|
||||
; ${If} ${HasDotNet4.0}
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 installed."
|
||||
; ${If} ${DOTNETVER_4_0} AtLeastDotNetServicePack 1
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 is at least SP1."
|
||||
; ${Else}
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 SP1 not installed."
|
||||
; ${EndIf}
|
||||
; ${If} ${DOTNETVER_4_0} HasDotNetClientProfile 1
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 (Client Profile) available."
|
||||
; ${EndIf}
|
||||
; ${If} ${DOTNETVER_4_0} HasDotNetFullProfile 1
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 (Full Profile) available."
|
||||
; ${EndIf}
|
||||
; ${If} ${DOTNETVER_4_0} HasDotNetFullProfile 0
|
||||
; DetailPrint "Microsoft .NET Framework 4.0 (Full Profile) not available."
|
||||
; ${EndIf}
|
||||
; ${EndIf}
|
||||
|
||||
|
||||
!verbose push
|
||||
!verbose 3
|
||||
|
||||
!ifndef ___DOTNETVER__NSH___
|
||||
!define ___DOTNETVER__NSH___
|
||||
|
||||
!include LogicLib.nsh
|
||||
!include Util.nsh
|
||||
|
||||
# constants
|
||||
|
||||
!define DOTNETVER_1_0 "1.0"
|
||||
!define DOTNETVER_1_1 "1.1"
|
||||
!define DOTNETVER_2_0 "2.0"
|
||||
!define DOTNETVER_3_0 "3.0"
|
||||
!define DOTNETVER_3_5 "3.5"
|
||||
!define DOTNETVER_4_0 "4.0"
|
||||
|
||||
# variable declaration
|
||||
|
||||
Var /GLOBAL __DONTNET_FOUNDVER
|
||||
|
||||
!macro __DotNetVer_DeclareVars
|
||||
!ifndef __DOTNETVER_VARS_DECLARED
|
||||
!define __DOTNETVER_VARS_DECLARED
|
||||
Var /GLOBAL __DOTNET_1.0
|
||||
Var /GLOBAL __DOTNET_1.1
|
||||
Var /GLOBAL __DOTNET_2.0
|
||||
Var /GLOBAL __DOTNET_3.0
|
||||
Var /GLOBAL __DOTNET_3.5
|
||||
Var /GLOBAL __DOTNET_4.0
|
||||
|
||||
Var /GLOBAL __DOTNETVER_1.0_SP
|
||||
Var /GLOBAL __DOTNETVER_1.1_SP
|
||||
Var /GLOBAL __DOTNETVER_2.0_SP
|
||||
Var /GLOBAL __DOTNETVER_3.0_SP
|
||||
Var /GLOBAL __DOTNETVER_3.5_SP
|
||||
Var /GLOBAL __DOTNETVER_4.0_SP
|
||||
|
||||
Var /GLOBAL __DOTNET_1.0_CLIENT
|
||||
Var /GLOBAL __DOTNET_1.1_CLIENT
|
||||
Var /GLOBAL __DOTNET_2.0_CLIENT
|
||||
Var /GLOBAL __DOTNET_3.0_CLIENT
|
||||
Var /GLOBAL __DOTNET_3.5_CLIENT
|
||||
Var /GLOBAL __DOTNET_4.0_CLIENT
|
||||
|
||||
Var /GLOBAL __DOTNET_1.0_FULL
|
||||
Var /GLOBAL __DOTNET_1.1_FULL
|
||||
Var /GLOBAL __DOTNET_2.0_FULL
|
||||
Var /GLOBAL __DOTNET_3.0_FULL
|
||||
Var /GLOBAL __DOTNET_3.5_FULL
|
||||
Var /GLOBAL __DOTNET_4.0_FULL
|
||||
|
||||
StrCpy $__DOTNET_1.0 0
|
||||
StrCpy $__DOTNET_1.1 0
|
||||
StrCpy $__DOTNET_2.0 0
|
||||
StrCpy $__DOTNET_3.0 0
|
||||
StrCpy $__DOTNET_3.5 0
|
||||
StrCpy $__DOTNET_4.0 0
|
||||
|
||||
StrCpy $__DOTNETVER_1.0_SP 0
|
||||
StrCpy $__DOTNETVER_1.1_SP 0
|
||||
StrCpy $__DOTNETVER_2.0_SP 0
|
||||
StrCpy $__DOTNETVER_3.0_SP 0
|
||||
StrCpy $__DOTNETVER_3.5_SP 0
|
||||
StrCpy $__DOTNETVER_4.0_SP 0
|
||||
|
||||
StrCpy $__DOTNET_1.0_CLIENT 0
|
||||
StrCpy $__DOTNET_1.1_CLIENT 0
|
||||
StrCpy $__DOTNET_2.0_CLIENT 0
|
||||
StrCpy $__DOTNET_3.0_CLIENT 0
|
||||
StrCpy $__DOTNET_3.5_CLIENT 0
|
||||
StrCpy $__DOTNET_4.0_CLIENT 0
|
||||
|
||||
StrCpy $__DOTNET_1.0_FULL 0
|
||||
StrCpy $__DOTNET_1.1_FULL 0
|
||||
StrCpy $__DOTNET_2.0_FULL 0
|
||||
StrCpy $__DOTNET_3.0_FULL 0
|
||||
StrCpy $__DOTNET_3.5_FULL 0
|
||||
StrCpy $__DOTNET_4.0_FULL 0
|
||||
|
||||
!endif
|
||||
!macroend
|
||||
|
||||
|
||||
# lazy initialization macro
|
||||
|
||||
!macro __DotNetVer_InitVars
|
||||
# only calculate version once
|
||||
StrCmp $__DONTNET_FOUNDVER "" dotnetver.noveryet
|
||||
Return
|
||||
|
||||
dotnetver.noveryet:
|
||||
!insertmacro __DotNetVer_DeclareVars
|
||||
|
||||
Push $0 ;registry count
|
||||
Push $1 ;registry key
|
||||
Push $2 ;version number
|
||||
Push $3 ;installed
|
||||
Push $4 ;service pack number
|
||||
Push $8 ;strLen helper var
|
||||
|
||||
StrCpy $0 0
|
||||
|
||||
dotnetver.startenum:
|
||||
|
||||
EnumRegKey $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP" $0
|
||||
StrCmp $1 "" dotnetver.done
|
||||
|
||||
IntOp $0 $0 + 1
|
||||
|
||||
StrCpy $2 $1 1 0
|
||||
StrCmp $2 "v" +1 dotnetver.startenum
|
||||
StrCpy $2 $1 3 1
|
||||
|
||||
; Check for .NET 1.0 to 3.5
|
||||
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1" "Install"
|
||||
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1" "SP"
|
||||
IntCmp $3 1 dotnetcheck.skipalt
|
||||
; Alternate check for versions that don't set the Install key
|
||||
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\$1\Setup" "InstallSuccess"
|
||||
dotnetcheck.skipalt:
|
||||
; This is a sanity check that works on .NET 1.0 to 3.5
|
||||
; if it fails check for dotnet 4
|
||||
IntCmp $3 0 dotnetcheck.40
|
||||
StrCmp $2 ${DOTNETVER_1_0} dotnetver.10
|
||||
StrCmp $2 ${DOTNETVER_1_1} dotnetver.11
|
||||
StrCmp $2 ${DOTNETVER_2_0} dotnetver.20
|
||||
StrCmp $2 ${DOTNETVER_3_0} dotnetver.30
|
||||
StrCmp $2 ${DOTNETVER_3_5} dotnetver.35
|
||||
dotnetcheck.40:
|
||||
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40
|
||||
StrCmp $2 "4" dotnetver.40
|
||||
|
||||
Goto dotnetver.startenum
|
||||
|
||||
dotnetver.10:
|
||||
StrCpy $__DOTNET_1.0 1
|
||||
StrCpy $__DOTNETVER_1.0_SP $4
|
||||
StrCpy $__DOTNET_1.0_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.11:
|
||||
StrCpy $__DOTNET_1.1 1
|
||||
StrCpy $__DOTNETVER_1.1_SP $4
|
||||
StrCpy $__DOTNET_1.1_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.20:
|
||||
StrCpy $__DOTNET_2.0 1
|
||||
StrCpy $__DOTNETVER_2.0_SP $4
|
||||
StrCpy $__DOTNET_2.0_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.30:
|
||||
StrCpy $__DOTNET_3.0 1
|
||||
StrCpy $__DOTNETVER_3.0_SP $4
|
||||
StrCpy $__DOTNET_3.0_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.35:
|
||||
StrCpy $__DOTNET_3.5 1
|
||||
StrCpy $__DOTNETVER_3.5_SP $4
|
||||
StrCpy $__DOTNET_3.5_FULL 1
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.40:
|
||||
; Check for .NET 4.0 (Full Profile)
|
||||
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Install"
|
||||
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "SP"
|
||||
StrLen $8 $3
|
||||
IntCmp $8 0 dotnetcheck.40c
|
||||
IntCmp $3 0 dotnetcheck.40c
|
||||
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40_Full
|
||||
StrCmp $2 "4" dotnetver.40_Full
|
||||
dotnetcheck.40c:
|
||||
; Check for .NET 4.0 (Client Profile)
|
||||
ReadRegDWORD $3 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "Install"
|
||||
ReadRegDWORD $4 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "SP"
|
||||
StrLen $8 $3
|
||||
IntCmp $8 0 dotnetver.startenum
|
||||
IntCmp $3 0 dotnetver.startenum
|
||||
StrCmp $2 ${DOTNETVER_4_0} dotnetver.40_Client
|
||||
StrCmp $2 "4" dotnetver.40_Client
|
||||
Goto dotnetver.startenum
|
||||
dotnetver.40_Full:
|
||||
StrCpy $__DOTNET_4.0 1
|
||||
StrCpy $__DOTNETVER_4.0_SP $4
|
||||
StrCpy $__DOTNET_4.0_FULL 1
|
||||
Goto dotnetcheck.40c ; continue looking for other profiles
|
||||
dotnetver.40_Client:
|
||||
StrCpy $__DOTNET_4.0 1
|
||||
StrCpy $__DOTNETVER_4.0_SP $4
|
||||
StrCpy $__DOTNET_4.0_CLIENT 1
|
||||
Goto dotnetver.startenum
|
||||
|
||||
dotnetver.done:
|
||||
|
||||
StrCpy $__DONTNET_FOUNDVER "1"
|
||||
|
||||
Pop $8
|
||||
Pop $4
|
||||
Pop $3
|
||||
Pop $2
|
||||
Pop $1
|
||||
Pop $0
|
||||
!macroend
|
||||
|
||||
!macro _HasDotNet _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _= `$__DOTNET_${_b}` `1` `${_t}` `${_f}`
|
||||
!macroend
|
||||
|
||||
!macro __DotNetVer_DefineTest Ver
|
||||
!define HasDotNet${Ver} `"" HasDotNet ${Ver}`
|
||||
!macroend
|
||||
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_1_0}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_1_1}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_2_0}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_3_0}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_3_5}
|
||||
!insertmacro __DotNetVer_DefineTest ${DOTNETVER_4_0}
|
||||
|
||||
!macro _AtLeastDotNetServicePack _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _>= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define AtLeastDotNetServicePack `AtLeastDotNetServicePack`
|
||||
|
||||
|
||||
!macro _AtMostDotNetServicePack _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _<= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define AtMostDotNetServicePack `AtMostDotNetServicePack`
|
||||
|
||||
|
||||
!macro _IsDotNetServicePack _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _= `$__DOTNETVER_${_a}_SP` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define IsDotNetServicePack `IsDotNetServicePack`
|
||||
|
||||
!macro _HasDotNetClientProfile _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _= `$__DOTNET_${_a}_CLIENT` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define HasDotNetClientProfile `HasDotNetClientProfile`
|
||||
|
||||
!macro _HasDotNetFullProfile _a _b _t _f
|
||||
${CallArtificialFunction} __DotNetVer_InitVars
|
||||
|
||||
!insertmacro _= `$__DOTNET_${_a}_FULL` `${_b}` `${_t}` `${_f}`
|
||||
!macroend
|
||||
!define HasDotNetFullProfile `HasDotNetFullProfile`
|
||||
|
||||
# done
|
||||
|
||||
!endif # !___DOTNETVER__NSH___
|
||||
|
||||
!verbose pop
|
||||
22
Installer/Language/czech.nsi
Normal file
@@ -0,0 +1,22 @@
|
||||
; Czech installer translation
|
||||
|
||||
; Start mRemoteNG after installation
|
||||
LangString LaunchMremoteNow ${LANG_CZECH} "mRemoteNG run CZECH message"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_CZECH} "Installer Language"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_CZECH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_CZECH} "mRemoteNG requires Microsoft .NET Framework 3.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_CZECH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_CZECH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_CZECH} "License"
|
||||
LangString UninstallLinkName ${LANG_CZECH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_CZECH} "Version History"
|
||||
22
Installer/Language/dutch.nsi
Normal file
@@ -0,0 +1,22 @@
|
||||
; Dutch installer translation
|
||||
|
||||
; Start mRemoteNG after installation
|
||||
LangString LaunchMremoteNow ${LANG_DUTCH} "mRemoteNG run DUTCH message"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_DUTCH} "Installer Language"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_DUTCH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_DUTCH} "mRemoteNG requires Microsoft .NET Framework 3.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_DUTCH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_DUTCH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_DUTCH} "License"
|
||||
LangString UninstallLinkName ${LANG_DUTCH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_DUTCH} "Version History"
|
||||
22
Installer/Language/english.nsi
Normal file
@@ -0,0 +1,22 @@
|
||||
; English installer translation
|
||||
|
||||
; Start mRemoteNG after installation
|
||||
LangString LaunchMremoteNow ${LANG_ENGLISH} "Launch mRemoteNG Now"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_ENGLISH} "Installer Language"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_ENGLISH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_ENGLISH} "mRemoteNG requires Microsoft .NET Framework 3.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_ENGLISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_ENGLISH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_ENGLISH} "License"
|
||||
LangString UninstallLinkName ${LANG_ENGLISH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_ENGLISH} "Version History"
|
||||
22
Installer/Language/french.nsi
Normal file
@@ -0,0 +1,22 @@
|
||||
; French installer translation
|
||||
|
||||
; Start mRemoteNG after installation
|
||||
LangString LaunchMremoteNow ${LANG_FRENCH} "mRemoteNG run FRENCH message"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_FRENCH} "Installer Language"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_FRENCH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_FRENCH} "mRemoteNG requires Microsoft .NET Framework 3.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_FRENCH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_FRENCH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_FRENCH} "License"
|
||||
LangString UninstallLinkName ${LANG_FRENCH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_FRENCH} "Version History"
|
||||
22
Installer/Language/german.nsi
Normal file
@@ -0,0 +1,22 @@
|
||||
; German installer translation
|
||||
|
||||
; Start mRemoteNG after installation
|
||||
LangString LaunchMremoteNow ${LANG_GERMAN} "mRemoteNG jetzt Starten"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_GERMAN} "Installationsprogamm Sprache"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_GERMAN} "Bitte w<>hlen Sie die Sprache f<>r das Installationsprogramm"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_GERMAN} "mRemoteNG ben<65>tigt das Microsoft .NET Framework 3.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_GERMAN} "Sie m<>ssen Mitglied der Grupper 'Power Users' or 'Administratoren' sein, damit Sie mRemoteNG installieren k<>nnen."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_GERMAN} "Credits"
|
||||
LangString CopyingLinkName ${LANG_GERMAN} "License"
|
||||
LangString UninstallLinkName ${LANG_GERMAN} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_GERMAN} "Version History"
|
||||
31
Installer/Language/languages.nsi
Normal file
@@ -0,0 +1,31 @@
|
||||
!define LanguageNameEnglish "English"
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
!include "Language\english.nsi"
|
||||
|
||||
!define LanguageNameCzech "Čeština"
|
||||
!insertmacro MUI_LANGUAGE "Czech"
|
||||
!include "Language\czech.nsi"
|
||||
|
||||
!define LanguageNameGerman "Deutsch"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
!include "Language\german.nsi"
|
||||
|
||||
!define LanguageNameSpanish "Español"
|
||||
!insertmacro MUI_LANGUAGE "Spanish"
|
||||
!include "Language\spanish.nsi"
|
||||
|
||||
!define LanguageNameFrench "Français"
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!include "Language\french.nsi"
|
||||
|
||||
!define LanguageNameDutch "Nederlands"
|
||||
!insertmacro MUI_LANGUAGE "Dutch"
|
||||
!include "Language\dutch.nsi"
|
||||
|
||||
!define LanguageNamePolish "Polski"
|
||||
!insertmacro MUI_LANGUAGE "Polish"
|
||||
!include "Language\polish.nsi"
|
||||
|
||||
!define LanguageNameThai "ภาษาไทย"
|
||||
!insertmacro MUI_LANGUAGE "Thai"
|
||||
!include "Language\thai.nsi"
|
||||
22
Installer/Language/polish.nsi
Normal file
@@ -0,0 +1,22 @@
|
||||
; Polish installer translation
|
||||
|
||||
; Start mRemoteNG after installation
|
||||
LangString LaunchMremoteNow ${LANG_POLISH} "mRemoteNG run POLISH message"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_POLISH} "Installer Language"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_POLISH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_POLISH} "mRemoteNG requires Microsoft .NET Framework 3.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_POLISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_POLISH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_POLISH} "License"
|
||||
LangString UninstallLinkName ${LANG_POLISH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_POLISH} "Version History"
|
||||
22
Installer/Language/spanish.nsi
Normal file
@@ -0,0 +1,22 @@
|
||||
; Spanish installer translation
|
||||
|
||||
; Start mRemoteNG after installation
|
||||
LangString LaunchMremoteNow ${LANG_SPANISH} "mRemoteNG run SPANISH message"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_SPANISH} "Installer Language"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_SPANISH} "Please select the language of the installer"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_SPANISH} "mRemoteNG requires Microsoft .NET Framework 3.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_SPANISH} "You must be a member of the 'Power Users' or 'Administrators' group to install mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_SPANISH} "Credits"
|
||||
LangString CopyingLinkName ${LANG_SPANISH} "License"
|
||||
LangString UninstallLinkName ${LANG_SPANISH} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_SPANISH} "Version History"
|
||||
23
Installer/Language/thai.nsi
Normal file
@@ -0,0 +1,23 @@
|
||||
; Thai installer translation
|
||||
; Contributed by Apisitt Rattana
|
||||
|
||||
; Start mRemoteNG after installation
|
||||
LangString LaunchMremoteNow ${LANG_THAI} "ขณะนี้กำลังติดตั้ง mRemoteNG"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_THAI} "ภาษาสำหรับการติดตั้ง"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_THAI} "กรุณาเลือกภาษาสำหรับการติดตั้ง"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_THAI} "mRemoteNG มีความต้องการ Microsoft .NET Framework 3.0. เป็นพื้นฐาน"
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_THAI} "คุณต้องเป็นสมาชิกในกลุ่มของ 'Power Users' หรือ 'Administrators' เพื่อการติดตั้ง mRemoteNG"
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_THAI} "Credits"
|
||||
LangString CopyingLinkName ${LANG_THAI} "License"
|
||||
LangString UninstallLinkName ${LANG_THAI} "Uninstall"
|
||||
LangString ChangeLogLinkName ${LANG_THAI} "Version History"
|
||||
BIN
Installer/RecycleBin.ico
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
Installer/Setup_Install.ico
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
Installer/header.bmp
Normal file
|
After Width: | Height: | Size: 83 KiB |
197
Installer/mRemote.nsi
Normal file
@@ -0,0 +1,197 @@
|
||||
!include "MUI.nsh"
|
||||
!include "WordFunc.nsh"
|
||||
!insertmacro VersionCompare
|
||||
|
||||
!include "DotNetVer.nsh"
|
||||
!include "..\Release\Version.nsh"
|
||||
|
||||
; This will be passed in using the /D switch by BUILD.CMD
|
||||
!ifdef PRODUCT_VERSION_TAG
|
||||
!define PRODUCT_VERSION_FRIENDLY "${PRODUCT_VERSION_SHORT}"
|
||||
!define PRODUCT_VERSION_TAGGED "${PRODUCT_VERSION_SHORT}-${PRODUCT_VERSION_TAG}"
|
||||
!else
|
||||
!define PRODUCT_VERSION_FRIENDLY "${PRODUCT_VERSION_SHORT}"
|
||||
!define PRODUCT_VERSION_TAGGED "${PRODUCT_VERSION_SHORT}"
|
||||
!endif
|
||||
|
||||
; Basic Config
|
||||
Name "mRemoteNG ${PRODUCT_VERSION_FRIENDLY}"
|
||||
OutFile "..\Release\mRemoteNG-Installer-${PRODUCT_VERSION_TAGGED}.exe"
|
||||
SetCompressor /SOLID lzma
|
||||
InstallDir "$PROGRAMFILES\mRemoteNG"
|
||||
InstallDirRegKey HKLM "Software\mRemoteNG" "InstallPath"
|
||||
RequestExecutionLevel admin
|
||||
|
||||
; Version Information
|
||||
VIProductVersion ${PRODUCT_VERSION}
|
||||
VIAddVersionKey "CompanyName" "Next Generation Software"
|
||||
VIAddVersionKey "ProductName" "mRemoteNG"
|
||||
VIAddVersionKey "ProductVersion" ${PRODUCT_VERSION}
|
||||
VIAddVersionKey "LegalCopyright" "Copyright © 2007-2009 Felix Deimel, 2010-2013 Riley McArdle"
|
||||
VIAddVersionKey "FileDescription" "mRemoteNG ${PRODUCT_VERSION_FRIENDLY} Installer"
|
||||
VIAddVersionKey "FileVersion" ${PRODUCT_VERSION}
|
||||
|
||||
; Design
|
||||
!define MUI_ICON "Setup_Install.ico"
|
||||
!define MUI_UNICON "RecycleBin.ico"
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_HEADERIMAGE_BITMAP "header.bmp" ; optional
|
||||
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
|
||||
!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" ; optional
|
||||
!define MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
|
||||
!define MUI_HEADER_TRANSPARENT_TEXT
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "welcomefinish.bmp"
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "welcomefinish.bmp"
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH
|
||||
|
||||
; Install Pages
|
||||
!insertmacro MUI_PAGE_LICENSE "..\COPYING.TXT"
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!define MUI_FINISHPAGE_NOAUTOCLOSE
|
||||
|
||||
; Finish Page
|
||||
!define MUI_FINISHPAGE_RUN_NOTCHECKED
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\mRemoteNG.exe"
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
; Uninstall Pages
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
; Get Languages
|
||||
!include "Language\languages.nsi"
|
||||
|
||||
; Set finish page text
|
||||
!define MUI_FINISHPAGE_RUN_Text "$(LaunchMremoteNow)"
|
||||
|
||||
Function .onInit
|
||||
ClearErrors
|
||||
UserInfo::GetName
|
||||
IfErrors Win9x
|
||||
Pop $0
|
||||
UserInfo::GetAccountType
|
||||
Pop $1
|
||||
# GetOriginalAccountType will check the tokens of the original user of the
|
||||
# current thread/process. If the user tokens were elevated or limited for
|
||||
# this process, GetOriginalAccountType will return the non-restricted
|
||||
# account type.
|
||||
# On Vista with UAC, for example, this is not the same value when running
|
||||
# with `RequestExecutionLevel user`. GetOriginalAccountType will return
|
||||
# "admin" while GetAccountType will return "user".
|
||||
StrCmp $1 "Admin" 0 +3
|
||||
Goto doit
|
||||
StrCmp $1 "Power" 0 +3
|
||||
Goto doit
|
||||
StrCmp $1 "User" 0 +3
|
||||
Goto noop
|
||||
StrCmp $1 "Guest" 0 +3
|
||||
Goto noop
|
||||
MessageBox MB_OK "Unknown error"
|
||||
Goto doit
|
||||
|
||||
Win9x:
|
||||
doit:
|
||||
# We can install
|
||||
IfSilent +2
|
||||
Call SelectLanguage
|
||||
Goto end
|
||||
noop:
|
||||
MessageBox MB_OK "$(RequiresAdminUser)"
|
||||
Quit
|
||||
end:
|
||||
FunctionEnd
|
||||
|
||||
Function SelectLanguage
|
||||
;Language selection dialog
|
||||
Push ""
|
||||
Push ${LANG_ENGLISH}
|
||||
Push ${LanguageNameEnglish}
|
||||
Push ${LANG_GERMAN}
|
||||
Push ${LanguageNameGerman}
|
||||
Push ${LANG_DUTCH}
|
||||
Push ${LanguageNameDutch}
|
||||
Push ${LANG_FRENCH}
|
||||
Push ${LanguageNameFrench}
|
||||
Push ${LANG_POLISH}
|
||||
Push ${LanguageNamePolish}
|
||||
Push ${LANG_SPANISH}
|
||||
Push ${LanguageNameSpanish}
|
||||
Push ${LANG_CZECH}
|
||||
Push ${LanguageNameCzech}
|
||||
Push ${LANG_THAI}
|
||||
Push ${LanguageNameThai}
|
||||
Push A ; A means auto count languages
|
||||
; for the auto count to work the first empty push (Push "") must remain
|
||||
LangDLL::LangDialog "$(InstallerLanguage)" "$(SelectInstallerLanguage)"
|
||||
|
||||
Pop $LANGUAGE
|
||||
StrCmp $LANGUAGE "cancel" 0 +2
|
||||
Abort
|
||||
|
||||
; Check .NET version
|
||||
${IfNot} ${HasDotNet3.0}
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "$(RequiresNetFramework)"
|
||||
Quit
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Section "" ; Install
|
||||
SetOutPath $INSTDIR
|
||||
SetShellVarContext all
|
||||
|
||||
; AddFiles
|
||||
File /r /x "mRemoteNG.vshost.*" "..\mRemoteV1\bin\Release\*.*"
|
||||
File /r "Dependencies\*.*"
|
||||
File "..\*.txt"
|
||||
|
||||
; Uninstaller
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
|
||||
; Register ActiveX components
|
||||
RegDLL "$INSTDIR\eolwtscom.dll"
|
||||
|
||||
; Start Menu
|
||||
CreateDirectory "$SMPROGRAMS\mRemoteNG"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(CreditsLinkName).lnk" "$INSTDIR\CREDITS.TXT"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(CopyingLinkName).lnk" "$INSTDIR\COPYING.TXT"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk" "$INSTDIR\mRemoteNG.exe"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(UninstallLinkName).lnk" "$INSTDIR\Uninstall.exe"
|
||||
CreateShortCut "$SMPROGRAMS\mRemoteNG\$(ChangeLogLinkName).lnk" "$INSTDIR\CHANGELOG.TXT"
|
||||
|
||||
; Registry
|
||||
WriteRegStr HKLM "Software\mRemoteNG" "InstallPath" $INSTDIR
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayName" "mRemoteNG"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "Publisher" "Next Generation Software"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayIcon" "$INSTDIR\mRemoteNG.exe"
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "EstimatedSize" 7080
|
||||
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "DisplayVersion" ${PRODUCT_VERSION}
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMajor" ${PRODUCT_VERSION_MAJOR}
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "VersionMinor" ${PRODUCT_VERSION_MINOR}
|
||||
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "UninstallString" '"$INSTDIR\Uninstall.exe"'
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "NoModify" 1
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG" "NoRepair" 1
|
||||
SectionEnd
|
||||
|
||||
Section "un.Uninstall"
|
||||
; Unregister ActiveX components
|
||||
UnregDLL "$INSTDIR\eolwtscom.dll"
|
||||
|
||||
; Delete Files
|
||||
RMDIR /r $INSTDIR
|
||||
|
||||
; Start Menu
|
||||
SetShellVarContext all
|
||||
RMDir /r "$SMPROGRAMS\mRemoteNG"
|
||||
SetShellVarContext current
|
||||
RMDir /r "$SMPROGRAMS\mRemoteNG"
|
||||
|
||||
; Registry
|
||||
DeleteRegValue HKLM "Software\mRemoteNG" "InstallPath"
|
||||
DeleteRegKey /ifempty HKLM "Software\mRemoteNG"
|
||||
DeleteRegKey /ifempty HKCU "Software\mRemoteNG"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG"
|
||||
SectionEnd
|
||||
BIN
Installer/welcomefinish.bmp
Normal file
|
After Width: | Height: | Size: 151 KiB |
14
README.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
mRemoteNG is the next generation of mRemote, a full-featured, multi-tab remote connections manager.
|
||||
|
||||
It allows you to store all your remote connections in a simple yet powerful interface.
|
||||
|
||||
Currently these protocols are supported:
|
||||
|
||||
* RDP (Remote Desktop)
|
||||
* VNC (Virtual Network Computing)
|
||||
* ICA (Independent Computing Architecture)
|
||||
* SSH (Secure Shell)
|
||||
* Telnet (TELecommunication NETwork)
|
||||
* HTTP/S (Hypertext Transfer Protocol)
|
||||
* Rlogin (Rlogin)
|
||||
* RAW
|
||||
BIN
Tools/SortRESX.exe
Normal file
50
Update Languages.cmd
Normal file
@@ -0,0 +1,50 @@
|
||||
@echo off
|
||||
|
||||
set ZIP_FILE="%~dp0\..\mremoteng.zip"
|
||||
set TEMP_FOLDER="%TEMP%\Translations.tmp"
|
||||
set SORTRESX="%~dp0\Tools\SortRESX.exe"
|
||||
set RAR="%ProgramFiles%\WinRAR\WinRAR.exe"
|
||||
|
||||
call :expand %ZIP_FILE%
|
||||
goto :skip
|
||||
:expand
|
||||
set ZIP_FILE="%~f1"
|
||||
exit /b
|
||||
:skip
|
||||
|
||||
echo.
|
||||
echo This script updates the language files with new translations from Crowdin
|
||||
echo.
|
||||
echo Download the latest translation file from Crowdin and place it here:
|
||||
echo.
|
||||
echo %ZIP_FILE%
|
||||
echo.
|
||||
|
||||
choice /m "Would you like to continue?"
|
||||
|
||||
echo.
|
||||
|
||||
mkdir %TEMP_FOLDER%
|
||||
%RAR% x -o+ %ZIP_FILE% *.* %TEMP_FOLDER%
|
||||
|
||||
%SORTRESX% %TEMP_FOLDER%\ar\Language.ar.resx "%~dp0\mRemoteV1\Language\Language.ar.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\de\Language.de.resx "%~dp0\mRemoteV1\Language\Language.de.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\en-US\Language.en.resx "%~dp0\mRemoteV1\Language\Language.en-US.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\es-AR\Language.es.resx "%~dp0\mRemoteV1\Language\Language.es-AR.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\es-ES\Language.es.resx "%~dp0\mRemoteV1\Language\Language.es.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\fr\Language.fr.resx "%~dp0\mRemoteV1\Language\Language.fr.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\hu\Language.hu.resx "%~dp0\mRemoteV1\Language\Language.hu.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\it\Language.it.resx "%~dp0\mRemoteV1\Language\Language.it.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\nl\Language.nl.resx "%~dp0\mRemoteV1\Language\Language.nl.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\pl\Language.pl.resx "%~dp0\mRemoteV1\Language\Language.pl.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\pt-BR\Language.pt.resx "%~dp0\mRemoteV1\Language\Language.pt-BR.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\pt-PT\Language.pt.resx "%~dp0\mRemoteV1\Language\Language.pt.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\ru\Language.ru.resx "%~dp0\mRemoteV1\Language\Language.ru.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\uk\Language.uk.resx "%~dp0\mRemoteV1\Language\Language.uk.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\zh-CN\Language.zh.resx "%~dp0\mRemoteV1\Language\Language.zh-CN.resx"
|
||||
|
||||
rmdir /s /q %TEMP_FOLDER%
|
||||
|
||||
echo Done.
|
||||
echo.
|
||||
pause
|
||||
@@ -1,16 +1,22 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "mRemoteV1", "mRemoteV1\mRemoteV1.vbproj", "{4934A491-40BC-4E5B-9166-EA1169A220F6}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug Portable|Any CPU = Debug Portable|Any CPU
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release Portable|Any CPU = Release Portable|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug Portable|Any CPU.ActiveCfg = Debug Portable|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug Portable|Any CPU.Build.0 = Debug Portable|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release Portable|Any CPU.ActiveCfg = Release Portable|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release Portable|Any CPU.Build.0 = Release Portable|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4934A491-40BC-4E5B-9166-EA1169A220F6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
|
||||
BIN
mRemoteV1.suo
181
mRemoteV1/App/App.Announcement.vb
Normal file
@@ -0,0 +1,181 @@
|
||||
Imports System.Net
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace App
|
||||
Public Class Announcement
|
||||
Implements IDisposable
|
||||
|
||||
#Region "Private Variables"
|
||||
Private webClient As WebClient
|
||||
Private webProxy As WebProxy
|
||||
#End Region
|
||||
|
||||
#Region "Public Properties"
|
||||
Private _currentAnnouncementInfo As Info
|
||||
Public ReadOnly Property CurrentAnnouncementInfo() As Info
|
||||
Get
|
||||
Return _currentAnnouncementInfo
|
||||
End Get
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Function IsAnnouncementAvailable() As Boolean
|
||||
Try
|
||||
Dim aI As Info = GetAnnouncementInfo()
|
||||
|
||||
If aI.InfoOk = False Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If aI.Name <> My.Settings.LastAnnouncement Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "IsAnnouncementAvailable failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function GetAnnouncementInfo() As Info
|
||||
Try
|
||||
Dim strAnnouncement As String = GetAnnouncementFile()
|
||||
|
||||
CreateWebClient()
|
||||
|
||||
Dim aI As New Info()
|
||||
|
||||
If strAnnouncement <> "" Then
|
||||
aI.InfoOk = True
|
||||
|
||||
Try
|
||||
'get Name
|
||||
Dim strName As String = strAnnouncement.Substring(strAnnouncement.IndexOf("Name: ") + 6, strAnnouncement.IndexOf(vbNewLine) - 6)
|
||||
aI.Name = strName
|
||||
|
||||
strAnnouncement = strAnnouncement.Remove(0, strAnnouncement.IndexOf(vbNewLine) + 2)
|
||||
|
||||
'get Download URL
|
||||
Dim strU As String = ""
|
||||
|
||||
strU = strAnnouncement.Substring(strAnnouncement.IndexOf("URL: ") + 5, strAnnouncement.IndexOf(vbNewLine) - 5)
|
||||
|
||||
aI.Url = strU
|
||||
Catch ex As Exception
|
||||
aI.InfoOk = False
|
||||
End Try
|
||||
Else
|
||||
aI.InfoOk = False
|
||||
End If
|
||||
|
||||
_currentAnnouncementInfo = aI
|
||||
Return aI
|
||||
Catch ex As Exception
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Getting Announcement info failed" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function GetAnnouncementFile() As String
|
||||
Try
|
||||
CreateWebClient()
|
||||
|
||||
Dim strTemp As String
|
||||
|
||||
Try
|
||||
strTemp = webClient.DownloadString(App.Info.General.URLAnnouncement)
|
||||
Catch ex As Exception
|
||||
strTemp = ""
|
||||
End Try
|
||||
|
||||
Return strTemp
|
||||
Catch ex As Exception
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "GetAnnouncementFile failed" & vbNewLine & ex.Message, True)
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Sub CreateWebClient()
|
||||
webClient = New WebClient()
|
||||
|
||||
If My.Settings.UpdateUseProxy Then
|
||||
webProxy = New WebProxy(My.Settings.UpdateProxyAddress, My.Settings.UpdateProxyPort)
|
||||
|
||||
If My.Settings.UpdateProxyUseAuthentication Then
|
||||
Dim cred As ICredentials
|
||||
cred = New NetworkCredential(My.Settings.UpdateProxyAuthUser, Security.Crypt.Decrypt(My.Settings.UpdateProxyAuthPass, App.Info.General.EncryptionKey))
|
||||
|
||||
webProxy.Credentials = cred
|
||||
End If
|
||||
|
||||
webClient.Proxy = webProxy
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Public Class Info
|
||||
Private _Name As String
|
||||
Public Property Name() As String
|
||||
Get
|
||||
Return _Name
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_Name = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _url As String
|
||||
Public Property Url() As String
|
||||
Get
|
||||
Return _url
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_url = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _InfoOk As Boolean
|
||||
Public Property InfoOk() As Boolean
|
||||
Get
|
||||
Return _InfoOk
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
_InfoOk = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
|
||||
#Region "IDisposable Support"
|
||||
Private disposedValue As Boolean ' To detect redundant calls
|
||||
|
||||
' IDisposable
|
||||
Protected Overridable Sub Dispose(disposing As Boolean)
|
||||
If Not Me.disposedValue Then
|
||||
If disposing Then
|
||||
If webClient IsNot Nothing Then webClient.Dispose()
|
||||
End If
|
||||
|
||||
' TODO: free unmanaged resources (unmanaged objects) and override Finalize() below.
|
||||
' TODO: set large fields to null.
|
||||
End If
|
||||
Me.disposedValue = True
|
||||
End Sub
|
||||
|
||||
' TODO: override Finalize() only if Dispose(ByVal disposing As Boolean) above has code to free unmanaged resources.
|
||||
'Protected Overrides Sub Finalize()
|
||||
' ' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.
|
||||
' Dispose(False)
|
||||
' MyBase.Finalize()
|
||||
'End Sub
|
||||
|
||||
' This code added by Visual Basic to correctly implement the disposable pattern.
|
||||
Public Sub Dispose() Implements IDisposable.Dispose
|
||||
' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.
|
||||
Dispose(True)
|
||||
GC.SuppressFinalize(Me)
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -1,149 +0,0 @@
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports mRemote.App.Runtime
|
||||
|
||||
Namespace App
|
||||
Public Class Announcment
|
||||
#Region "Private Properties"
|
||||
Private wCl As WebClient
|
||||
Private wPr As WebProxy
|
||||
#End Region
|
||||
|
||||
Private _curAI As Info
|
||||
Public ReadOnly Property curAI() As Info
|
||||
Get
|
||||
Return _curAI
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Function IsAnnouncmentAvailable() As Boolean
|
||||
Try
|
||||
Dim aI As Info = GetAnnouncmentInfo()
|
||||
|
||||
If aI.InfoOk = False Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If aI.Name <> My.Settings.LastAnnouncment Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsAnnouncmentAvailable failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function GetAnnouncmentInfo() As Info
|
||||
Try
|
||||
Dim strAnnouncment As String = GetAnnouncmentFile()
|
||||
|
||||
CreateWebClient()
|
||||
|
||||
Dim aI As New Info()
|
||||
|
||||
If strAnnouncment <> "" Then
|
||||
aI.InfoOk = True
|
||||
|
||||
Try
|
||||
'get Name
|
||||
Dim strName As String = strAnnouncment.Substring(strAnnouncment.IndexOf("Name: ") + 6, strAnnouncment.IndexOf(vbNewLine) - 6)
|
||||
aI.Name = strName
|
||||
|
||||
strAnnouncment = strAnnouncment.Remove(0, strAnnouncment.IndexOf(vbNewLine) + 2)
|
||||
|
||||
'get Download URL
|
||||
Dim strU As String = ""
|
||||
|
||||
strU = strAnnouncment.Substring(strAnnouncment.IndexOf("URL: ") + 5, strAnnouncment.IndexOf(vbNewLine) - 5)
|
||||
|
||||
aI.URL = strU
|
||||
Catch ex As Exception
|
||||
aI.InfoOk = False
|
||||
End Try
|
||||
Else
|
||||
aI.InfoOk = False
|
||||
End If
|
||||
|
||||
_curAI = aI
|
||||
Return aI
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Getting announcment info failed" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function GetAnnouncmentFile() As String
|
||||
Try
|
||||
CreateWebClient()
|
||||
|
||||
Dim strTemp As String
|
||||
|
||||
Try
|
||||
strTemp = wCl.DownloadString(App.Info.General.URLAnnouncment)
|
||||
Catch ex As Exception
|
||||
strTemp = ""
|
||||
End Try
|
||||
|
||||
Return strTemp
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "GetAnnouncmentFile failed" & vbNewLine & ex.Message, True)
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Sub CreateWebClient()
|
||||
wCl = New WebClient()
|
||||
|
||||
If My.Settings.UpdateUseProxy Then
|
||||
wPr = New WebProxy(My.Settings.UpdateProxyAddress, My.Settings.UpdateProxyPort)
|
||||
|
||||
If My.Settings.UpdateProxyUseAuthentication Then
|
||||
Dim cred As ICredentials
|
||||
cred = New NetworkCredential(My.Settings.UpdateProxyAuthUser, Security.Crypt.Decrypt(My.Settings.UpdateProxyAuthPass, App.Info.General.EncryptionKey))
|
||||
|
||||
wPr.Credentials = cred
|
||||
End If
|
||||
|
||||
wCl.Proxy = wPr
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
Public Class Info
|
||||
Private _Name As String
|
||||
Public Property Name() As String
|
||||
Get
|
||||
Return _Name
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_Name = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _URL As String
|
||||
Public Property URL() As String
|
||||
Get
|
||||
Return _URL
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_URL = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Private _InfoOk As Boolean
|
||||
Public Property InfoOk() As Boolean
|
||||
Get
|
||||
Return _InfoOk
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
_InfoOk = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -1,10 +0,0 @@
|
||||
Imports System.IO
|
||||
|
||||
Namespace App
|
||||
Namespace Editions
|
||||
Public Class Spanlink
|
||||
Public Shared Enabled As Boolean = True
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
@@ -3,34 +3,32 @@ Imports System.Environment
|
||||
Namespace App
|
||||
Namespace Info
|
||||
Public Class General
|
||||
Public Shared ReadOnly URLHome As String = "http://www.mRemote.org/"
|
||||
Public Shared ReadOnly URLDonate As String = "https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=felix%2edeimel%40gmail%2ecom&item_name=mRemote%20Donations&buyer_credit_promo_code=&buyer_credit_product_category=&buyer_credit_shipping_method=&buyer_credit_user_address_change=&no_shipping=0&no_note=1&tax=0¤cy_code=EUR&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8"
|
||||
Public Shared ReadOnly URLBugs As String = "http://bugs.mremote.org/"
|
||||
Public Shared ReadOnly URLAnnouncment As String = "http://update.mRemote.org/mRemote_Announcment.txt"
|
||||
Public Shared ReadOnly URLvRD As String = "http://software.visionapp.com/vrd"
|
||||
Public Shared ReadOnly LogFile As String = My.Application.Info.DirectoryPath & "\mRemote.log"
|
||||
Public Shared ReadOnly URLHome As String = "http://www.mremoteng.org/"
|
||||
Public Shared ReadOnly URLDonate As String = "http://donate.mremoteng.org/"
|
||||
Public Shared ReadOnly URLForum As String = "http://forum.mremoteng.org/"
|
||||
Public Shared ReadOnly URLBugs As String = "http://bugs.mremoteng.org/"
|
||||
Public Shared ReadOnly URLAnnouncement As String = "http://update.mremoteng.org/announcement.txt"
|
||||
Public Shared ReadOnly HomePath As String = My.Application.Info.DirectoryPath
|
||||
Public Shared EncryptionKey As String = "mR3m"
|
||||
Public Shared ReportingFilePath As String = ""
|
||||
Public Shared SmartCodeURL As String = "http://www.s-code.com/products/viewerx/"
|
||||
Public Shared FamFamFamURL As String = "http://www.famfamfam.com/"
|
||||
End Class
|
||||
|
||||
Public Class Settings
|
||||
'Exchange to make portable/normal
|
||||
Public Shared ReadOnly SettingsPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.CompanyName.Replace(" ", "_") & "\" & My.Application.Info.ProductName
|
||||
'Public Shared ReadOnly SettingsPath As String = My.Application.Info.DirectoryPath
|
||||
|
||||
#If Not PORTABLE Then
|
||||
Public Shared ReadOnly SettingsPath As String = GetFolderPath(SpecialFolder.ApplicationData) & "\" & My.Application.Info.ProductName
|
||||
#Else
|
||||
Public Shared ReadOnly SettingsPath As String = My.Application.Info.DirectoryPath
|
||||
#End If
|
||||
Public Shared ReadOnly LayoutFileName As String = "pnlLayout.xml"
|
||||
Public Shared ReadOnly ExtAppsFilesName As String = "extApps.xml"
|
||||
End Class
|
||||
|
||||
Public Class Update
|
||||
Public Shared ReadOnly URL As String = "http://update.mRemote.org/"
|
||||
Public Shared ReadOnly URL As String = "http://update.mremoteng.org/"
|
||||
#If DEBUG Then
|
||||
Public Shared ReadOnly File As String = "mRemote_Update_Debug.txt"
|
||||
Public Shared ReadOnly File As String = "update-debug.txt"
|
||||
#Else
|
||||
Public Shared ReadOnly File As String = "mRemote_Update.txt"
|
||||
Public Shared ReadOnly File As String = "update.txt"
|
||||
#End If
|
||||
End Class
|
||||
|
||||
@@ -38,7 +36,7 @@ Namespace App
|
||||
Public Shared ReadOnly DefaultConnectionsPath As String = App.Info.Settings.SettingsPath
|
||||
Public Shared ReadOnly DefaultConnectionsFile As String = "confCons.xml"
|
||||
Public Shared ReadOnly DefaultConnectionsFileNew As String = "confConsNew.xml"
|
||||
Public Shared ReadOnly ConnectionFileVersion As Double = 2.1
|
||||
Public Shared ReadOnly ConnectionFileVersion As Double = 2.4
|
||||
End Class
|
||||
|
||||
Public Class Credentials
|
||||
|
||||
@@ -2,131 +2,196 @@
|
||||
|
||||
Namespace App
|
||||
Public Class Native
|
||||
#Region "Dll Imports"
|
||||
<DllImport("user32.dll", EntryPoint:="GetWindowThreadProcessId", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
|
||||
Public Shared Function GetWindowThreadProcessId(ByVal hWnd As Long, ByVal lpdwProcessId As Long) As Long
|
||||
End Function
|
||||
Private Sub New()
|
||||
' Fix Warning 292 CA1053 : Microsoft.Design : Because type 'Native' contains only 'static' ('Shared' in Visual Basic) members, add a default private constructor to prevent the compiler from adding a default public constructor.
|
||||
End Sub
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True)> _
|
||||
Public Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True)> _
|
||||
Public Shared Function SetParent(ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", EntryPoint:="GetWindowLongA", SetLastError:=True)> _
|
||||
Public Shared Function GetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True)> _
|
||||
Public Shared Function SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True)> _
|
||||
Public Shared Function MoveWindow(ByVal hWnd As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal repaint As Boolean) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", EntryPoint:="PostMessageA", SetLastError:=True)> _
|
||||
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As Integer, ByVal lParam As Integer) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function ShowWindow(ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function BringWindowToTop(ByVal hWnd As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function GetForegroundWindow() As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", EntryPoint:="GetWindowTextLengthA")> _
|
||||
Public Shared Function GetWindowTextLength(ByVal hWnd As IntPtr) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function IsIconic(ByVal hWnd As IntPtr) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
Public Shared Function GetSystemMenu(ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll")> _
|
||||
#Region "Functions"
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function AppendMenu(ByVal hMenu As IntPtr, ByVal uFlags As Int32, ByVal uIDNewItem As IntPtr, ByVal lpNewItem As String) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function InsertMenu(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer, ByVal uIDNewItem As IntPtr, ByVal lpNewItem As String) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function SetMenuItemBitmaps(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer, ByVal hBitmapUnchecked As IntPtr, ByVal hBitmapChecked As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function CreatePopupMenu() As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function FindWindowEx(ByVal parentHandle As IntPtr, ByVal childAfter As IntPtr, ByVal lclassName As String, ByVal windowTitle As String) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function GetForegroundWindow() As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function GetSystemMenu(ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function InsertMenu(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer, ByVal uIDNewItem As IntPtr, ByVal lpNewItem As String) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function IsIconic(ByVal hWnd As IntPtr) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function MoveWindow(ByVal hWnd As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal repaint As Boolean) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As Integer, ByVal lParam As Integer) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wparam As Integer, ByVal lparam As Integer) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function MapVirtualKey(ByVal wCode As Integer, ByVal wMapType As Integer) As Integer
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetClipboardViewer(ByVal hWndNewViewer As IntPtr) As IntPtr
|
||||
End Function
|
||||
|
||||
<DllImport("user32")> _
|
||||
Public Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Long
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetMenuItemBitmaps(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer, ByVal hBitmapUnchecked As IntPtr, ByVal hBitmapChecked As IntPtr) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetParent(ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Long
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function SetWindowLong(ByVal hWnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Long) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function ShowWindow(ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
|
||||
Public Shared Function WindowFromPoint(ByVal point As Point) As IntPtr
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "Structures"
|
||||
<StructLayout(LayoutKind.Sequential)> _
|
||||
Public Structure WINDOWPOS
|
||||
Public hwnd As IntPtr
|
||||
Public hwndInsertAfter As IntPtr
|
||||
Public x As Integer
|
||||
Public y As Integer
|
||||
Public cx As Integer
|
||||
Public cy As Integer
|
||||
Public flags As Integer
|
||||
End Structure
|
||||
#End Region
|
||||
|
||||
#Region "Helpers"
|
||||
Public Shared Function MAKELONG(ByRef wLow As Int32, ByRef wHigh As Int32) As Int32
|
||||
Return wLow Or wHigh << 16
|
||||
End Function
|
||||
|
||||
Public Shared Function MAKELPARAM(ByRef wLow As Int32, ByRef wHigh As Int32) As Int32
|
||||
Return MAKELONG(wLow, wHigh)
|
||||
End Function
|
||||
|
||||
Public Shared Function LOWORD(ByRef value As Int32) As Int32
|
||||
Return value And &HFFFF
|
||||
End Function
|
||||
|
||||
Public Shared Function LOWORD(ByRef value As IntPtr) As Int32
|
||||
Return LOWORD(value.ToInt32)
|
||||
End Function
|
||||
|
||||
Public Shared Function HIWORD(ByRef value As Int32) As Int32
|
||||
Return value >> 16
|
||||
End Function
|
||||
|
||||
Public Shared Function HIWORD(ByRef value As IntPtr) As Int32
|
||||
Return HIWORD(value.ToInt32)
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Constants"
|
||||
Public Const SWP_NOOWNERZORDER As Integer = 512
|
||||
Public Const SWP_NOREDRAW As Integer = 8
|
||||
Public Const SWP_NOZORDER As Integer = 4
|
||||
Public Const SWP_SHOWWINDOW As Integer = 64
|
||||
Public Const WS_EX_MDICHILD As Integer = 64
|
||||
Public Const SWP_FRAMECHANGED As Integer = 32
|
||||
Public Const SWP_NOACTIVATE As Integer = 16
|
||||
Public Const SWP_ASYNCWINDOWPOS As Integer = 16384
|
||||
Public Const SWP_NOMOVE As Integer = 2
|
||||
Public Const SWP_NOSIZE As Integer = 1
|
||||
' GetWindowLong
|
||||
Public Const GWL_STYLE As Integer = (-16)
|
||||
Public Const WS_VISIBLE As Integer = 268435456
|
||||
Public Const WM_CLOSE As Integer = 16
|
||||
Public Const WS_CHILD As Integer = 1073741824
|
||||
Public Const WS_MAXIMIZE As Integer = 16777216
|
||||
|
||||
' AppendMenu / ModifyMenu / DeleteMenu / RemoveMenu
|
||||
Public Const MF_BYCOMMAND As Integer = &H0
|
||||
Public Const MF_BYPOSITION As Integer = &H400
|
||||
Public Const MF_STRING As Integer = &H0
|
||||
Public Const MF_POPUP As Integer = &H10
|
||||
Public Const MF_SEPARATOR As Integer = &H800
|
||||
|
||||
' WM_LBUTTONDOWN / WM_LBUTTONUP
|
||||
Public Const MK_LBUTTON As Integer = &H1
|
||||
|
||||
' ShowWindow
|
||||
Public Const SW_SHOWMAXIMIZED As Integer = 3
|
||||
Public Const SW_RESTORE As Integer = 9
|
||||
|
||||
Public Const MF_STRING As Integer = &H0
|
||||
Public Const MF_SEPARATOR As Integer = &H800&
|
||||
Public Const MF_BYCOMMAND As Integer = &H0
|
||||
Public Const MF_BYPOSITION As Integer = &H400
|
||||
Public Const MF_POPUP As Integer = &H10
|
||||
' SetWindowPos / WM_WINDOWPOSCHANGING / WM_WINDOWPOSCHANGED
|
||||
Public Const SWP_NOSIZE As Integer = &H1
|
||||
Public Const SWP_NOMOVE As Integer = &H2
|
||||
Public Const SWP_NOZORDER As Integer = &H4
|
||||
Public Const SWP_NOREDRAW As Integer = &H8
|
||||
Public Const SWP_NOACTIVATE As Integer = &H10
|
||||
Public Const SWP_DRAWFRAME As Integer = &H20
|
||||
Public Const SWP_FRAMECHANGED As Integer = &H20
|
||||
Public Const SWP_SHOWWINDOW As Integer = &H40
|
||||
Public Const SWP_HIDEWINDOW As Integer = &H80
|
||||
Public Const SWP_NOCOPYBITS As Integer = &H100
|
||||
Public Const SWP_NOOWNERZORDER As Integer = &H200
|
||||
Public Const SWP_NOSENDCHANGING As Integer = &H400
|
||||
Public Const SWP_NOCLIENTSIZE As Integer = &H800
|
||||
Public Const SWP_NOCLIENTMOVE As Integer = &H1000
|
||||
Public Const SWP_DEFERERASE As Integer = &H2000
|
||||
Public Const SWP_ASYNCWINDOWPOS As Integer = &H4000
|
||||
Public Const SWP_STATECHANGED As Integer = &H8000
|
||||
|
||||
' WM_ACTIVATE
|
||||
Public Const WA_INACTIVE As Integer = &H0
|
||||
Public Const WA_ACTIVE As Integer = &H1
|
||||
Public Const WA_CLICKACTIVE As Integer = &H2
|
||||
|
||||
' Window Messages
|
||||
Public Const WM_CREATE As Integer = &H1
|
||||
Public Const WM_DESTROY As Integer = &H2
|
||||
Public Const WM_ACTIVATE As Integer = &H6
|
||||
Public Const WM_GETTEXT As Integer = &HD
|
||||
Public Const WM_CLOSE As Integer = &H10
|
||||
Public Const WM_ACTIVATEAPP As Integer = &H1C
|
||||
Public Const WM_MOUSEACTIVATE As Integer = &H21
|
||||
Public Const WM_WINDOWPOSCHANGED As Integer = &H47
|
||||
Public Const WM_KEYDOWN As Integer = &H100
|
||||
Public Const WM_KEYUP As Integer = &H101
|
||||
Public Const WM_SYSCOMMAND As Integer = &H112
|
||||
|
||||
Public Const WM_MOUSEMOVE As Integer = &H200
|
||||
Public Const WM_LBUTTONDOWN As Integer = &H201
|
||||
Public Const WM_LBUTTONUP As Integer = &H202
|
||||
Public Const WM_RBUTTONDOWN As Integer = &H204
|
||||
Public Const WM_RBUTTONUP As Integer = &H205
|
||||
Public Const WM_MBUTTONDOWN As Integer = &H207
|
||||
Public Const WM_MBUTTONUP As Integer = &H208
|
||||
Public Const WM_XBUTTONDOWN As Integer = &H20B
|
||||
Public Const WM_XBUTTONUP As Integer = &H20C
|
||||
Public Const WM_PARENTNOTIFY As Integer = &H210
|
||||
Public Const WM_ENTERSIZEMOVE As Integer = &H231
|
||||
Public Const WM_EXITSIZEMOVE As Integer = &H232
|
||||
Public Const WM_DRAWCLIPBOARD As Integer = &H308
|
||||
Public Const WM_CHANGECBCHAIN As Integer = &H30D
|
||||
|
||||
Public Const WM_KEYDOWN As Integer = &H100
|
||||
Public Const WM_KEYUP As Integer = &H101
|
||||
' Window Styles
|
||||
Public Const WS_MAXIMIZE As Integer = &H1000000
|
||||
Public Const WS_VISIBLE As Integer = &H10000000
|
||||
Public Const WS_CHILD As Integer = &H40000000
|
||||
Public Const WS_EX_MDICHILD As Integer = &H40
|
||||
|
||||
' Virtual Key Codes
|
||||
Public Const VK_CONTROL As Integer = &H11
|
||||
Public Const VK_C As Integer = &H67
|
||||
#End Region
|
||||
|
||||
66
mRemoteV1/App/App.SupportedCultures.vb
Normal file
@@ -0,0 +1,66 @@
|
||||
Namespace App
|
||||
Public Class SupportedCultures
|
||||
Inherits Dictionary(Of String, String)
|
||||
|
||||
Private Sub New()
|
||||
Dim CultureInfo As Globalization.CultureInfo
|
||||
For Each CultureName As String In My.Settings.SupportedUICultures.Split(",")
|
||||
Try
|
||||
CultureInfo = New Globalization.CultureInfo(CultureName.Trim)
|
||||
Add(CultureInfo.Name, CultureInfo.TextInfo.ToTitleCase(CultureInfo.NativeName))
|
||||
Catch ex As Exception
|
||||
Debug.Print(String.Format("An exception occurred while adding the culture '{0}' to the list of supported cultures. {1}", CultureName, ex.ToString))
|
||||
End Try
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Shared _Instance As SupportedCultures = Nothing
|
||||
Public Shared Sub InstantiateSingleton()
|
||||
If _Instance Is Nothing Then
|
||||
_Instance = New SupportedCultures
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Shared Function IsNameSupported(ByVal CultureName As String) As Boolean
|
||||
Return _Instance.ContainsKey(CultureName)
|
||||
End Function
|
||||
|
||||
Public Shared Function IsNativeNameSupported(ByVal CultureNativeName As String) As Boolean
|
||||
Return _Instance.ContainsValue(CultureNativeName)
|
||||
End Function
|
||||
|
||||
Public Shared ReadOnly Property CultureName(ByVal CultureNativeName As String) As String
|
||||
Get
|
||||
Dim Names(_Instance.Count) As String
|
||||
Dim NativeNames(_Instance.Count) As String
|
||||
|
||||
_Instance.Keys.CopyTo(Names, 0)
|
||||
_Instance.Values.CopyTo(NativeNames, 0)
|
||||
|
||||
For Index As Integer = 0 To _Instance.Count
|
||||
If NativeNames(Index) = CultureNativeName Then
|
||||
Return Names(Index)
|
||||
End If
|
||||
Next
|
||||
|
||||
Throw New System.Collections.Generic.KeyNotFoundException()
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Shared ReadOnly Property CultureNativeName(ByVal CultureName As String) As String
|
||||
Get
|
||||
Return _Instance.Item(CultureName)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Shared ReadOnly Property CultureNativeNames() As List(Of String)
|
||||
Get
|
||||
Dim ValueList As New List(Of String)
|
||||
For Each Value As String In _Instance.Values
|
||||
ValueList.Add(Value)
|
||||
Next
|
||||
Return ValueList
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -1,6 +1,6 @@
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace App
|
||||
Public Class Update
|
||||
@@ -27,10 +27,8 @@ Namespace App
|
||||
Dim uI As Info = GetUpdateInfo()
|
||||
|
||||
Return uI.InfoOk
|
||||
|
||||
uI = Nothing
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsProxyOK (App.Update) failed" & vbNewLine & ex.Message, False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "IsProxyOK (App.Update) failed" & vbNewLine & ex.Message, False)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -49,7 +47,7 @@ Namespace App
|
||||
Return False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsUpdateAvailable failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "IsUpdateAvailable failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -75,7 +73,7 @@ Namespace App
|
||||
'get Download URL
|
||||
Dim strU As String = ""
|
||||
|
||||
strU = strUpdate.Substring(strUpdate.IndexOf("dURL: ") + 6, strUpdate.IndexOf(vbNewLine) - 6).Replace(".exe", "_" & Language.Base.CurrentLanguage.ToString & ".exe")
|
||||
strU = strUpdate.Substring(strUpdate.IndexOf("dURL: ") + 6, strUpdate.IndexOf(vbNewLine) - 6)
|
||||
|
||||
uI.DownloadUrl = strU
|
||||
|
||||
@@ -99,7 +97,7 @@ Namespace App
|
||||
Dim strImgURLLink As String = strUpdate.Substring(strUpdate.IndexOf("imgURLLink: ") + 12, strUpdate.IndexOf(vbNewLine) - 12)
|
||||
uI.ImageURLLink = strImgURLLink
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Update Image Info could not be read." & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Update Image Info could not be read." & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
Catch ex As Exception
|
||||
uI.InfoOk = False
|
||||
@@ -111,7 +109,7 @@ Namespace App
|
||||
_curUI = uI
|
||||
Return uI
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Getting update info failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Getting update info failed" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
@@ -128,7 +126,7 @@ Namespace App
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Update download failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Update download failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -166,7 +164,7 @@ Namespace App
|
||||
|
||||
Return strTemp
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "GetUpdateFile failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "GetUpdateFile failed" & vbNewLine & ex.Message, True)
|
||||
Return ""
|
||||
End Try
|
||||
End Function
|
||||
@@ -186,14 +184,11 @@ Namespace App
|
||||
RaiseEvent DownloadCompleted(sender, e, False)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "DLCompleted failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "DLCompleted failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
Public Class Info
|
||||
Private _Version As Version
|
||||
Public Property Version() As Version
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
|
||||
If My.Settings.SingleInstance Then
|
||||
Dim mutexID As String = "mRemote_SingleInstanceMutex"
|
||||
Dim mutexID As String = "mRemoteNG_SingleInstanceMutex"
|
||||
|
||||
mutex = New System.Threading.Mutex(False, mutexID)
|
||||
|
||||
@@ -63,6 +63,5 @@
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
|
||||
|
||||
@@ -1,485 +0,0 @@
|
||||
1.50:
|
||||
Added the following formats to the "Save Connections As" function:
|
||||
mRemote CSV (standard CSV file with all properties)
|
||||
vRD 2008 CSV (standard CSV file with properties relevant for importing connections in vRD 2008)
|
||||
Fixed bug in inheritance code (SmartSize Mode and View Only properies were always shown when using VNC)
|
||||
|
||||
1.49:
|
||||
mRemote and visionapp Remote Desktop 2008 merge!
|
||||
Read more here: http://www.mremote.org/wiki/visionappMerge.ashx
|
||||
or in the announcment panel.
|
||||
Added features to the update function
|
||||
Added Announcment feature
|
||||
Changed copyright notice in about screen and text when connecting via VNC
|
||||
Fixed some SQL-related problems
|
||||
|
||||
V1.48:
|
||||
ATTENTION! There is a bug in the automatic update code in 1.45 so you will have to download the new version manually from http://www.mremote.org/wiki/Downloads.ashx
|
||||
|
||||
Added startup components check with directions to fix component installation (also available in Tools - Components Check)
|
||||
Added "Try to integrate" option to Ext. Apps. If enabled mRemote will try to integrate the app into a tab container like any other connection protocol.
|
||||
Added Ext. App as protocol. Any Ext. App can be launched just like a normal connection.
|
||||
Example (DameWare Mini Remote Control):
|
||||
Create a new Ext. App with the following properties:
|
||||
Display Name: DameWare
|
||||
Filename: c:\PathToYourDameWareInstallDir\DWRCC.exe
|
||||
Arguments: -c: -h: -m:%hostname% -u:%username% -p:"%password%" -d:%domain%
|
||||
Options: Try to integrate
|
||||
Create a new connection and select Ext. App as protocol
|
||||
Then choose DameWare in the Ext. App field
|
||||
If you have problems with a particular app that takes a long time to start up consider setting a higher PuTTY/Ext. Apps wait time in Tools - Options - Advanced
|
||||
Added option to completely encrypt connection files (tools - options - advancecd)
|
||||
Added Rendering Engine option for HTTP/S protocols
|
||||
You can now use the Gecko (Firefox) rendering engine
|
||||
For this to work you need to download xulrunner (get it here: ftp://ftp.mozilla.org/pub/xulrunner/releases/1.8.1.3/contrib/win32/)
|
||||
It must be the 1.8.1.3 release, 1.9.0.0 does NOT work!
|
||||
Extract the contents to a path of your choice and set the correct path in Tools - Options - Advanced - XULrunner path
|
||||
The interface is tab enabled and usage is generally very firefox-like. So you can open new tabs with Ctrl+T, jump to the location bar with Ctrl+L and so on...
|
||||
Added "MAC Address", "User Field" fields and %MacAddress%, %UserField% variables to use in Ext. Apps
|
||||
Added descriptions for all fields in the config editor
|
||||
Fixed bug in connections loading code when using SQL storage
|
||||
Fixed bug in reconnect code
|
||||
Fixed VNC sessions not refreshing screen automatically when switching between tabs or panels
|
||||
|
||||
WARNING! There have been changes to the connections file/SQL tables
|
||||
Please always backup your whole config before updating to a new mRemote beta release, especially when there have been changes to the config files/SQL tables
|
||||
To get SQL working with the new version please update your tables like in the provided script (Info - Help - SQL Configuration)
|
||||
These are the added lines:
|
||||
[RenderingEngine] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[MacAddress] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[UserField] [varchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[ExtApp] [varchar] (256) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[InheritRenderingEngine] [bit] NOT NULL ,
|
||||
[InheritMacAddress] [bit] NOT NULL ,
|
||||
[InheritUserField] [bit] NOT NULL ,
|
||||
[InheritExtApp] [bit] NOT NULL ,
|
||||
|
||||
V1.45:
|
||||
New german language build available
|
||||
Added support for RDP 6.1 (XP SP3/Vista SP1) features (Server Authentication, Console Session, TS Gateway not yet...)
|
||||
Added basic support for UltraVNC SingleClick (Tools - UltraVNC SingleClick); the listening port is configurable in the options
|
||||
Fixed VNC connections not working on x64
|
||||
Fixed screenshots save all feature overwriting files with the same name (not actually a bug, but rather a new feature ;)
|
||||
Fixed ICA Encryption Strength not inheriting properly
|
||||
|
||||
WARNING! There have been changes to the connections file/SQL tables
|
||||
Please always backup your whole config before updating to a new mRemote beta release, especially when there have been changes to the config files/SQL tables
|
||||
To get SQL working with the new version please update your tables like in the provided script (Info - Help - SQL Configuration)
|
||||
These are the added lines:
|
||||
[RDPAuthenticationLevel] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
[InheritRDPAuthenticationLevel] [bit] NOT NULL ,
|
||||
|
||||
V1.43:
|
||||
Added function to send either the main form or a connection panel to another screen
|
||||
To send the form to another screen, right click the titlebar or the taskbar button and select "Send to..."
|
||||
If you want to send a panel to another screen, right click the panel's tab and do the same
|
||||
Fixed PuTTY connections not supporting credentials with spaces
|
||||
Fixed form not opening on last position when using multiple screens
|
||||
Fixed kiosk mode not working on secondary screen
|
||||
|
||||
V1.42:
|
||||
IMPORTANT NEWS: Please read the page that opens when you first start this release or go to:
|
||||
http://www.mRemote.org/wiki/MainPage.ashx#Commercial
|
||||
Added minimize to tray option
|
||||
Added option to enable switching to open connections with a single click on the corresponding connection in the tree
|
||||
Added button to test proxy settings
|
||||
Fixed: If the active connection tab is a PuTTY connection, Alt+Tab to mRemote now focuses the PuTTY window
|
||||
Fixed encoding problem with PuTTY sessions that included spaces
|
||||
Fixed problem that made mRemote inaccesible when closing it on a second monitor and then disabling this monitor
|
||||
Fixed: Inheritance defaults of some new VNC properties were not saved in the portable package
|
||||
|
||||
V1.41:
|
||||
Added complete support for SmartCode's ViewerX and removed VncSharp
|
||||
Many thx to everyone who donated to make this happen!!! I didn't think that it wouldn't even take a week! =)
|
||||
I hope everyone will be satisfied by the functions and possibilities this new control provides
|
||||
If you use one of the non-setup packages you must register the control yourself
|
||||
Open a cmd and change to the directory you installed mRemote to
|
||||
Type regsvr32 scvncctrl.dll and click ok
|
||||
Changed shortcuts and added buttons for them to the view menu under "Jump To" because they were causing several problems
|
||||
|
||||
WARNING! There have been changes to the connections file/SQL tables and the Ext. Apps XML file
|
||||
Please always backup your whole config before updating to a new mRemote beta release, especially when there have been changes to the config files/SQL tables
|
||||
To get SQL working with the new version please update your tables like in the provided script (Info - Help - SQL Configuration)
|
||||
|
||||
V1.40:
|
||||
Added (limited) support for the trial version of SmartCode's VNC ActiveX
|
||||
To enable it go to Options - Advanced and check "Try SmartCode VNC ActiveX"
|
||||
When connecting a pop up will open, wait about 10 seconds, then click on "Trial" to continue
|
||||
I will integrate this control fully into mRemote if I get enough Donations to buy the single developer license ($375,-)
|
||||
So if you want to see better VNC support (All UltraVNC, TightVNC and RealVNC functions) in mRemote, please help me and donate some bucks
|
||||
For donations either go to the mRemote Wiki (Info - Website) or click on Info - Donate to directly go to PayPal
|
||||
I will announce the current donation amount every day (or as often as I can) on the Wiki main page
|
||||
If you want to know more about the control go here: http://www.s-code.com/products/viewerx/
|
||||
Added feature to choose the panel a connection will open in when...
|
||||
a. no panel name was assigned in the properties
|
||||
b. you opened a connection with the option to choose the panel before connecting
|
||||
c. you checked "Always show panel selection dialog when opening connectins" in Options - Tabs & Panels
|
||||
Added Shortcuts to focus the standard panels
|
||||
Alt+C: Switch between Connections & Config panel
|
||||
Alt+S: Switch between Sessions & Screenshots panel
|
||||
Alt+E: Switch to Errors & Infos panel
|
||||
Added some new icons
|
||||
|
||||
V1.39:
|
||||
Added MagicLibrary.dll to the release again (forgot it in the 1.38 packages, sorry)
|
||||
Added auto-reconnect for ICA
|
||||
Added feature that automatically clears whitespaces in the Quicky Textfield
|
||||
Added special feature: Go to the set password dialog and type "ijustwannaplay" (without the quotes) in the password field... ;)
|
||||
|
||||
V1.38:
|
||||
Added automatic reconnect feature for RDP (Options - Advanced)
|
||||
Added connections drop-down to the quicky toolbar (same as the tray icon menu)
|
||||
Added setting in the options to enable/disable that double clicking on a connection tab closes it
|
||||
Added option to automatically set the hostname like the display name when creating new connections
|
||||
Fixed bug that caused the properties of a folder to be filled with "Object reference not set to an instance of an object." when adding a folder to the root with Default Inheritance enabled
|
||||
Fixed bug that made the properties of a newly added Connection to the root unavailable when Default Inheritance was enabled
|
||||
Fixed bug that the default settings for Pre/Post Ext. App, and their inheritance settings were not being saved
|
||||
Fixed bug in settings loading methods that caused the application to hang when an error occured
|
||||
Fixed bug in Ext. Apps panel that copied the properties of the previously selected Ext. App when "Wait for exit" was checked
|
||||
Fixed bug in the SQL Query that creates the tables needed by mRemote
|
||||
Attempt to fix the "Drop-Down on Screenshot" bug on some machines
|
||||
|
||||
V1.35:
|
||||
Added single instance mode (look in Options - Startup/Exit) - No cmd arguments supported yet!
|
||||
Added possibilty to start a Ext. App before connecting and on disconnect (e.g. for VPN/RAS)
|
||||
Added option to the Ext. Apps to tell mRemote to wait for the exit of the Ext. App
|
||||
Added encryption setting for ICA
|
||||
|
||||
WARNING! There have been changes to the connections file/SQL tables and the Ext. Apps XML file
|
||||
Please always backup your whole config before updating to a new mRemote beta release, especially when there have been changes to the config files/SQL tables
|
||||
Here's a list of new columns that need to be created before saving connections to an SQL server:
|
||||
Name: ICAEncryptionStrength, Data-Type: varchar, Length: 64, Allow Nulls: No
|
||||
Name: InheritICAEncryptionStrength, Data-Type: bit, Length: 1, Allow Nulls: No
|
||||
Name: PreExtApp, Date-Type: varchar, Length: 512, Allow Nulls: Yes
|
||||
Name: PostExtApp, Date-Type: varchar, Length: 512, Allow Nulls: Yes
|
||||
Name: InheritPreExtApp, Date-Type: bit, Length: 1, Allow Nulls: No
|
||||
Name: InheritPostExtApp, Date-Type: bit, Length: 1, Allow Nulls: No
|
||||
|
||||
V1.33:
|
||||
Fixed problem that caused RDP connections not to initialize properly when using XP SP3
|
||||
Fixed bug in Port Scan that prevented hosts with no hostname from being imported
|
||||
|
||||
V1.32:
|
||||
Added: Inheritance defaults can now be customized (look in the root properties of your connections tree)
|
||||
Fixed bug that made password-secured connection files not load properly because the return value from the password screen was always null
|
||||
Fixed a lot of outdated code in the import functions (Import from XML, Import from AD, Import from RDP files)
|
||||
Fixed bug that caused properties with a ' character not to be saved properly when using SQL Server
|
||||
Changed Target CPU to AnyCPU again as I think the x86 setting caused problems on x64 machines (although it shouldn't)
|
||||
|
||||
V1.31:
|
||||
Small speed improvement to the port scanner
|
||||
Fixed bug that caused SQL live-update to not work when not using AD Authentication
|
||||
Fixed bug that caused Save As not to work
|
||||
|
||||
V1.30:
|
||||
Added experimental SQL Server with live-update (multi-user) support (see Help - Getting started - SQL Configuration)
|
||||
Added bunch of new icons to the UI, most of them by famfamfam.com
|
||||
Added dropdown button to Quicky Toolbar to choose protocol
|
||||
Many smaller changes and additions
|
||||
Fixed: Wrong default PuTTY session name
|
||||
Fixed bug in Port Scanner that caused an error when no DNS name could be resolved
|
||||
|
||||
V1.25:
|
||||
Added inheritance for folders
|
||||
Added port scan feature and possibility to import from a scan
|
||||
Added toolbar for Ext. Apps (see View - External Applications Toolbar)
|
||||
Added quick connect as toolbar
|
||||
Added code that creates a backup of the current connections file every time it is loaded (It's named YourConsFile.xml_BAK)
|
||||
Added description variable to Ext. Apps
|
||||
Fixed bug that allowed inheriting from root node
|
||||
Fixed bug that caused Ext. Apps launched from a connection tab to use the selected tree node instead of the current tab
|
||||
Fixed bug that caused mRemote not to save panel layout and Ext. Apps on exit
|
||||
|
||||
V1.24:
|
||||
Fixed a bug in connections loading mechanism that caused a corrupted connections file when upgrading from a previous version
|
||||
|
||||
V1.23:
|
||||
Added feature to remember which connections were opened on last runtime and reconnect to them on the next start (see Tools - Options - Startup/Exit)
|
||||
A command line switch is also available to cancel reconnecting (/noreconnect or /norc)
|
||||
Added Auto Save feature (Tools - Options - Connections - Auto Save every...)
|
||||
Added Ext. Apps to connection tab context menu
|
||||
Added better error handling for RDP connection creation
|
||||
Fixed problem with Sessions feature on 64bit systems
|
||||
Fixed Sessions feature not working when using global credentials
|
||||
Fixed several problems with the Active Directory OU picker control
|
||||
Fixed bug in Connection duplicate code that caused duplicated connection to still have previous tree node assigned
|
||||
|
||||
V1.20:
|
||||
Added External Applications feature (check the help section for more info)
|
||||
Added duplicate feature to Connections tree
|
||||
Fixed: MagicLibrary.dll was not included in the setup package
|
||||
|
||||
V1.16:
|
||||
New Domain: www.mRemote.org
|
||||
Fixed PuTTY connections appearing in a new window
|
||||
There's a new setting in the options to fine tune the time to wait until the window has been created
|
||||
Fixed export not working
|
||||
Added reconnect feature in tab menu
|
||||
|
||||
V1.15:
|
||||
Added: New portable package
|
||||
Added: Defaults for new connections can now be customized
|
||||
Click the root item and then the new Properties-like button with a small yellow star to get to the settings
|
||||
Fixed Import from Active Directory not working
|
||||
Fixed problem with single click connect not focusing correctly
|
||||
Fixed root node not being renamed after changing name in property grid
|
||||
|
||||
V1.10:
|
||||
Added support for setting a password to protect the connections file with (look in the root of your connections tree)
|
||||
Added RDP file import feature
|
||||
Added new command-line switch to reset panel's positions
|
||||
Added HTTPS as protocol
|
||||
Added HTTP/S basic authentication
|
||||
Added support for setting a Proxy server for automatic updates
|
||||
Some changes in help section
|
||||
Fixed the bug that passwords stored in the options weren't decrypted when a connection was opened
|
||||
Fixed "bug" that prevented "Connect to console session" from working in RDC6.1 (Vista SP1 RC1/XP SP3 RC1)
|
||||
|
||||
V1.00:
|
||||
Merry Christmas! =)
|
||||
|
||||
V1.00 is a (almost) complete rewrite of the whole application
|
||||
The code base is now much cleaner and more (easily) extendable
|
||||
New features include (but are not limited to):
|
||||
Every part of the application is now integrated into panels which can be moved, docked and undocked, hidden, moved to another monitor, etc.
|
||||
This makes many new and exciting ways to manage connection and application windows possible
|
||||
You can for example open up 4 PuTTY sessions in 4 different panels and align them in the main application so you can use all 4 side by side - 2 on the upper side and 2 on the bottom for example
|
||||
This can be done for EVERY part of the application, it's completely modular and customizable
|
||||
Connection and folder (previously called containers) properties have moved to a new property grid control
|
||||
Every setting (with the exclusion of the hostname, which wouldn't make any sense) can now be inherited from the parent folder
|
||||
Connection file saving/loading is now handled a bit different (more in the help section)
|
||||
Application restart is no longer nececary after changing options, they are active with a click of the OK button
|
||||
Smart size can now be activated also if a connection is already open (in the right click menu of the active tab)
|
||||
A panel name can be stored with every connection (or folder, if inherting) to always open the connection in the specified panel
|
||||
And last but not least, many bugs have been fixed, though there are probably many new bugs aswell - Did I already mention this is a rewrite? ;)
|
||||
I hope you like my work and if you do please consider donating on the mRemote website to support me a little. Any amount will do! Thx!
|
||||
|
||||
V0.50:
|
||||
Removed old Terminal (SSH, Telnet) control and embedded PuTTY instead
|
||||
This decision brings mostly good but also some bad news
|
||||
The good news is that now everything that works in putty also works in mRemote
|
||||
This means X11 forwarding, SSH port forwarding, session logging, appearance customization, etc. should be working fine now
|
||||
It also brings some new protocols (Rlogin, RAW)
|
||||
The bad news is that I cannot fully integrate Putty into mRemote because it is a standalone application and thus has it's own window handle
|
||||
This means that you won't be able to use Ctrl+Tab to switch between tabs, catching errors or infos through the new Errors and Infos tab isn't possible, etc.
|
||||
Added possibility to change resolution or display mode (Fit to window, Fullscreen, Smart size)
|
||||
Added new setting in options to show logon info on tab titles
|
||||
Added new feature that catches popup dialogs and puts them in a managed interface. This is another step to make mRemote a single window application.
|
||||
Pressing escape switches back to the connection list
|
||||
There is a context menu that allows you to copy selected errors/warnings/infos to the clipboard (text only) or to delete them
|
||||
There also are settings in the option to change when to switch to the tab and to switch back to the normal behaviour of displaying message popups
|
||||
Added QuickConnect history and auto-complete functions
|
||||
Added a few new Icons (Linux, Windows, ESX, Log, Finance)
|
||||
Improved options tab
|
||||
Connections file version is now 1.2
|
||||
Fixed some form drawing bugs
|
||||
|
||||
V0.35:
|
||||
Added tab switching/closing hotkeys
|
||||
Switch to next tab: Ctrl+Tab
|
||||
Switch to previous tab: Ctrl+Shift+Tab
|
||||
Close active tab: Ctrl+W
|
||||
This does not and will probably never work with RDP connections!
|
||||
Fixed bug in updating code that still displayed the current version in the old format (x.x.x.x instead of x.xx)
|
||||
Fixed bug where the colors setting was not correctly read after saving and reloading a connections file (only with 256 colors setting)
|
||||
Fixed bug that made connect to console session and fullscreen options not work
|
||||
Fixed bug that when opening options, update or about tab caused weird paddings next to the tab or other strange behaviour
|
||||
Changed shortcuts to menu items in main menu as they interfered with some terminal key bindings
|
||||
|
||||
V0.30:
|
||||
Added HTTP as protocol to allow for basic web-based administration
|
||||
Added new connections menu to the toolbar
|
||||
Left click on a connection connects
|
||||
Right click on a container or connection opens the config tab for the selected item
|
||||
Added two new connection context menu entries for quickly connecting to console session or connecting in fullscreen
|
||||
Improved tray icon menu (just like the main connections menu)
|
||||
The connections tree can now be hidden
|
||||
To hide it right click on the splitter (the divider between the connections tree and the tabbing interface)
|
||||
Removed overlay (RDP locking) feature in favor of simply grabbing input when clicking inside the control area
|
||||
I hope nobody is too sad that the nice looking overlay feature had to go, but..., well, it had to! ;-)
|
||||
Changed "Redirect Key combinations (like in fullscreen)" to be disabled when in kiosk mode as it has no effect then anyway
|
||||
Several small bugfixes and code improvements
|
||||
|
||||
V0.20:
|
||||
Added Drag and Drop support for tabs
|
||||
Added tab context menu
|
||||
Switch to/from fullscreen
|
||||
Take a screenshot
|
||||
Transfer files via SCP/SFTP (SSH)
|
||||
Send special keys (VNC)
|
||||
Rename tabs
|
||||
Duplicate tabs (Create another instance of the connection)
|
||||
Show config
|
||||
Close tab (disconnect)
|
||||
Removed Fullscreen and Send special keys buttons from the main toolbar as they are now in the tab context menu
|
||||
Added middle click support for tabs (close/disconnect)
|
||||
Added SSH file transfer (SCP/SFTP) support
|
||||
Added Tools menu to the tree context menu
|
||||
Transfer files via SCP/SFTP (SSH)
|
||||
Import/Export features
|
||||
Sorting
|
||||
Changed version format
|
||||
Fixed the problem that caused mRemote to crash when dragging a parent node of the connections tree onto one of it's child nodes
|
||||
Fixed problem in importing mechanism that allowed importing connections including the root which resulted in multiple root items that couldn't be deleted
|
||||
Fixed problem with quick connect
|
||||
|
||||
V0.0.9.0:
|
||||
Added support for redirecting key combinations (Alt+Tab, Winkey, ...)
|
||||
Added Import/Export features
|
||||
Added Quick Connect Port support, just type the host you want to connect to followed by a ":" and then the port
|
||||
Added Connect/Disconnect buttons to connections context menu
|
||||
Added two new icons (Test Server | TST; Build Server | BS)
|
||||
Many changes to the connections loading/saving mechanisms
|
||||
confCons version is now 1.0
|
||||
Some code cleanup
|
||||
Fixed auto session info to only try to get session information when a RDP connection is selected
|
||||
Fixed AD Import feature (didn't care if imported items were computers, groups, users, ... ;)
|
||||
Fixed settings and connections not saving when installing updates from the auto-updater
|
||||
Fixed form size and location not saving properly when closing the application in minimized state or in maximized state on a secondary monitor
|
||||
|
||||
V0.0.8.2:
|
||||
Added SSH1 to Quick Connect GUI
|
||||
Changed buffer size of terminal control, it's now 500 lines
|
||||
Fixed terminal connections not getting focus when changing tabs
|
||||
Fixed bug in terminal code that caused hitting "home" to show "~" instead of jumping to the start of the line
|
||||
Fixed bug that caused that hitting enter in mRemote wouldn't do anything when options was opened before
|
||||
|
||||
V0.0.8.0:
|
||||
Added code to check if the msrdp com control is registered
|
||||
Many Improvements to the terminal control (ssh1(!), ssh2, telnet)
|
||||
Fixed bug that caused mRemote to crash when moving connection into root node (only with inheritance enabled)
|
||||
Fixed bug: Pressing delete when editing a node's name caused delete messagebox to show
|
||||
|
||||
V0.0.7.5:
|
||||
Added inheritance feature to inherit connection settings from parent container
|
||||
Expanded/Collapsed state of tree nodes will now be saved
|
||||
Reduced auto session info delay to 700ms
|
||||
Some code maintainance
|
||||
Some corrections to connections tree and quick search behaviour
|
||||
Fixed bug in TerminalControl that caused the error message "error loading string"
|
||||
Fixed: Settings saving on exit was broken in V0.0.7.0, this is fixed now
|
||||
Changed connections file version to 0.9
|
||||
Fixed connections context menu bug that made import from ad option inaccessible
|
||||
Fixed session info filling up with infos about hosts previously selected
|
||||
|
||||
V0.0.7.0:
|
||||
Massive GUI redesign and changes, hope you like it! =)
|
||||
Fixed bug that made session info to query immediately after selecting a connection (when enabled), there is now a one second delay to prevent collecting session info for more than one host
|
||||
|
||||
V0.0.6.8:
|
||||
Added connection import feature for Active Directory
|
||||
Tidied up project references
|
||||
Multiple changes to setup routine
|
||||
Improved error handling for auto-update
|
||||
Improved download handling for auto-update
|
||||
Fixed bug that made download finished/failed message box appear multiple times when update was canceled and re-downloaded
|
||||
Fixed bug where double-clicking a container opened all connections inside this container
|
||||
|
||||
V0.0.6.6:
|
||||
Changed port textbox control to only allow digits
|
||||
Small changes to connection code for SSH
|
||||
Fixed port setting not saving (or always displaying default port for selected protocol)
|
||||
|
||||
V0.0.6.5:
|
||||
Added auto update feature
|
||||
Changed: Multiple UI Changes (added shortcuts, rearranged menu items, ...)
|
||||
Fixed the problem where the connections file version was saved either with a dot or a comma, depending on system language
|
||||
Fixed not being able to connect to SSH2 hosts without specifying username and password
|
||||
Fixed several problems with Quick Connect
|
||||
Improved saving of config changes
|
||||
Fixed connections tab not closing when using SSH
|
||||
|
||||
V0.0.6.0:
|
||||
Added new protocols: SSH2 and Telnet
|
||||
Added first command line switch/parameter "/consfile"
|
||||
Ex.: mRemote.exe /consfile "%PathToYourConnectionsFile%"
|
||||
Added button to screenshots to delete a screenshot
|
||||
Added Host Status (Ping) feature
|
||||
Many code rewrites and changes in almost every area
|
||||
Changed the way connections get loaded
|
||||
The default path for the connection file is no longer in the application directory but in the local application data folder.
|
||||
Ex.: c:\Documents and Settings\felix\Local Settings\Application Data\Felix_Deimel\mRemote\
|
||||
If opening a connection file from a custom location (click on open link) saving will also occur in this file and not like in previous versions to the default connections file
|
||||
To import your old connection file please use the following procedure: start mRemote, click on "Open" and find your old connection file. Then click on "Save As" and save it with the default file name to the default location
|
||||
Changed the font and style of context menus
|
||||
Changed Quick Connect UI
|
||||
Fixed connection settings in config tab not saving when clicking another connection before jumping to another config field
|
||||
Fixed a bug where renaming a container caused the first connection in the same container to be renamed too
|
||||
|
||||
V0.0.5.0 R2:
|
||||
Fixed a bug that prevented connections from opening when icon files were assigned in a previous version of mRemote
|
||||
|
||||
V0.0.5.0:
|
||||
Added (Global) fullscreen / kiosk feature
|
||||
Added redirection settings for disk drives, printers, ports, smart cards and sound
|
||||
Added option to write a log file
|
||||
Added option to open new tabs on the right side of the currently selected tab
|
||||
Added possibility to connect to all nodes in a container
|
||||
Changed session functions to work in background
|
||||
Changed icon choosing mechanism and added a bunch of default icons
|
||||
Changed: Containers with connection can now be deleted just like empty containers
|
||||
Changed screenshot functions to now collect all screenshots in one tab
|
||||
Changed: More settings can now be changed on container basis
|
||||
Changed config file version to 0.6
|
||||
Changed: Small internal changes to the connection saving/creating and opening mechanisms
|
||||
Fixed "Display Wallpapers" and "Display Themes" settings, they are working now
|
||||
|
||||
V0.0.3.6:
|
||||
Added Feature to display an overlay when RDP connection tab has lost the focus, clicking on this gives the focus back to the control
|
||||
Added standard handlers for F2 (rename) and DEL (delete) keys in the treeview
|
||||
Added icon preview for connections in config tab
|
||||
Changed the way new connections and containers are being created in the treeview. The pop up window will not be displayed any longer, instead everything is handled inplace by the treeview.
|
||||
Changed some minor UI related stuff
|
||||
Fixed bug in tab closing mechanism that caused icons (play/pause) to not be set on the correct tree nodes
|
||||
|
||||
V0.0.3.5:
|
||||
Added Feature to query and log off sessions on a remote machine and option to do this automatically
|
||||
Added Option to show icon in system tray with connection menu
|
||||
Changed controls to flat style as I think this fits the whole application more than the old 3D look
|
||||
Multiple UI changes to eliminate annoying behaviour
|
||||
|
||||
V0.0.3.3:
|
||||
Added Feature to specify which login information to use when no info is provided in the config of a remote machine
|
||||
Fixed bug in Quick Find where trying to open a connection when no node was found caused an error
|
||||
Fixed bug where the main form was not rendered correctly when hiding top bar and using XP Themes
|
||||
Fixed bug in drag-drop routine that caused application to hang when trying to drop a node on one of it's child nodes
|
||||
Fixed bug where taskbar buttons for fullscreen rdp windows did not disappear after disconnecting
|
||||
|
||||
V0.0.3.2:
|
||||
Added new Save As Dialog with feature to only save specific connection settings
|
||||
Added Option to display Tooltips when hovering over host entries in the connection tree
|
||||
Added Option to ask at exit when there are open connections
|
||||
Fixed bug where saving connections file with spaces in the root node caused an error -> updated Connection File Version to 0.5
|
||||
Fixed bug in options tab where the browse button for a custom connection file didn't do anything
|
||||
|
||||
V0.0.3.0:
|
||||
Added Options Tab
|
||||
Load connections file from different location
|
||||
Save/Don’t Save connections file on exit
|
||||
Show current tab name in window title
|
||||
Added drag and drop functionality to the connections tree
|
||||
Added feature to hide top bar
|
||||
Added feature to send special keys (VNC)
|
||||
Updated VncSharp Library to V0.88 (still pretty buggy)
|
||||
|
||||
V0.0.2.7:
|
||||
Added feature to save connection settings to all connections in the selected container
|
||||
Icon choosing bug fixed
|
||||
Taskbar button had no text when in fullscreen – fixed
|
||||
Fixed bug in Quick Connect GUI
|
||||
Disabled "Display Wallpaper" and "Display Themes" checkboxes as these features are not implemented
|
||||
|
||||
V0.0.2.5:
|
||||
Quick connect button bug fixed
|
||||
Search field resize bug fixed
|
||||
Splitter position is now saved on exit
|
||||
Added new connections toolstrip (same functions as context menu)
|
||||
|
||||
V0.0.2.4:
|
||||
Changed default color depth to 16bit
|
||||
Added Keep Alive Interval (1 Minute)
|
||||
Added Options to choose between RDP & VNC
|
||||
Added Port Setting for RDP
|
||||
Added Option to connect to console
|
||||
Added Menu Entries to move Connections & Containers up & down
|
||||
Some small code improvements
|
||||
@@ -1,6 +1,7 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports System.Xml
|
||||
Imports mRemote.App.Runtime
|
||||
Imports System.Globalization
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Data
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.IO
|
||||
@@ -17,8 +18,6 @@ Namespace Config
|
||||
Private sqlQuery As SqlCommand
|
||||
Private sqlRd As SqlDataReader
|
||||
|
||||
Private sqlDB As String = "mRemote"
|
||||
|
||||
Private selNode As TreeNode
|
||||
#End Region
|
||||
|
||||
@@ -43,6 +42,16 @@ Namespace Config
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _SQLDatabaseName As String
|
||||
Public Property SQLDatabaseName() As String
|
||||
Get
|
||||
Return _SQLDatabaseName
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_SQLDatabaseName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _SQLUsername As String
|
||||
Public Property SQLUsername() As String
|
||||
Get
|
||||
@@ -83,10 +92,6 @@ Namespace Config
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Private _ConnectionFileName As String
|
||||
Public Property ConnectionFileName() As String
|
||||
Get
|
||||
@@ -177,12 +182,12 @@ Namespace Config
|
||||
#Region "SQL"
|
||||
Private Sub LoadFromSQL()
|
||||
Try
|
||||
App.Runtime.ConnectionsFileLoaded = False
|
||||
App.Runtime.IsConnectionsFileLoaded = False
|
||||
|
||||
If _SQLUsername <> "" Then
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";User Id=" & _SQLUsername & ";Password=" & _SQLPassword)
|
||||
Else
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & sqlDB & ";Integrated Security=True")
|
||||
sqlCon = New SqlConnection("Data Source=" & _SQLHost & ";Initial Catalog=" & _SQLDatabaseName & ";Integrated Security=True")
|
||||
End If
|
||||
|
||||
sqlCon.Open()
|
||||
@@ -201,10 +206,7 @@ Namespace Config
|
||||
sqlRd.Read()
|
||||
End If
|
||||
|
||||
Dim originalCulture As System.Globalization.CultureInfo = My.Application.Culture
|
||||
My.Application.ChangeCulture("en-US")
|
||||
Me.confVersion = Convert.ToDouble(sqlRd.Item("confVersion"))
|
||||
My.Application.ChangeCulture(originalCulture.ToString)
|
||||
Me.confVersion = Convert.ToDouble(sqlRd.Item("confVersion"), CultureInfo.InvariantCulture)
|
||||
|
||||
Dim rootNode As TreeNode
|
||||
rootNode = New TreeNode(sqlRd.Item("Name"))
|
||||
@@ -235,7 +237,7 @@ Namespace Config
|
||||
|
||||
' SECTION 3. Populate the TreeView with the DOM nodes.
|
||||
AddNodesFromSQL(rootNode)
|
||||
'AddNodeFromXML(xDom.DocumentElement, Me._RootTreeNode)
|
||||
'AddNodeFromXml(xDom.DocumentElement, Me._RootTreeNode)
|
||||
|
||||
rootNode.Expand()
|
||||
|
||||
@@ -261,12 +263,12 @@ Namespace Config
|
||||
AddNodeToTree(rootNode)
|
||||
SetSelectedNode(selNode)
|
||||
|
||||
App.Runtime.ConnectionsFileLoaded = True
|
||||
App.Runtime.IsConnectionsFileLoaded = True
|
||||
'App.Runtime.Windows.treeForm.InitialRefresh()
|
||||
|
||||
sqlCon.Close()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "LoadFromSQL failed (Config.Connections.Load)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strLoadFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -312,7 +314,7 @@ Namespace Config
|
||||
If Tree.Node.GetNodeTypeFromString(sqlRd.Item("Type")) = Tree.Node.Type.Connection Then
|
||||
Dim conI As Connection.Info = GetConnectionInfoFromSQL()
|
||||
conI.TreeNode = tNode
|
||||
'conI.Parent = prevCont 'NEW
|
||||
'conI.Parent = _previousContainer 'NEW
|
||||
|
||||
Me._ConnectionList.Add(conI)
|
||||
|
||||
@@ -353,7 +355,7 @@ Namespace Config
|
||||
' contI.Parent = tNode.Parent.Tag
|
||||
' End If
|
||||
'End If
|
||||
'prevCont = contI 'NEW
|
||||
'_previousContainer = contI 'NEW
|
||||
contI.TreeNode = tNode
|
||||
|
||||
contI.Name = sqlRd.Item("Name")
|
||||
@@ -412,7 +414,7 @@ Namespace Config
|
||||
'AddNodesFromSQL(tNode)
|
||||
End While
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodesFromSQL failed (Config.Connections.Load)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strAddNodesFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -536,6 +538,32 @@ Namespace Config
|
||||
conI.Inherit.ExtApp = .Item("InheritExtApp")
|
||||
End If
|
||||
|
||||
If Me.confVersion >= 2.2 Then
|
||||
conI.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.RDP.RDGatewayUsageMethod), .Item("RDGatewayUsageMethod"))
|
||||
conI.RDGatewayHostname = .Item("RDGatewayHostname")
|
||||
conI.RDGatewayUseConnectionCredentials = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials), .Item("RDGatewayUseConnectionCredentials"))
|
||||
conI.RDGatewayUsername = .Item("RDGatewayUsername")
|
||||
conI.RDGatewayPassword = Security.Crypt.Decrypt(.Item("RDGatewayPassword"), pW)
|
||||
conI.RDGatewayDomain = .Item("RDGatewayDomain")
|
||||
conI.Inherit.RDGatewayUsageMethod = .Item("InheritRDGatewayUsageMethod")
|
||||
conI.Inherit.RDGatewayHostname = .Item("InheritRDGatewayHostname")
|
||||
conI.Inherit.RDGatewayUsername = .Item("InheritRDGatewayUsername")
|
||||
conI.Inherit.RDGatewayPassword = .Item("InheritRDGatewayPassword")
|
||||
conI.Inherit.RDGatewayDomain = .Item("InheritRDGatewayDomain")
|
||||
End If
|
||||
|
||||
If Me.confVersion >= 2.3 Then
|
||||
conI.EnableFontSmoothing = .Item("EnableFontSmoothing")
|
||||
conI.EnableDesktopComposition = .Item("EnableDesktopComposition")
|
||||
conI.Inherit.EnableFontSmoothing = .Item("InheritEnableFontSmoothing")
|
||||
conI.Inherit.EnableDesktopComposition = .Item("InheritEnableDesktopComposition")
|
||||
End If
|
||||
|
||||
If confVersion >= 2.4 Then
|
||||
conI.UseCredSsp = .Item("UseCredSsp")
|
||||
conI.Inherit.UseCredSsp = .Item("InheritUseCredSsp")
|
||||
End If
|
||||
|
||||
If SQLUpdate = True Then
|
||||
conI.PleaseConnect = .Item("Connected")
|
||||
End If
|
||||
@@ -543,7 +571,7 @@ Namespace Config
|
||||
|
||||
Return conI
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "GetConnectionInfoFromSQL failed (Config.Connections.Load)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strGetConnectionInfoFromSqlFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -600,7 +628,7 @@ Namespace Config
|
||||
|
||||
Private Sub LoadFromXML(Optional ByVal cons As String = "")
|
||||
Try
|
||||
App.Runtime.ConnectionsFileLoaded = False
|
||||
App.Runtime.IsConnectionsFileLoaded = False
|
||||
|
||||
' SECTION 1. Create a DOM Document and load the XML data into it.
|
||||
Me.xDom = New XmlDocument()
|
||||
@@ -611,22 +639,21 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If xDom.DocumentElement.HasAttribute("ConfVersion") Then
|
||||
Dim originalCulture As System.Globalization.CultureInfo = My.Application.Culture
|
||||
My.Application.ChangeCulture("en-US")
|
||||
Me.confVersion = Convert.ToDouble(xDom.DocumentElement.Attributes("ConfVersion").Value)
|
||||
My.Application.ChangeCulture(originalCulture.ToString)
|
||||
Me.confVersion = Convert.ToDouble(xDom.DocumentElement.Attributes("ConfVersion").Value.Replace(",", "."), CultureInfo.InvariantCulture)
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "You are trying to load a connection file that was created using an very early version of mRemote, this could result in an runtime error." & vbNewLine & "If you run into such an error, please create a new connection file!")
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, My.Language.strOldConffile)
|
||||
End If
|
||||
|
||||
' SECTION 2. Initialize the treeview control.
|
||||
Dim rootNode As TreeNode
|
||||
|
||||
Try
|
||||
rootNode = New TreeNode(xDom.DocumentElement.Attributes("Name").Value)
|
||||
Catch ex As Exception
|
||||
Dim rootNodeName As String = ""
|
||||
If xDom.DocumentElement.HasAttribute("Name") Then rootNodeName = xDom.DocumentElement.Attributes("Name").Value.Trim()
|
||||
If Not String.IsNullOrEmpty(rootNodeName) Then
|
||||
rootNode = New TreeNode(rootNodeName)
|
||||
Else
|
||||
rootNode = New TreeNode(xDom.DocumentElement.Name)
|
||||
End Try
|
||||
End If
|
||||
|
||||
Dim rInfo As New Root.Info(Root.Info.RootType.Connection)
|
||||
rInfo.Name = rootNode.Text
|
||||
@@ -639,7 +666,7 @@ Namespace Config
|
||||
If Authenticate(xDom.DocumentElement.Attributes("Protected").Value, False, rInfo) = False Then
|
||||
My.Settings.LoadConsFromCustomLocation = False
|
||||
My.Settings.CustomConsPath = ""
|
||||
rootNode.Remove()
|
||||
_RootTreeNode.Remove()
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
@@ -654,7 +681,7 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If Me._Import = True And imp = False Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "You cannot import a normal connection file." & vbNewLine & "Please use File - Load Connections for normal connection files!")
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strCannotImportNormalSessionFile)
|
||||
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -689,94 +716,96 @@ Namespace Config
|
||||
|
||||
Me._RootTreeNode.EnsureVisible()
|
||||
|
||||
App.Runtime.ConnectionsFileLoaded = True
|
||||
|
||||
App.Runtime.IsConnectionsFileLoaded = True
|
||||
App.Runtime.Windows.treeForm.InitialRefresh()
|
||||
Catch ex As Exception
|
||||
App.Runtime.ConnectionsFileLoaded = False
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "LoadFromXML failed" & vbNewLine & ex.Message, True)
|
||||
App.Runtime.IsConnectionsFileLoaded = False
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strLoadFromXmlFailed & vbNewLine & ex.Message & vbNewLine & ex.StackTrace, True)
|
||||
Throw
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private prevCont As Container.Info
|
||||
Private Sub AddNodeFromXML(ByRef inXmlNode As XmlNode, ByRef inTreeNode As TreeNode)
|
||||
Private _previousContainer As Container.Info
|
||||
Private Sub AddNodeFromXml(ByRef parentXmlNode As XmlNode, ByRef parentTreeNode As TreeNode)
|
||||
Try
|
||||
Dim i As Integer
|
||||
|
||||
Dim xNode As XmlNode
|
||||
Dim xNodeList As XmlNodeList
|
||||
Dim tNode As TreeNode
|
||||
|
||||
' Loop through the XML nodes until the leaf is reached.
|
||||
' Add the nodes to the TreeView during the looping process.
|
||||
If inXmlNode.HasChildNodes() Then
|
||||
xNodeList = inXmlNode.ChildNodes
|
||||
For i = 0 To xNodeList.Count - 1
|
||||
xNode = xNodeList(i)
|
||||
inTreeNode.Nodes.Add(New TreeNode(xNode.Attributes("Name").Value))
|
||||
tNode = inTreeNode.Nodes(i)
|
||||
If parentXmlNode.HasChildNodes() Then
|
||||
For Each xmlNode As XmlNode In parentXmlNode.ChildNodes
|
||||
Dim treeNode As TreeNode = New TreeNode(xmlNode.Attributes("Name").Value)
|
||||
parentTreeNode.Nodes.Add(TreeNode)
|
||||
|
||||
If Tree.Node.GetNodeTypeFromString(xNode.Attributes("Type").Value) = Tree.Node.Type.Connection Then 'connection info
|
||||
Dim conI As Connection.Info = GetConnectionInfoFromXml(xNode)
|
||||
conI.TreeNode = tNode
|
||||
conI.Parent = prevCont 'NEW
|
||||
If Tree.Node.GetNodeTypeFromString(xmlNode.Attributes("Type").Value) = Tree.Node.Type.Connection Then 'connection info
|
||||
Dim connectionInfo As Connection.Info = GetConnectionInfoFromXml(xmlNode)
|
||||
connectionInfo.TreeNode = treeNode
|
||||
connectionInfo.Parent = _previousContainer 'NEW
|
||||
|
||||
Me._ConnectionList.Add(conI)
|
||||
ConnectionList.Add(connectionInfo)
|
||||
|
||||
tNode.Tag = conI
|
||||
tNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
tNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
ElseIf Tree.Node.GetNodeTypeFromString(xNode.Attributes("Type").Value) = Tree.Node.Type.Container Then 'container info
|
||||
Dim contI As New Container.Info
|
||||
If tNode.Parent IsNot Nothing Then
|
||||
If Tree.Node.GetNodeType(tNode.Parent) = Tree.Node.Type.Container Then
|
||||
contI.Parent = tNode.Parent.Tag
|
||||
treeNode.Tag = connectionInfo
|
||||
treeNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
treeNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
ElseIf Tree.Node.GetNodeTypeFromString(xmlNode.Attributes("Type").Value) = Tree.Node.Type.Container Then 'container info
|
||||
Dim containerInfo As New Container.Info
|
||||
If treeNode.Parent IsNot Nothing Then
|
||||
If Tree.Node.GetNodeType(treeNode.Parent) = Tree.Node.Type.Container Then
|
||||
containerInfo.Parent = treeNode.Parent.Tag
|
||||
End If
|
||||
End If
|
||||
prevCont = contI 'NEW
|
||||
contI.TreeNode = tNode
|
||||
_previousContainer = containerInfo 'NEW
|
||||
containerInfo.TreeNode = treeNode
|
||||
|
||||
contI.Name = xNode.Attributes("Name").Value
|
||||
containerInfo.Name = xmlNode.Attributes("Name").Value
|
||||
|
||||
If Me.confVersion > 0.7 Then '0.8
|
||||
If xNode.Attributes("Expanded").Value = "True" Then
|
||||
contI.IsExpanded = True
|
||||
If confVersion >= 0.8 Then
|
||||
If xmlNode.Attributes("Expanded").Value = "True" Then
|
||||
containerInfo.IsExpanded = True
|
||||
Else
|
||||
contI.IsExpanded = False
|
||||
containerInfo.IsExpanded = False
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim conI As Connection.Info
|
||||
If Me.confVersion > 0.8 Then '0.9
|
||||
conI = GetConnectionInfoFromXml(xNode)
|
||||
Dim connectionInfo As Connection.Info
|
||||
If confVersion >= 0.9 Then
|
||||
connectionInfo = GetConnectionInfoFromXml(xmlNode)
|
||||
Else
|
||||
conI = New Connection.Info
|
||||
connectionInfo = New Connection.Info
|
||||
End If
|
||||
|
||||
conI.Parent = contI
|
||||
conI.IsContainer = True
|
||||
contI.ConnectionInfo = conI
|
||||
connectionInfo.Parent = containerInfo
|
||||
connectionInfo.IsContainer = True
|
||||
containerInfo.ConnectionInfo = connectionInfo
|
||||
|
||||
Me._ContainerList.Add(contI)
|
||||
ContainerList.Add(containerInfo)
|
||||
|
||||
tNode.Tag = contI
|
||||
tNode.ImageIndex = Images.Enums.TreeImage.Container
|
||||
tNode.SelectedImageIndex = Images.Enums.TreeImage.Container
|
||||
treeNode.Tag = containerInfo
|
||||
treeNode.ImageIndex = Images.Enums.TreeImage.Container
|
||||
treeNode.SelectedImageIndex = Images.Enums.TreeImage.Container
|
||||
End If
|
||||
|
||||
AddNodeFromXML(xNode, tNode)
|
||||
AddNodeFromXml(xmlNode, treeNode)
|
||||
Next
|
||||
Else
|
||||
inTreeNode.Text = inXmlNode.Attributes("Name").Value.Trim
|
||||
Dim nodeName As String = ""
|
||||
Dim nameAttribute As XmlAttribute = parentXmlNode.Attributes("Name")
|
||||
If Not IsNothing(nameAttribute) Then nodeName = nameAttribute.Value.Trim()
|
||||
If Not String.IsNullOrEmpty(nodeName) Then
|
||||
parentTreeNode.Text = nodeName
|
||||
Else
|
||||
parentTreeNode.Text = parentXmlNode.Name
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodeFromXML failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strAddNodeFromXmlFailed & vbNewLine & ex.Message & ex.StackTrace, True)
|
||||
Throw
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Function GetConnectionInfoFromXml(ByVal xxNode As XmlNode) As Connection.Info
|
||||
Try
|
||||
Dim conI As New Connection.Info
|
||||
Dim conI As New Connection.Info
|
||||
|
||||
Try
|
||||
With xxNode
|
||||
If Me.confVersion > 0.1 Then '0.2
|
||||
conI.Name = .Attributes("Name").Value
|
||||
@@ -872,6 +901,8 @@ Namespace Config
|
||||
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors24Bit
|
||||
Case 3
|
||||
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors32Bit
|
||||
Case 4
|
||||
conI.Colors = Connection.Protocol.RDP.RDPColors.Colors15Bit
|
||||
End Select
|
||||
|
||||
conI.RedirectSound = .Attributes("RedirectSound").Value
|
||||
@@ -907,7 +938,7 @@ Namespace Config
|
||||
conI.Inherit = New Connection.Info.Inheritance(conI, .Attributes("Inherit").Value)
|
||||
|
||||
conI.Icon = .Attributes("Icon").Value.Replace(".ico", "")
|
||||
conI.Panel = "General"
|
||||
conI.Panel = My.Language.strGeneral
|
||||
End If
|
||||
|
||||
If Me.confVersion > 1.4 Then '1.5
|
||||
@@ -915,7 +946,7 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If Me.confVersion > 1.5 Then '1.6
|
||||
conI.ICAEncryption = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.ICA.EncryptionStrength), .Attributes("ICAEncryptionStrength").Value)
|
||||
conI.ICAEncryption = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.ICA.EncryptionStrength), .Attributes("ICAEncryptionStrength").Value)
|
||||
conI.Inherit.ICAEncryption = .Attributes("InheritICAEncryptionStrength").Value
|
||||
|
||||
conI.PreExtApp = .Attributes("PreExtApp").Value
|
||||
@@ -925,16 +956,16 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If Me.confVersion > 1.6 Then '1.7
|
||||
conI.VNCCompression = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.VNC.Compression), .Attributes("VNCCompression").Value)
|
||||
conI.VNCEncoding = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.VNC.Encoding), .Attributes("VNCEncoding").Value)
|
||||
conI.VNCAuthMode = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.VNC.AuthMode), .Attributes("VNCAuthMode").Value)
|
||||
conI.VNCProxyType = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.VNC.ProxyType), .Attributes("VNCProxyType").Value)
|
||||
conI.VNCCompression = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.VNC.Compression), .Attributes("VNCCompression").Value)
|
||||
conI.VNCEncoding = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.VNC.Encoding), .Attributes("VNCEncoding").Value)
|
||||
conI.VNCAuthMode = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.VNC.AuthMode), .Attributes("VNCAuthMode").Value)
|
||||
conI.VNCProxyType = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.VNC.ProxyType), .Attributes("VNCProxyType").Value)
|
||||
conI.VNCProxyIP = .Attributes("VNCProxyIP").Value
|
||||
conI.VNCProxyPort = .Attributes("VNCProxyPort").Value
|
||||
conI.VNCProxyUsername = .Attributes("VNCProxyUsername").Value
|
||||
conI.VNCProxyPassword = Security.Crypt.Decrypt(.Attributes("VNCProxyPassword").Value, pW)
|
||||
conI.VNCColors = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.VNC.Colors), .Attributes("VNCColors").Value)
|
||||
conI.VNCSmartSizeMode = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.VNC.SmartSizeMode), .Attributes("VNCSmartSizeMode").Value)
|
||||
conI.VNCColors = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.VNC.Colors), .Attributes("VNCColors").Value)
|
||||
conI.VNCSmartSizeMode = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.VNC.SmartSizeMode), .Attributes("VNCSmartSizeMode").Value)
|
||||
conI.VNCViewOnly = .Attributes("VNCViewOnly").Value
|
||||
|
||||
conI.Inherit.VNCCompression = .Attributes("InheritVNCCompression").Value
|
||||
@@ -951,13 +982,13 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If Me.confVersion > 1.7 Then '1.8
|
||||
conI.RDPAuthenticationLevel = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.RDP.AuthenticationLevel), .Attributes("RDPAuthenticationLevel").Value)
|
||||
conI.RDPAuthenticationLevel = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.RDP.AuthenticationLevel), .Attributes("RDPAuthenticationLevel").Value)
|
||||
|
||||
conI.Inherit.RDPAuthenticationLevel = .Attributes("InheritRDPAuthenticationLevel").Value
|
||||
End If
|
||||
|
||||
If Me.confVersion > 1.8 Then '1.9
|
||||
conI.RenderingEngine = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.HTTPBase.RenderingEngine), .Attributes("RenderingEngine").Value)
|
||||
conI.RenderingEngine = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.HTTPBase.RenderingEngine), .Attributes("RenderingEngine").Value)
|
||||
conI.MacAddress = .Attributes("MacAddress").Value
|
||||
|
||||
conI.Inherit.RenderingEngine = .Attributes("InheritRenderingEngine").Value
|
||||
@@ -973,16 +1004,47 @@ Namespace Config
|
||||
conI.ExtApp = .Attributes("ExtApp").Value
|
||||
conI.Inherit.ExtApp = .Attributes("InheritExtApp").Value
|
||||
End If
|
||||
End With
|
||||
|
||||
Return conI
|
||||
If Me.confVersion > 2.1 Then '2.2
|
||||
' Get settings
|
||||
conI.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.RDP.RDGatewayUsageMethod), .Attributes("RDGatewayUsageMethod").Value)
|
||||
conI.RDGatewayHostname = .Attributes("RDGatewayHostname").Value
|
||||
conI.RDGatewayUseConnectionCredentials = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials), .Attributes("RDGatewayUseConnectionCredentials").Value)
|
||||
conI.RDGatewayUsername = .Attributes("RDGatewayUsername").Value
|
||||
conI.RDGatewayPassword = Security.Crypt.Decrypt(.Attributes("RDGatewayPassword").Value, pW)
|
||||
conI.RDGatewayDomain = .Attributes("RDGatewayDomain").Value
|
||||
|
||||
' Get inheritance settings
|
||||
conI.Inherit.RDGatewayUsageMethod = .Attributes("InheritRDGatewayUsageMethod").Value
|
||||
conI.Inherit.RDGatewayHostname = .Attributes("InheritRDGatewayHostname").Value
|
||||
conI.Inherit.RDGatewayUseConnectionCredentials = .Attributes("InheritRDGatewayUseConnectionCredentials").Value
|
||||
conI.Inherit.RDGatewayUsername = .Attributes("InheritRDGatewayUsername").Value
|
||||
conI.Inherit.RDGatewayPassword = .Attributes("InheritRDGatewayPassword").Value
|
||||
conI.Inherit.RDGatewayDomain = .Attributes("InheritRDGatewayDomain").Value
|
||||
End If
|
||||
|
||||
If Me.confVersion > 2.2 Then '2.3
|
||||
' Get settings
|
||||
conI.EnableFontSmoothing = .Attributes("EnableFontSmoothing").Value
|
||||
conI.EnableDesktopComposition = .Attributes("EnableDesktopComposition").Value
|
||||
|
||||
' Get inheritance settings
|
||||
conI.Inherit.EnableFontSmoothing = .Attributes("InheritEnableFontSmoothing").Value
|
||||
conI.Inherit.EnableDesktopComposition = .Attributes("InheritEnableDesktopComposition").Value
|
||||
End If
|
||||
|
||||
If confVersion >= 2.4 Then
|
||||
conI.UseCredSsp = .Attributes("UseCredSsp").Value
|
||||
conI.Inherit.UseCredSsp = .Attributes("InheritUseCredSsp").Value
|
||||
End If
|
||||
End With
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "GetConnectionInfoFromXml failed" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Language.strGetConnectionInfoFromXmlFailed, conI.Name, Me.ConnectionFileName, ex.Message), False)
|
||||
End Try
|
||||
Return conI
|
||||
End Function
|
||||
|
||||
Private Function Authenticate(ByVal Value As String, ByVal CompareToOriginalValue As Boolean, Optional ByVal RootInfo As mRemote.Root.Info = Nothing) As Boolean
|
||||
Private Function Authenticate(ByVal Value As String, ByVal CompareToOriginalValue As Boolean, Optional ByVal RootInfo As mRemoteNG.Root.Info = Nothing) As Boolean
|
||||
If CompareToOriginalValue Then
|
||||
Do Until Security.Crypt.Decrypt(Value, pW) <> Value
|
||||
pW = Tools.Misc.PasswordDialog(False)
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
Imports System.IO
|
||||
Imports WeifenLuo.WinFormsUI.Docking
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Xml
|
||||
Imports System.Environment
|
||||
|
||||
Namespace Config
|
||||
Namespace Settings
|
||||
@@ -26,33 +27,55 @@ Namespace Config
|
||||
Public Sub Load()
|
||||
Try
|
||||
With Me._MainForm
|
||||
' Migrate settings from previous version
|
||||
If My.Settings.DoUpgrade Then
|
||||
My.Settings.Upgrade()
|
||||
My.Settings.DoUpgrade = False
|
||||
|
||||
' Clear pending update flag
|
||||
' This is used for automatic updates, not for settings migration, but it
|
||||
' needs to be cleared here because we know that we just updated.
|
||||
My.Settings.UpdatePending = False
|
||||
End If
|
||||
|
||||
If My.Settings.MainFormLocation <> New Point(999, 999) Then
|
||||
.Location = My.Settings.MainFormLocation
|
||||
App.SupportedCultures.InstantiateSingleton()
|
||||
If Not My.Settings.OverrideUICulture = "" And App.SupportedCultures.IsNameSupported(My.Settings.OverrideUICulture) Then
|
||||
Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo(My.Settings.OverrideUICulture)
|
||||
log.InfoFormat("Override Culture: {0}/{1}", Threading.Thread.CurrentThread.CurrentUICulture.Name, Threading.Thread.CurrentThread.CurrentUICulture.NativeName)
|
||||
End If
|
||||
|
||||
If My.Settings.MainFormSize <> Nothing Then
|
||||
.Size = My.Settings.MainFormSize
|
||||
End If
|
||||
|
||||
'check if form is visible
|
||||
Dim curScreen As Screen = Screen.FromHandle(.Handle)
|
||||
|
||||
If .Right < curScreen.Bounds.Left Or .Left > curScreen.Bounds.Right _
|
||||
Or .Top * -1 > curScreen.Bounds.Top * -1 Or .Bottom > curScreen.Bounds.Bottom Then
|
||||
.Location = curScreen.Bounds.Location
|
||||
End If
|
||||
|
||||
|
||||
If My.Settings.MainFormState = Nothing Or My.Settings.MainFormState = FormWindowState.Minimized Then
|
||||
.WindowState = FormWindowState.Normal
|
||||
.WindowState = FormWindowState.Normal
|
||||
If My.Settings.MainFormState = FormWindowState.Normal Then
|
||||
If Not My.Settings.MainFormLocation.IsEmpty Then .Location = My.Settings.MainFormLocation
|
||||
If Not My.Settings.MainFormSize.IsEmpty Then .Size = My.Settings.MainFormSize
|
||||
Else
|
||||
.WindowState = My.Settings.MainFormState
|
||||
If Not My.Settings.MainFormRestoreLocation.IsEmpty Then .Location = My.Settings.MainFormRestoreLocation
|
||||
If Not My.Settings.MainFormRestoreSize.IsEmpty Then .Size = My.Settings.MainFormRestoreSize
|
||||
End If
|
||||
If My.Settings.MainFormState = FormWindowState.Maximized Then
|
||||
.WindowState = FormWindowState.Maximized
|
||||
End If
|
||||
|
||||
' Make sure the form is visible on the screen
|
||||
Const minHorizontal As Integer = 300
|
||||
Const minVertical As Integer = 150
|
||||
Dim screenBounds As Drawing.Rectangle = Screen.FromHandle(.Handle).Bounds
|
||||
Dim newBounds As Drawing.Rectangle = .Bounds
|
||||
|
||||
If newBounds.Right < screenBounds.Left + minHorizontal Then
|
||||
newBounds.X = screenBounds.Left + minHorizontal - newBounds.Width
|
||||
End If
|
||||
If newBounds.Left > screenBounds.Right - minHorizontal Then
|
||||
newBounds.X = screenBounds.Right - minHorizontal
|
||||
End If
|
||||
If newBounds.Bottom < screenBounds.Top + minVertical Then
|
||||
newBounds.Y = screenBounds.Top + minVertical - newBounds.Height
|
||||
End If
|
||||
If newBounds.Top > screenBounds.Bottom - minVertical Then
|
||||
newBounds.Y = screenBounds.Bottom - minVertical
|
||||
End If
|
||||
|
||||
.Location = newBounds.Location
|
||||
|
||||
If My.Settings.MainFormKiosk = True Then
|
||||
Tools.Misc.Fullscreen.EnterFullscreen()
|
||||
@@ -61,11 +84,11 @@ Namespace Config
|
||||
If My.Settings.UseCustomPuttyPath Then
|
||||
Connection.Protocol.PuttyBase.PuttyPath = My.Settings.CustomPuttyPath
|
||||
Else
|
||||
Connection.Protocol.PuttyBase.PuttyPath = My.Application.Info.DirectoryPath & "\Putty.exe"
|
||||
Connection.Protocol.PuttyBase.PuttyPath = My.Application.Info.DirectoryPath & "\PuTTYNG.exe"
|
||||
End If
|
||||
|
||||
If My.Settings.ShowSystemTrayIcon Then
|
||||
App.Runtime.SysTrayIcon = New Tools.Controls.SysTrayIcon()
|
||||
App.Runtime.NotificationAreaIcon = New Tools.Controls.NotificationAreaIcon()
|
||||
End If
|
||||
|
||||
If My.Settings.AutoSaveEveryMinutes > 0 Then
|
||||
@@ -79,9 +102,9 @@ Namespace Config
|
||||
Me.LoadExternalAppsFromXML()
|
||||
|
||||
If My.Settings.ResetToolbars = False Then
|
||||
Me.LoadToolbarsFromSettings()
|
||||
LoadToolbarsFromSettings()
|
||||
Else
|
||||
Me.SetToolbarsDefault()
|
||||
SetToolbarsDefault()
|
||||
End If
|
||||
End With
|
||||
Catch ex As Exception
|
||||
@@ -94,8 +117,8 @@ Namespace Config
|
||||
With MainForm
|
||||
ToolStripPanelFromString("top").Join(.tsQuickConnect, New Point(300, 0))
|
||||
.tsQuickConnect.Visible = True
|
||||
ToolStripPanelFromString("bottom").Join(.tsExtAppsToolbar, New Point(3, 0))
|
||||
.tsExtAppsToolbar.Visible = False
|
||||
ToolStripPanelFromString("bottom").Join(.tsExternalTools, New Point(3, 0))
|
||||
.tsExternalTools.Visible = False
|
||||
End With
|
||||
End Sub
|
||||
|
||||
@@ -120,8 +143,8 @@ Namespace Config
|
||||
|
||||
Private Sub AddDynamicPanels()
|
||||
With MainForm
|
||||
ToolStripPanelFromString(My.Settings.ExtAppsTBParentDock).Join(.tsExtAppsToolbar, My.Settings.ExtAppsTBLocation)
|
||||
.tsExtAppsToolbar.Visible = My.Settings.ExtAppsTBVisible
|
||||
ToolStripPanelFromString(My.Settings.ExtAppsTBParentDock).Join(.tsExternalTools, My.Settings.ExtAppsTBLocation)
|
||||
.tsExternalTools.Visible = My.Settings.ExtAppsTBVisible
|
||||
End With
|
||||
End Sub
|
||||
|
||||
@@ -152,16 +175,19 @@ Namespace Config
|
||||
dc.Close()
|
||||
Loop
|
||||
|
||||
.pnlDock.SuspendLayout(True)
|
||||
Startup.CreatePanels()
|
||||
|
||||
If File.Exists(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName) And My.Settings.ResetPanels = False Then
|
||||
Startup.CreatePanels()
|
||||
.pnlDock.LoadFromXml(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName, AddressOf GetContentFromPersistString)
|
||||
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName & "\" & App.Info.Settings.LayoutFileName
|
||||
Dim newPath As String = App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName
|
||||
If File.Exists(newPath) Then
|
||||
.pnlDock.LoadFromXml(newPath, AddressOf GetContentFromPersistString)
|
||||
#If Not PORTABLE Then
|
||||
ElseIf File.Exists(oldPath) Then
|
||||
.pnlDock.LoadFromXml(oldPath, AddressOf GetContentFromPersistString)
|
||||
#End If
|
||||
Else
|
||||
Startup.CreatePanels(True)
|
||||
Startup.SetDefaultLayout()
|
||||
End If
|
||||
|
||||
.pnlDock.ResumeLayout(True, True)
|
||||
End With
|
||||
Catch ex As Exception
|
||||
App.Runtime.log.Error("LoadPanelsFromXML failed" & vbNewLine & ex.Message)
|
||||
@@ -170,15 +196,21 @@ Namespace Config
|
||||
End Sub
|
||||
|
||||
Public Sub LoadExternalAppsFromXML()
|
||||
If File.Exists(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName) = False Then
|
||||
Dim oldPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName & "\" & App.Info.Settings.ExtAppsFilesName
|
||||
Dim newPath As String = App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName
|
||||
Dim xDom As New XmlDocument()
|
||||
If File.Exists(newPath) Then
|
||||
xDom.Load(newPath)
|
||||
#If Not PORTABLE Then
|
||||
ElseIf File.Exists(oldPath) Then
|
||||
xDom.Load(oldPath)
|
||||
#End If
|
||||
Else
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim xDom As New XmlDocument()
|
||||
xDom.Load(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName)
|
||||
|
||||
For Each xEl As XmlElement In xDom.DocumentElement.ChildNodes
|
||||
Dim extA As New Tools.ExternalApp
|
||||
Dim extA As New Tools.ExternalTool
|
||||
extA.DisplayName = xEl.Attributes("DisplayName").Value
|
||||
extA.FileName = xEl.Attributes("FileName").Value
|
||||
extA.Arguments = xEl.Attributes("Arguments").Value
|
||||
@@ -191,19 +223,24 @@ Namespace Config
|
||||
extA.TryIntegrate = xEl.Attributes("TryToIntegrate").Value
|
||||
End If
|
||||
|
||||
ExtApps.Add(extA)
|
||||
ExternalTools.Add(extA)
|
||||
Next
|
||||
|
||||
MainForm.SwitchToolbarText(My.Settings.ExtAppsTBShowText)
|
||||
MainForm.SwitchToolBarText(My.Settings.ExtAppsTBShowText)
|
||||
|
||||
xDom = Nothing
|
||||
|
||||
frmMain.AddExtAppsToToolbar()
|
||||
frmMain.AddExternalToolsToToolBar()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Private Methods"
|
||||
Private Function GetContentFromPersistString(ByVal persistString As String) As IDockContent
|
||||
' pnlLayout.xml persistence XML fix for refactoring to mRemoteNG
|
||||
If (persistString.StartsWith("mRemote.")) Then
|
||||
persistString = persistString.Replace("mRemote.", "mRemoteNG.")
|
||||
End If
|
||||
|
||||
Try
|
||||
If persistString = GetType(UI.Window.Config).ToString Then
|
||||
Return Windows.configPanel
|
||||
|
||||
@@ -6,15 +6,13 @@ Namespace Config
|
||||
Namespace Settings
|
||||
Namespace Providers
|
||||
Public Class ChooseProvider
|
||||
'Exchange to make portable/normal
|
||||
#If Not PORTABLE Then
|
||||
Inherits LocalFileSettingsProvider
|
||||
'Inherits PortableSettingsProvider
|
||||
#Else
|
||||
Inherits PortableSettingsProvider
|
||||
#End If
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Public Class PortableSettingsProvider
|
||||
Inherits SettingsProvider
|
||||
|
||||
@@ -65,12 +63,12 @@ Namespace Config
|
||||
|
||||
Public Overrides Function GetPropertyValues(ByVal context As SettingsContext, ByVal props As SettingsPropertyCollection) As SettingsPropertyValueCollection
|
||||
'Create new collection of values
|
||||
Dim values As SettingsPropertyValueCollection = New SettingsPropertyValueCollection()
|
||||
Dim values As New SettingsPropertyValueCollection()
|
||||
|
||||
'Iterate through the settings to be retrieved
|
||||
For Each setting As SettingsProperty In props
|
||||
|
||||
Dim value As SettingsPropertyValue = New SettingsPropertyValue(setting)
|
||||
Dim value As New SettingsPropertyValue(setting)
|
||||
value.IsDirty = False
|
||||
value.SerializedValue = GetValue(setting)
|
||||
values.Add(value)
|
||||
@@ -145,13 +143,17 @@ Namespace Config
|
||||
End Try
|
||||
|
||||
'Check to see if the node exists, if so then set its new value
|
||||
If Not SettingNode Is Nothing Then
|
||||
SettingNode.InnerText = propVal.SerializedValue.ToString
|
||||
If SettingNode IsNot Nothing Then
|
||||
If propVal.SerializedValue IsNot Nothing Then
|
||||
SettingNode.InnerText = propVal.SerializedValue.ToString
|
||||
End If
|
||||
Else
|
||||
If IsRoaming(propVal.Property) Then
|
||||
'Store the value as an element of the Settings Root Node
|
||||
SettingNode = SettingsXML.CreateElement(propVal.Name)
|
||||
SettingNode.InnerText = propVal.SerializedValue.ToString
|
||||
If propVal.SerializedValue IsNot Nothing Then
|
||||
SettingNode.InnerText = propVal.SerializedValue.ToString
|
||||
End If
|
||||
SettingsXML.SelectSingleNode(SETTINGSROOT).AppendChild(SettingNode)
|
||||
Else
|
||||
'Its machine specific, store as an element of the machine name node,
|
||||
@@ -169,10 +171,14 @@ Namespace Config
|
||||
End If
|
||||
|
||||
SettingNode = SettingsXML.CreateElement(propVal.Name)
|
||||
SettingNode.InnerText = propVal.SerializedValue.ToString
|
||||
If propVal.SerializedValue IsNot Nothing Then
|
||||
SettingNode.InnerText = propVal.SerializedValue.ToString
|
||||
End If
|
||||
MachineNode.AppendChild(SettingNode)
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function IsRoaming(ByVal prop As SettingsProperty) As Boolean
|
||||
|
||||
@@ -1,36 +1,26 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Xml
|
||||
Imports System.IO
|
||||
|
||||
Namespace Config
|
||||
Namespace Settings
|
||||
Public Class Save
|
||||
#Region "Public Properties"
|
||||
Private _MainForm As frmMain
|
||||
Public Property MainForm() As frmMain
|
||||
Get
|
||||
Return Me._MainForm
|
||||
End Get
|
||||
Set(ByVal value As frmMain)
|
||||
Me._MainForm = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Sub New(ByVal MainForm As frmMain)
|
||||
Me._MainForm = MainForm
|
||||
End Sub
|
||||
|
||||
Public Sub Save()
|
||||
Try
|
||||
With Me._MainForm
|
||||
If .WindowState = FormWindowState.Normal Then
|
||||
My.Settings.MainFormLocation = .Location
|
||||
My.Settings.MainFormSize = .Size
|
||||
Else
|
||||
My.Settings.MainFormLocation = .RestoreBounds.Location
|
||||
My.Settings.MainFormSize = .RestoreBounds.Size
|
||||
With frmMain
|
||||
Dim windowPlacement As New Tools.WindowPlacement(frmMain)
|
||||
If .WindowState = FormWindowState.Minimized And windowPlacement.RestoreToMaximized Then
|
||||
.Opacity = 0
|
||||
.WindowState = FormWindowState.Maximized
|
||||
End If
|
||||
|
||||
My.Settings.MainFormLocation = .Location
|
||||
My.Settings.MainFormSize = .Size
|
||||
|
||||
If Not .WindowState = FormWindowState.Normal Then
|
||||
My.Settings.MainFormRestoreLocation = .RestoreBounds.Location
|
||||
My.Settings.MainFormRestoreSize = .RestoreBounds.Size
|
||||
End If
|
||||
|
||||
My.Settings.MainFormState = .WindowState
|
||||
@@ -42,11 +32,11 @@ Namespace Config
|
||||
My.Settings.ResetToolbars = False
|
||||
My.Settings.NoReconnect = False
|
||||
|
||||
My.Settings.ExtAppsTBLocation = .tsExtAppsToolbar.Location
|
||||
If .tsExtAppsToolbar.Parent IsNot Nothing Then
|
||||
My.Settings.ExtAppsTBParentDock = .tsExtAppsToolbar.Parent.Dock.ToString
|
||||
My.Settings.ExtAppsTBLocation = .tsExternalTools.Location
|
||||
If .tsExternalTools.Parent IsNot Nothing Then
|
||||
My.Settings.ExtAppsTBParentDock = .tsExternalTools.Parent.Dock.ToString
|
||||
End If
|
||||
My.Settings.ExtAppsTBVisible = .tsExtAppsToolbar.Visible
|
||||
My.Settings.ExtAppsTBVisible = .tsExternalTools.Visible
|
||||
My.Settings.ExtAppsTBShowText = .cMenToolbarShowText.Checked
|
||||
|
||||
My.Settings.QuickyTBLocation = .tsQuickConnect.Location
|
||||
@@ -55,12 +45,7 @@ Namespace Config
|
||||
End If
|
||||
My.Settings.QuickyTBVisible = .tsQuickConnect.Visible
|
||||
|
||||
If App.Editions.Spanlink.Enabled = False Then
|
||||
My.Settings.ConDefaultPassword = Security.Crypt.Encrypt(My.Settings.ConDefaultPassword, App.Info.General.EncryptionKey)
|
||||
Else
|
||||
My.Settings.LoadConsFromCustomLocation = False
|
||||
My.Settings.CustomConsPath = ""
|
||||
End If
|
||||
My.Settings.ConDefaultPassword = Security.Crypt.Encrypt(My.Settings.ConDefaultPassword, App.Info.General.EncryptionKey)
|
||||
|
||||
My.Settings.Save()
|
||||
End With
|
||||
@@ -68,7 +53,7 @@ Namespace Config
|
||||
Me.SavePanelsToXML()
|
||||
Me.SaveExternalAppsToXML()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Saving settings failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Saving settings failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -78,9 +63,9 @@ Namespace Config
|
||||
Directory.CreateDirectory(App.Info.Settings.SettingsPath)
|
||||
End If
|
||||
|
||||
MainForm.pnlDock.SaveAsXml(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName)
|
||||
frmMain.pnlDock.SaveAsXml(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SavePanelsToXML failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "SavePanelsToXML failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -90,29 +75,29 @@ Namespace Config
|
||||
Directory.CreateDirectory(App.Info.Settings.SettingsPath)
|
||||
End If
|
||||
|
||||
Dim xW As New XmlTextWriter(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName, System.Text.Encoding.UTF8)
|
||||
xW.Formatting = Formatting.Indented
|
||||
xW.Indentation = 4
|
||||
Dim xmlTextWriter As New XmlTextWriter(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.ExtAppsFilesName, System.Text.Encoding.UTF8)
|
||||
xmlTextWriter.Formatting = Formatting.Indented
|
||||
xmlTextWriter.Indentation = 4
|
||||
|
||||
xW.WriteStartDocument()
|
||||
xW.WriteStartElement("Apps")
|
||||
xmlTextWriter.WriteStartDocument()
|
||||
xmlTextWriter.WriteStartElement("Apps")
|
||||
|
||||
For Each extA As Tools.ExternalApp In ExtApps
|
||||
xW.WriteStartElement("App")
|
||||
xW.WriteAttributeString("DisplayName", "", extA.DisplayName)
|
||||
xW.WriteAttributeString("FileName", "", extA.FileName)
|
||||
xW.WriteAttributeString("Arguments", "", extA.Arguments)
|
||||
xW.WriteAttributeString("WaitForExit", "", extA.WaitForExit)
|
||||
xW.WriteAttributeString("TryToIntegrate", "", extA.TryIntegrate)
|
||||
xW.WriteEndElement()
|
||||
For Each extA As Tools.ExternalTool In ExternalTools
|
||||
xmlTextWriter.WriteStartElement("App")
|
||||
xmlTextWriter.WriteAttributeString("DisplayName", "", extA.DisplayName)
|
||||
xmlTextWriter.WriteAttributeString("FileName", "", extA.FileName)
|
||||
xmlTextWriter.WriteAttributeString("Arguments", "", extA.Arguments)
|
||||
xmlTextWriter.WriteAttributeString("WaitForExit", "", extA.WaitForExit)
|
||||
xmlTextWriter.WriteAttributeString("TryToIntegrate", "", extA.TryIntegrate)
|
||||
xmlTextWriter.WriteEndElement()
|
||||
Next
|
||||
|
||||
xW.WriteEndElement()
|
||||
xW.WriteEndDocument()
|
||||
xmlTextWriter.WriteEndElement()
|
||||
xmlTextWriter.WriteEndDocument()
|
||||
|
||||
xW.Close()
|
||||
xmlTextWriter.Close()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "SaveExternalAppsToXML failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "SaveExternalAppsToXML failed" & vbNewLine & vbNewLine & ex.Message, False)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Imports System.ComponentModel
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Public Class Icon
|
||||
@@ -29,7 +29,7 @@ Namespace Connection
|
||||
Return nI
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't get Icon from String" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't get Icon from String" & vbNewLine & ex.Message)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports System.Drawing
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Public Class InterfaceControl
|
||||
@@ -37,7 +37,7 @@ Namespace Connection
|
||||
Me.Anchor = AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right Or AnchorStyles.Top
|
||||
InitializeComponent()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't create new InterfaceControl" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't create new InterfaceControl" & vbNewLine & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Namespace Connection
|
||||
Public Class List
|
||||
Inherits CollectionBase
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports System.Threading
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -39,12 +39,12 @@ Namespace Connection
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
Private _Force As mRemote.Connection.Info.Force
|
||||
Public Property Force() As mRemote.Connection.Info.Force
|
||||
Private _Force As mRemoteNG.Connection.Info.Force
|
||||
Public Property Force() As mRemoteNG.Connection.Info.Force
|
||||
Get
|
||||
Return Me._Force
|
||||
End Get
|
||||
Set(ByVal value As mRemote.Connection.Info.Force)
|
||||
Set(ByVal value As mRemoteNG.Connection.Info.Force)
|
||||
Me._Force = value
|
||||
End Set
|
||||
End Property
|
||||
@@ -58,7 +58,7 @@ Namespace Connection
|
||||
Try
|
||||
Me._Control.Focus()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't focus Control (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't focus Control (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -77,7 +77,7 @@ Namespace Connection
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't SetProps (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't SetProps (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -98,6 +98,7 @@ Namespace Connection
|
||||
|
||||
Public Overridable Sub Close()
|
||||
Dim t As New Thread(AddressOf CloseBG)
|
||||
t.SetApartmentState(Threading.ApartmentState.STA)
|
||||
t.IsBackground = True
|
||||
t.Start()
|
||||
End Sub
|
||||
@@ -112,7 +113,7 @@ Namespace Connection
|
||||
Try
|
||||
Me.DisposeControl()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Could not dispose control, probably form is already closed (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Could not dispose control, probably form is already closed (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End If
|
||||
|
||||
@@ -126,11 +127,11 @@ Namespace Connection
|
||||
Me.DisposeInterface()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Could not set InterfaceControl.Parent.Tag or Dispose Interface, probably form is already closed (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, "Could not set InterfaceControl.Parent.Tag or Dispose Interface, probably form is already closed (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Close InterfaceControl BG (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Close InterfaceControl BG (Connection.Protocol.Base)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports mRemote.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
Public Class HTTP
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports mRemote.App.Runtime
|
||||
Imports Skybound.Gecko
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -19,7 +18,6 @@ Namespace Connection
|
||||
Public Sub New(ByVal RenderingEngine As RenderingEngine)
|
||||
Try
|
||||
If RenderingEngine = RenderingEngine.Gecko Then
|
||||
'Skybound.Gecko.Xpcom.Initialize(My.Settings.XULRunnerPath)
|
||||
Me.Control = New MiniGeckoBrowser.MiniGeckoBrowser
|
||||
TryCast(Me.Control, MiniGeckoBrowser.MiniGeckoBrowser).XULrunnerPath = My.Settings.XULRunnerPath
|
||||
Else
|
||||
@@ -28,7 +26,7 @@ Namespace Connection
|
||||
|
||||
NewExtended()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't create new Connection.Protocol.HTTPBase" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strHttpConnectionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -39,24 +37,34 @@ Namespace Connection
|
||||
MyBase.SetProps()
|
||||
|
||||
Try
|
||||
wBrowser = Me.Control
|
||||
Dim objTabPage As Crownwood.Magic.Controls.TabPage = TryCast(Me.InterfaceControl.Parent, Crownwood.Magic.Controls.TabPage)
|
||||
Me.tabTitle = objTabPage.Title
|
||||
Catch ex As Exception
|
||||
Me.tabTitle = ""
|
||||
End Try
|
||||
|
||||
Try
|
||||
Me.wBrowser = Me.Control
|
||||
|
||||
If InterfaceControl.Info.RenderingEngine = RenderingEngine.Gecko Then
|
||||
'AddHandler TryCast(wBrowser, GeckoWebBrowser).CreateWindow, AddressOf gex_CreateWindow
|
||||
AddHandler TryCast(wBrowser, MiniGeckoBrowser.MiniGeckoBrowser).TitleChanged, AddressOf wBrowser_DocumentTitleChanged
|
||||
AddHandler TryCast(wBrowser, MiniGeckoBrowser.MiniGeckoBrowser).LastTabRemoved, AddressOf wBrowser_LastTabRemoved
|
||||
'wBrowser.Width = wBrowser.Width
|
||||
Else
|
||||
TryCast(wBrowser, WebBrowser).AllowWebBrowserDrop = False
|
||||
TryCast(wBrowser, WebBrowser).ScrollBarsEnabled = True
|
||||
Dim objMiniGeckoBrowser As MiniGeckoBrowser.MiniGeckoBrowser = TryCast(wBrowser, MiniGeckoBrowser.MiniGeckoBrowser)
|
||||
|
||||
AddHandler TryCast(wBrowser, WebBrowser).DocumentTitleChanged, AddressOf wBrowser_DocumentTitleChanged
|
||||
AddHandler TryCast(wBrowser, WebBrowser).NewWindow, AddressOf wBrowser_NewWindow
|
||||
AddHandler objMiniGeckoBrowser.TitleChanged, AddressOf wBrowser_DocumentTitleChanged
|
||||
AddHandler objMiniGeckoBrowser.LastTabRemoved, AddressOf wBrowser_LastTabRemoved
|
||||
Else
|
||||
Dim objWebBrowser As WebBrowser = TryCast(wBrowser, WebBrowser)
|
||||
Dim objAxWebBrowser As SHDocVw.WebBrowser = DirectCast(objWebBrowser.ActiveXInstance, SHDocVw.WebBrowser)
|
||||
|
||||
objWebBrowser.AllowWebBrowserDrop = False
|
||||
objWebBrowser.ScrollBarsEnabled = True
|
||||
|
||||
AddHandler objWebBrowser.DocumentTitleChanged, AddressOf wBrowser_DocumentTitleChanged
|
||||
AddHandler objAxWebBrowser.NewWindow3, AddressOf wBrowser_NewWindow3
|
||||
End If
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't SetProps (Connection.Protocol.HTTPBase)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strHttpSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -99,7 +107,7 @@ Namespace Connection
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Connect (Connection.Protocol.HTTPBase)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strHttpConnectFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -111,14 +119,15 @@ Namespace Connection
|
||||
|
||||
#Region "Events"
|
||||
Private Sub gex_CreateWindow(ByVal sender As Object, ByVal e As Skybound.Gecko.GeckoCreateWindowEventArgs)
|
||||
'Dim tP As TabPage = AddTab()
|
||||
'e.WebBrowser = tP.Controls(0)
|
||||
e.WebBrowser = Me.wBrowser
|
||||
End Sub
|
||||
|
||||
Private Sub wBrowser_NewWindow(ByVal sender As Object, ByVal e As CancelEventArgs)
|
||||
e.Cancel = True
|
||||
TryCast(wBrowser, WebBrowser).Navigate(TryCast(wBrowser, WebBrowser).StatusText)
|
||||
Private Sub wBrowser_NewWindow3(ByRef ppDisp As Object, ByRef Cancel As Boolean, ByVal dwFlags As Long, ByVal bstrUrlContext As String, ByVal bstrUrl As String)
|
||||
If (dwFlags And NWMF.NWMF_OVERRIDEKEY) Then
|
||||
Cancel = False
|
||||
Else
|
||||
Cancel = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub wBrowser_LastTabRemoved(ByVal sender As Object)
|
||||
@@ -131,10 +140,6 @@ Namespace Connection
|
||||
tabP = TryCast(InterfaceControl.Parent, Crownwood.Magic.Controls.TabPage)
|
||||
|
||||
If tabP IsNot Nothing Then
|
||||
If tabTitle = "" Then
|
||||
tabTitle = tabP.Title
|
||||
End If
|
||||
|
||||
Dim shortTitle As String = ""
|
||||
|
||||
If Me.InterfaceControl.Info.RenderingEngine = RenderingEngine.Gecko Then
|
||||
@@ -151,20 +156,43 @@ Namespace Connection
|
||||
End If
|
||||
End If
|
||||
|
||||
tabP.Title = tabTitle & " - " & shortTitle
|
||||
If Me.tabTitle <> "" Then
|
||||
tabP.Title = tabTitle & " - " & shortTitle
|
||||
Else
|
||||
tabP.Title = shortTitle
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "wBrowser_DocumentTitleChanged (Connection.Protocol.HTTPBase) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, My.Language.strHttpDocumentTileChangeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Enums"
|
||||
Public Enum RenderingEngine
|
||||
<Description("Internet Explorer")> _
|
||||
<LocalizedDescription("strHttpInternetExplorer")> _
|
||||
IE = 1
|
||||
<Description("Gecko (Firefox)")> _
|
||||
<LocalizedDescription("strHttpGecko")> _
|
||||
Gecko = 2
|
||||
End Enum
|
||||
|
||||
Private Enum NWMF
|
||||
NWMF_UNLOADING = &H1
|
||||
NWMF_USERINITED = &H2
|
||||
NWMF_FIRST = &H4
|
||||
NWMF_OVERRIDEKEY = &H8
|
||||
NWMF_SHOWHELP = &H10
|
||||
NWMF_HTMLDIALOG = &H20
|
||||
NWMF_FROMDIALOGCHILD = &H40
|
||||
NWMF_USERREQUESTED = &H80
|
||||
NWMF_USERALLOWED = &H100
|
||||
NWMF_FORCEWINDOW = &H10000
|
||||
NWMF_FORCETAB = &H20000
|
||||
NWMF_SUGGESTWINDOW = &H40000
|
||||
NWMF_SUGGESTTAB = &H80000
|
||||
NWMF_INACTIVETAB = &H100000
|
||||
End Enum
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
@@ -1,7 +1,4 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports mRemote.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
Public Class HTTPS
|
||||
Inherits Connection.Protocol.HTTPBase
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Threading
|
||||
Imports AxWFICALib
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -18,7 +18,7 @@ Namespace Connection
|
||||
Try
|
||||
Me.Control = New AxICAClient
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't create new Connection.Protocol.ICA" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaControlFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -45,13 +45,37 @@ Namespace Connection
|
||||
|
||||
Me.SetSecurity()
|
||||
|
||||
'Disable hotkeys for international users
|
||||
ICA.Hotkey1Shift = Nothing
|
||||
ICA.Hotkey1Char = Nothing
|
||||
ICA.Hotkey2Shift = Nothing
|
||||
ICA.Hotkey2Char = Nothing
|
||||
ICA.Hotkey3Shift = Nothing
|
||||
ICA.Hotkey3Char = Nothing
|
||||
ICA.Hotkey4Shift = Nothing
|
||||
ICA.Hotkey4Char = Nothing
|
||||
ICA.Hotkey5Shift = Nothing
|
||||
ICA.Hotkey5Char = Nothing
|
||||
ICA.Hotkey6Shift = Nothing
|
||||
ICA.Hotkey6Char = Nothing
|
||||
ICA.Hotkey7Shift = Nothing
|
||||
ICA.Hotkey7Char = Nothing
|
||||
ICA.Hotkey8Shift = Nothing
|
||||
ICA.Hotkey8Char = Nothing
|
||||
ICA.Hotkey9Shift = Nothing
|
||||
ICA.Hotkey9Char = Nothing
|
||||
ICA.Hotkey10Shift = Nothing
|
||||
ICA.Hotkey10Char = Nothing
|
||||
ICA.Hotkey11Shift = Nothing
|
||||
ICA.Hotkey11Char = Nothing
|
||||
|
||||
ICA.PersistentCacheEnabled = Info.CacheBitmaps
|
||||
|
||||
ICA.Title = Info.Name
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't SetProps (Connection.Protocol.ICA)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -64,7 +88,7 @@ Namespace Connection
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Opening connection failed!" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaConnectionFailed & vbNewLine & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -110,7 +134,7 @@ Namespace Connection
|
||||
ICA.Domain = _dom
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ICA SetCredentials failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaSetCredentialsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -135,7 +159,7 @@ Namespace Connection
|
||||
ICA.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, RDP.Resolutions.Items(Int(Info.Resolution)).Width, RDP.Resolutions.Items(Int(Info.Resolution)).Height, 0)
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ICA SetResolution failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaSetResolutionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -143,6 +167,8 @@ Namespace Connection
|
||||
Select Case Info.Colors
|
||||
Case RDP.RDPColors.Colors256
|
||||
ICA.SetProp("DesiredColor", 2)
|
||||
Case RDP.RDPColors.Colors15Bit
|
||||
ICA.SetProp("DesiredColor", 4)
|
||||
Case RDP.RDPColors.Colors16Bit
|
||||
ICA.SetProp("DesiredColor", 4)
|
||||
Case Else
|
||||
@@ -174,7 +200,7 @@ Namespace Connection
|
||||
AddHandler ICA.OnConnectFailed, AddressOf ICAEvent_OnConnectFailed
|
||||
AddHandler ICA.OnDisconnect, AddressOf ICAEvent_OnDisconnect
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ICA SetEventHandlers failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIcaSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -229,15 +255,15 @@ Namespace Connection
|
||||
End Enum
|
||||
|
||||
Public Enum EncryptionStrength
|
||||
<Description("Basic")> _
|
||||
<LocalizedDescription("strEncBasic")> _
|
||||
EncrBasic = 1
|
||||
<Description("128 Bit (logon only)")> _
|
||||
<LocalizedDescription("strEnc128BitLogonOnly")> _
|
||||
Encr128BitLogonOnly = 127
|
||||
<Description("40 Bit")> _
|
||||
<LocalizedDescription("strEnc40Bit")> _
|
||||
Encr40Bit = 40
|
||||
<Description("56 Bit")> _
|
||||
<LocalizedDescription("strEnc56Bit")> _
|
||||
Encr56Bit = 56
|
||||
<Description("128 Bit")> _
|
||||
<LocalizedDescription("strEnc128Bit")> _
|
||||
Encr128Bit = 128
|
||||
End Enum
|
||||
#End Region
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
Imports mRemote.App.Native
|
||||
Imports mRemoteNG.App.Native
|
||||
Imports System.Threading
|
||||
Imports Microsoft.Win32
|
||||
Imports System.Drawing
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -12,7 +10,7 @@ Namespace Connection
|
||||
#Region "Private Properties"
|
||||
Private IntAppProcessStartInfo As New ProcessStartInfo()
|
||||
Private Arguments As String
|
||||
Private ExtApp As Tools.ExternalApp
|
||||
Private ExtApp As Tools.ExternalTool
|
||||
#End Region
|
||||
|
||||
#Region "Public Properties"
|
||||
@@ -112,12 +110,11 @@ Namespace Connection
|
||||
|
||||
IntAppHandle = IntAppProcess.MainWindowHandle
|
||||
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strIntAppStuff, True)
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "--- IntApp Stuff ---", True)
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "IntApp Handle: " & IntAppHandle.ToString, True)
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "IntApp Title: " & IntAppProcess.MainWindowTitle, True)
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "IntApp Handle: " & Me.InterfaceControl.Parent.Handle.ToString, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strIntAppHandle, IntAppHandle.ToString), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strIntAppTitle, IntAppProcess.MainWindowTitle), True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strIntAppParentHandle, Me.InterfaceControl.Parent.Handle.ToString), True)
|
||||
|
||||
SetParent(Me.IntAppHandle, Me.InterfaceControl.Parent.Handle)
|
||||
SetWindowLong(Me.IntAppHandle, 0, WS_VISIBLE)
|
||||
@@ -128,7 +125,7 @@ Namespace Connection
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Connect" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppConnectionFailed & vbNewLine & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -138,7 +135,7 @@ Namespace Connection
|
||||
Try
|
||||
SetForegroundWindow(IntAppHandle)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Focus (Connection.Protocol.IntApp)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppFocusFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -146,7 +143,7 @@ Namespace Connection
|
||||
Try
|
||||
MoveWindow(IntAppHandle, -SystemInformation.FrameBorderSize.Width, -(SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height), Me.InterfaceControl.Width + (SystemInformation.FrameBorderSize.Width * 2), Me.InterfaceControl.Height + SystemInformation.CaptionHeight + (SystemInformation.FrameBorderSize.Height * 2), True)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Resize (Connection.Protocol.IntApp)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppResizeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -156,7 +153,7 @@ Namespace Connection
|
||||
IntAppProcess.Kill()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Killing IntApp Process failed (Connection.Protocol.IntApp)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppKillFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Try
|
||||
@@ -164,7 +161,7 @@ Namespace Connection
|
||||
IntAppProcess.Dispose()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Dispose of IntApp process failed (Connection.Protocol.IntApp)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strIntAppDisposeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
MyBase.Close()
|
||||
|
||||
@@ -1,29 +1,30 @@
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
Public Enum Protocols
|
||||
<Description("RDP")> _
|
||||
<LocalizedDescription("strRDP")> _
|
||||
RDP = 0
|
||||
<Description("VNC")> _
|
||||
<LocalizedDescription("strVnc")> _
|
||||
VNC = 1
|
||||
<Description("SSH1")> _
|
||||
<LocalizedDescription("strSsh1")> _
|
||||
SSH1 = 2
|
||||
<Description("SSH2")> _
|
||||
<LocalizedDescription("strSsh2")> _
|
||||
SSH2 = 3
|
||||
<Description("Telnet")> _
|
||||
<LocalizedDescription("strTelnet")> _
|
||||
Telnet = 4
|
||||
<Description("Rlogin")> _
|
||||
<LocalizedDescription("strRlogin")> _
|
||||
Rlogin = 5
|
||||
<Description("RAW")> _
|
||||
<LocalizedDescription("strRAW")> _
|
||||
RAW = 6
|
||||
<Description("HTTP")> _
|
||||
<LocalizedDescription("strHttp")> _
|
||||
HTTP = 7
|
||||
<Description("HTTPS")> _
|
||||
<LocalizedDescription("strHttps")> _
|
||||
HTTPS = 8
|
||||
<Description("ICA")> _
|
||||
<LocalizedDescription("strICA")> _
|
||||
ICA = 9
|
||||
<Description("Ext. App")> _
|
||||
<LocalizedDescription("strExtApp")> _
|
||||
IntApp = 20
|
||||
<Browsable(False)> _
|
||||
NONE = 999
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
Imports mRemote.App.Native
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Messages
|
||||
Imports mRemoteNG.App.Native
|
||||
Imports System.Threading
|
||||
Imports Microsoft.Win32
|
||||
Imports System.Drawing
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
Public Class PuttyBase
|
||||
Inherits Connection.Protocol.Base
|
||||
|
||||
#Region "Constants"
|
||||
Private Const IDM_RECONF As Int32 = &H50 ' PuTTY Settings Menu ID
|
||||
#End Region
|
||||
|
||||
#Region "Private Properties"
|
||||
Private PuttyProcessStartInfo As New ProcessStartInfo()
|
||||
Private Arguments As String
|
||||
Dim _isPuttyNg As Boolean
|
||||
#End Region
|
||||
|
||||
#Region "Public Properties"
|
||||
@@ -101,99 +107,110 @@ Namespace Connection
|
||||
|
||||
Public Overrides Function Connect() As Boolean
|
||||
Try
|
||||
PuttyProcessStartInfo.FileName = _PuttyPath
|
||||
_isPuttyNg = IsFilePuttyNg(PuttyPath)
|
||||
|
||||
Select Case Me._PuttyProtocol
|
||||
Case Putty_Protocol.raw
|
||||
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.rlogin
|
||||
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.ssh
|
||||
Dim UserArg As String = ""
|
||||
Dim PassArg As String = ""
|
||||
PuttyProcess = New Process
|
||||
With PuttyProcess.StartInfo
|
||||
.FileName = _PuttyPath
|
||||
|
||||
If My.Settings.EmptyCredentials = "windows" Then
|
||||
UserArg = " -l """ & Environment.UserName & """"
|
||||
ElseIf My.Settings.EmptyCredentials = "custom" Then
|
||||
UserArg = " -l """ & My.Settings.DefaultUsername & """"
|
||||
PassArg = " -pw """ & Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey) & """"
|
||||
End If
|
||||
Select Case _PuttyProtocol
|
||||
Case Putty_Protocol.raw
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.rlogin
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.ssh
|
||||
Dim userArgument As String = ""
|
||||
Dim passwordArgument As String = ""
|
||||
|
||||
If Me.InterfaceControl.Info.Username <> "" Then
|
||||
UserArg = " -l """ & Me.InterfaceControl.Info.Username & """"
|
||||
End If
|
||||
If My.Settings.EmptyCredentials = "windows" Then
|
||||
userArgument = " -l """ & Environment.UserName & """"
|
||||
ElseIf My.Settings.EmptyCredentials = "custom" Then
|
||||
userArgument = " -l """ & My.Settings.DefaultUsername & """"
|
||||
passwordArgument = " -pw """ & PuttyEscapeArgument(Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey)) & """"
|
||||
End If
|
||||
|
||||
If Me.InterfaceControl.Info.Password <> "" Then
|
||||
PassArg = " -pw """ & Me.InterfaceControl.Info.Password & """"
|
||||
End If
|
||||
If InterfaceControl.Info.Username <> "" Then
|
||||
userArgument = " -l """ & InterfaceControl.Info.Username & """"
|
||||
End If
|
||||
|
||||
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -" & Me._PuttySSHVersion & UserArg & PassArg & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.telnet
|
||||
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.serial
|
||||
Arguments = "-load " & """" & Me.InterfaceControl.Info.PuttySession & """" & " -" & Me._PuttyProtocol.ToString & " -P " & Me.InterfaceControl.Info.Port & " """ & Me.InterfaceControl.Info.Hostname & """"
|
||||
End Select
|
||||
If InterfaceControl.Info.Password <> "" Then
|
||||
passwordArgument = " -pw """ & PuttyEscapeArgument(InterfaceControl.Info.Password) & """"
|
||||
End If
|
||||
|
||||
'REMOVE IN RELEASE!
|
||||
'mC.AddMessage(Messages.MessageClass.InformationMsg, "PuTTY Arguments: " & Arguments, True)
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -" & _PuttySSHVersion & userArgument & passwordArgument & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.telnet
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
Case Putty_Protocol.serial
|
||||
.Arguments = "-load " & """" & PuttyEscapeArgument(InterfaceControl.Info.PuttySession) & """" & " -" & _PuttyProtocol.ToString & " -P " & InterfaceControl.Info.Port & " """ & InterfaceControl.Info.Hostname & """"
|
||||
End Select
|
||||
|
||||
PuttyProcessStartInfo.Arguments = Arguments
|
||||
|
||||
PuttyProcess = Process.Start(PuttyProcessStartInfo)
|
||||
PuttyProcess.EnableRaisingEvents = True
|
||||
PuttyProcess.WaitForInputIdle()
|
||||
|
||||
AddHandler PuttyProcess.Exited, AddressOf ProcessExited
|
||||
|
||||
Dim TryCount As Integer = 0
|
||||
Do Until PuttyProcess.MainWindowHandle <> IntPtr.Zero And Me.InterfaceControl.Handle <> IntPtr.Zero And Me.PuttyProcess.MainWindowTitle <> "Default IME"
|
||||
If TryCount >= My.Settings.MaxPuttyWaitTime * 2 Then
|
||||
Exit Do
|
||||
If _isPuttyNg Then
|
||||
.Arguments = .Arguments & " -hwndparent " & InterfaceControl.Handle.ToString()
|
||||
End If
|
||||
|
||||
PuttyProcess.Refresh()
|
||||
'REMOVE IN RELEASE!
|
||||
'MessageCollector.AddMessage(MessageClass.InformationMsg, "PuTTY Arguments: " & .Arguments, True)
|
||||
End With
|
||||
|
||||
Thread.Sleep(500)
|
||||
PuttyProcess.EnableRaisingEvents = True
|
||||
AddHandler PuttyProcess.Exited, AddressOf ProcessExited
|
||||
|
||||
TryCount += 1
|
||||
Loop
|
||||
PuttyProcess.Start()
|
||||
PuttyProcess.WaitForInputIdle()
|
||||
|
||||
PuttyHandle = PuttyProcess.MainWindowHandle
|
||||
Dim startTicks As Integer = Environment.TickCount
|
||||
While PuttyHandle.ToInt32 = 0 And Environment.TickCount < startTicks + 5000
|
||||
If _isPuttyNg Then
|
||||
PuttyHandle = FindWindowEx(InterfaceControl.Handle, 0, vbNullString, vbNullString)
|
||||
Else
|
||||
PuttyHandle = PuttyProcess.MainWindowHandle
|
||||
End If
|
||||
If PuttyHandle.ToInt32 = 0 Then Thread.Sleep(0)
|
||||
End While
|
||||
|
||||
If Not _isPuttyNg Then
|
||||
SetParent(PuttyHandle, InterfaceControl.Handle)
|
||||
End If
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "--- PuTTY Stuff ---", True)
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, My.Language.strPuttyStuff, True)
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "PuTTY Handle: " & PuttyHandle.ToString, True)
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "PuTTY Title: " & PuttyProcess.MainWindowTitle, True)
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Panel Handle: " & Me.InterfaceControl.Parent.Handle.ToString, True)
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, String.Format(My.Language.strPuttyHandle, PuttyHandle.ToString), True)
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, String.Format(My.Language.strPuttyTitle, PuttyProcess.MainWindowTitle), True)
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, String.Format(My.Language.strPuttyParentHandle, InterfaceControl.Parent.Handle.ToString), True)
|
||||
|
||||
SetParent(Me.PuttyHandle, Me.InterfaceControl.Parent.Handle)
|
||||
SetWindowLong(Me.PuttyHandle, 0, WS_VISIBLE)
|
||||
ShowWindow(Me.PuttyHandle, SW_SHOWMAXIMIZED)
|
||||
Resize()
|
||||
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Connect" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(MessageClass.ErrorMsg, My.Language.strPuttyConnectionFailed & vbNewLine & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
' Due to the way PuTTY handles command line arguments, backslashes followed by a quotation mark will be removed.
|
||||
' Since all the strings we send to PuTTY are surrounded by quotation marks, we need to escape any trailing
|
||||
' backslashes by adding another. See split_into_argv() in WINDOWS\WINUTILS.C of the PuTTY source for more info.
|
||||
Private Shared Function PuttyEscapeArgument(ByVal argument As String) As String
|
||||
If argument.EndsWith("\") Then argument = argument & "\"
|
||||
Return argument
|
||||
End Function
|
||||
|
||||
Public Overrides Sub Focus()
|
||||
Try
|
||||
SetForegroundWindow(PuttyHandle)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Focus (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyFocusFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Resize()
|
||||
Try
|
||||
MoveWindow(PuttyHandle, -SystemInformation.FrameBorderSize.Width, -(SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height), Me.InterfaceControl.Width + (SystemInformation.FrameBorderSize.Width * 2), Me.InterfaceControl.Height + SystemInformation.CaptionHeight + (SystemInformation.FrameBorderSize.Height * 2), True)
|
||||
If frmMain.WindowState = FormWindowState.Minimized Then Return
|
||||
|
||||
MoveWindow(PuttyHandle, -SystemInformation.FrameBorderSize.Width, -(SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height), InterfaceControl.Width + (SystemInformation.FrameBorderSize.Width * 2), InterfaceControl.Height + SystemInformation.CaptionHeight + (SystemInformation.FrameBorderSize.Height * 2), True)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Resize (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyResizeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -203,17 +220,26 @@ Namespace Connection
|
||||
PuttyProcess.Kill()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Killing Putty Process failed (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyKillFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Try
|
||||
PuttyProcess.Dispose()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Dispose of Putty process failed (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyDisposeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
MyBase.Close()
|
||||
End Sub
|
||||
|
||||
Public Sub ShowSettingsDialog()
|
||||
Try
|
||||
PostMessage(Me.PuttyHandle, WM_SYSCOMMAND, IDM_RECONF, 0)
|
||||
SetForegroundWindow(Me.PuttyHandle)
|
||||
Catch ex As Exception
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyShowSettingsDialogFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Public Shared Methods"
|
||||
@@ -233,11 +259,21 @@ Namespace Connection
|
||||
|
||||
Return arrKeys
|
||||
Catch ex As Exception
|
||||
App.Runtime.mC.AddMessage(Messages.MessageClass.WarningMsg, "Couldn't get Putty sessions" & vbNewLine & ex.Message, True)
|
||||
App.Runtime.MessageCollector.AddMessage(Messages.MessageClass.WarningMsg, My.Language.strPuttyGetSessionsFailed & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Shared Function IsFilePuttyNg(file As String) As Boolean
|
||||
Dim isPuttyNg As Boolean
|
||||
Try
|
||||
isPuttyNg = FileVersionInfo.GetVersionInfo(file).InternalName.Contains("PuTTYNG")
|
||||
Catch
|
||||
isPuttyNg = False
|
||||
End Try
|
||||
Return isPuttyNg
|
||||
End Function
|
||||
|
||||
Public Shared Sub StartPutty()
|
||||
Try
|
||||
Dim p As Process
|
||||
@@ -247,9 +283,9 @@ Namespace Connection
|
||||
p = Process.Start(pSI)
|
||||
p.WaitForExit()
|
||||
|
||||
mRemote.Connection.PuttySession.PuttySessions = GetSessions()
|
||||
mRemoteNG.Connection.PuttySession.PuttySessions = GetSessions()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Start Putty (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyStartFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -268,7 +304,6 @@ Namespace Connection
|
||||
ssh2 = 2
|
||||
End Enum
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
|
||||
@@ -3,7 +3,8 @@ Imports System.Threading
|
||||
Imports AxMSTSCLib
|
||||
Imports EOLWTSCOM
|
||||
Imports System.ComponentModel
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -33,15 +34,14 @@ Namespace Connection
|
||||
#End Region
|
||||
|
||||
#Region "Private Declarations"
|
||||
Private rd As MSTSCLib.IMsRdpClient5
|
||||
Private RDP As AxMsRdpClient5
|
||||
Private RDP As AxMsRdpClient6NotSafeForScripting
|
||||
Private Info As Connection.Info
|
||||
Private RDPVersion As Version
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Sub New()
|
||||
Me.Control = New AxMsRdpClient5
|
||||
Me.Control = New AxMsRdpClient6NotSafeForScripting
|
||||
End Sub
|
||||
|
||||
Public Overrides Function SetProps() As Boolean
|
||||
@@ -59,11 +59,10 @@ Namespace Connection
|
||||
System.Windows.Forms.Application.DoEvents()
|
||||
Loop
|
||||
Catch comEx As System.Runtime.InteropServices.COMException
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't create RDP control, please check mRemote requirements." & vbNewLine & vbNewLine & comEx.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpControlCreationFailed & vbNewLine & vbNewLine & comEx.Message)
|
||||
RDP.Dispose()
|
||||
Return False
|
||||
End Try
|
||||
|
||||
|
||||
Me.RDPVersion = New Version(RDP.Version)
|
||||
|
||||
@@ -76,7 +75,7 @@ Namespace Connection
|
||||
'not user changeable
|
||||
RDP.AdvancedSettings2.GrabFocusOnConnect = True
|
||||
RDP.AdvancedSettings3.EnableAutoReconnect = True
|
||||
RDP.AdvancedSettings3.MaxReconnectAttempts = 3
|
||||
RDP.AdvancedSettings3.MaxReconnectAttempts = My.Settings.RdpReconnectionCount
|
||||
RDP.AdvancedSettings2.keepAliveInterval = 60000 'in milliseconds (10.000 = 10 seconds)
|
||||
RDP.AdvancedSettings5.AuthenticationLevel = 0
|
||||
RDP.AdvancedSettings.EncryptionEnabled = 1
|
||||
@@ -84,23 +83,26 @@ Namespace Connection
|
||||
RDP.AdvancedSettings2.overallConnectionTimeout = 20
|
||||
|
||||
RDP.AdvancedSettings2.BitmapPeristence = Me.Info.CacheBitmaps
|
||||
RDP.AdvancedSettings7.EnableCredSspSupport = Info.UseCredSsp
|
||||
|
||||
Me.SetUseConsoleSession()
|
||||
Me.SetPort()
|
||||
Me.SetRedirectKeys()
|
||||
Me.SetRedirection()
|
||||
Me.SetAuthenticationLevel()
|
||||
Me.SetTSGateway()
|
||||
Me.SetRDGateway()
|
||||
|
||||
RDP.ColorDepth = Int(Me.Info.Colors)
|
||||
|
||||
Me.SetPerformanceFlags()
|
||||
|
||||
RDP.ConnectingText = Language.Base.Connecting
|
||||
RDP.ConnectingText = My.Language.strConnecting
|
||||
|
||||
Control.Anchor = AnchorStyles.None
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetProps failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -113,7 +115,7 @@ Namespace Connection
|
||||
MyBase.Connect()
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Opening connection failed!" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpConnectionOpenFailed & vbNewLine & ex.Message)
|
||||
End Try
|
||||
|
||||
Return False
|
||||
@@ -123,7 +125,7 @@ Namespace Connection
|
||||
Try
|
||||
RDP.Disconnect()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP Disconnect failed, trying to close" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpDisconnectFailed & vbNewLine & ex.Message, True)
|
||||
MyBase.Close()
|
||||
End Try
|
||||
End Sub
|
||||
@@ -132,7 +134,7 @@ Namespace Connection
|
||||
Try
|
||||
Me.Fullscreen = Not Me.Fullscreen
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP ToggleFullscreen failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpToggleFullscreenFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -140,7 +142,7 @@ Namespace Connection
|
||||
Try
|
||||
Me.SmartSize = Not Me.SmartSize
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP ToggleSmartSize failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpToggleSmartSizeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -150,21 +152,45 @@ Namespace Connection
|
||||
RDP.Focus()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP Focus failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpFocusFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub Resize()
|
||||
Control.Location = InterfaceControl.Location
|
||||
Control.Size = InterfaceControl.Size
|
||||
MyBase.Resize()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Private Methods"
|
||||
Private Sub SetTSGateway()
|
||||
Private Sub SetRDGateway()
|
||||
Try
|
||||
'If RDP.TransportSettings.GatewayIsSupported = 1 Then
|
||||
' MsgBox("TS Gateway supported")
|
||||
'Else
|
||||
' MsgBox("TS Gateway unsupported")
|
||||
'End If
|
||||
If RDP.TransportSettings.GatewayIsSupported = 1 Then
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strRdpGatewayIsSupported, True)
|
||||
If Info.RDGatewayUsageMethod <> RDGatewayUsageMethod.Never Then
|
||||
RDP.TransportSettings2.GatewayProfileUsageMethod = 1
|
||||
RDP.TransportSettings.GatewayUsageMethod = Info.RDGatewayUsageMethod
|
||||
RDP.TransportSettings.GatewayHostname = Info.RDGatewayHostname
|
||||
If Info.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.Yes Then
|
||||
RDP.TransportSettings.GatewayUsername = Info.Username
|
||||
RDP.TransportSettings.GatewayPassword = Info.Password
|
||||
RDP.TransportSettings.GatewayDomain = Info.Domain
|
||||
ElseIf Info.RDGatewayUseConnectionCredentials = RDGatewayUseConnectionCredentials.SmartCard Then
|
||||
RDP.TransportSettings2.GatewayCredsSource = 1 ' TSC_PROXY_CREDS_MODE_SMARTCARD
|
||||
RDP.TransportSettings2.GatewayCredSharing = 0
|
||||
Else
|
||||
RDP.TransportSettings.GatewayUsername = Info.RDGatewayUsername
|
||||
RDP.TransportSettings.GatewayPassword = Info.RDGatewayPassword
|
||||
RDP.TransportSettings.GatewayDomain = Info.RDGatewayDomain
|
||||
RDP.TransportSettings2.GatewayCredSharing = 0
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strRdpGatewayNotSupported, True)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetTSGateway failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetGatewayFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -172,31 +198,31 @@ Namespace Connection
|
||||
Try
|
||||
If (Me.Force And Connection.Info.Force.UseConsoleSession) = Connection.Info.Force.UseConsoleSession Then
|
||||
If RDPVersion < Versions.RDC61 Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Setting Console switch for RDC 6.0", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
RDP.AdvancedSettings2.ConnectToServerConsole = True
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Setting Console switch for RDC 6.1", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
RDP.AdvancedSettings6.ConnectToAdministerServer = True
|
||||
End If
|
||||
ElseIf (Me.Force And Connection.Info.Force.DontUseConsoleSession) = Connection.Info.Force.DontUseConsoleSession Then
|
||||
If RDPVersion < Versions.RDC61 Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Setting Console switch for RDC 6.0", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
RDP.AdvancedSettings2.ConnectToServerConsole = False
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Setting Console switch for RDC 6.1", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
RDP.AdvancedSettings6.ConnectToAdministerServer = False
|
||||
End If
|
||||
Else
|
||||
If RDPVersion < Versions.RDC61 Then
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Setting Console switch for RDC 6.0", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.0"), True)
|
||||
RDP.AdvancedSettings2.ConnectToServerConsole = Me.Info.UseConsoleSession
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Setting Console switch for RDC 6.1", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, String.Format(My.Language.strRdpSetConsoleSwitch, "6.1"), True)
|
||||
RDP.AdvancedSettings6.ConnectToAdministerServer = Me.Info.UseConsoleSession
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetUseConsoleSession failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetConsoleSessionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -239,7 +265,7 @@ Namespace Connection
|
||||
RDP.Domain = _dom
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetCredentials failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetCredentialsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -270,7 +296,7 @@ Namespace Connection
|
||||
RDP.DesktopHeight = Resolutions.Items(Int(Me.Info.Resolution)).Height
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetResolution failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetResolutionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -280,7 +306,7 @@ Namespace Connection
|
||||
RDP.AdvancedSettings2.RDPPort = Me.Info.Port
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetPort failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPortFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -293,7 +319,7 @@ Namespace Connection
|
||||
RDP.FullScreen = True
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetRedirectKeys failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetRedirectKeysFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -305,7 +331,7 @@ Namespace Connection
|
||||
RDP.AdvancedSettings2.RedirectSmartCards = Me.Info.RedirectSmartCards
|
||||
RDP.SecuredSettings2.AudioRedirectionMode = Int(Me.Info.RedirectSound)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetRedirection failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetRedirectionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -320,9 +346,17 @@ Namespace Connection
|
||||
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.DisableWallpaper)
|
||||
End If
|
||||
|
||||
RDP.AdvancedSettings2.PerformanceFlags = pFlags
|
||||
If Me.Info.EnableFontSmoothing Then
|
||||
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.EnableFontSmoothing)
|
||||
End If
|
||||
|
||||
If Me.Info.EnableDesktopComposition Then
|
||||
pFlags += Int(Connection.Protocol.RDP.RDPPerformanceFlags.EnableDesktopComposition)
|
||||
End If
|
||||
|
||||
RDP.AdvancedSettings.PerformanceFlags = pFlags
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetPerformanceFlags failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetPerformanceFlagsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -330,7 +364,7 @@ Namespace Connection
|
||||
Try
|
||||
RDP.AdvancedSettings5.AuthenticationLevel = Me.Info.RDPAuthenticationLevel
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetAuthenticationLevel failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetAuthenticationLevelFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -342,7 +376,7 @@ Namespace Connection
|
||||
AddHandler RDP.OnDisconnected, AddressOf RDPEvent_OnDisconnected
|
||||
AddHandler RDP.OnLeaveFullScreenMode, AddressOf RDPEvent_OnLeaveFullscreenMode
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP SetEventHandlers failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -352,8 +386,12 @@ Namespace Connection
|
||||
MyBase.Event_ErrorOccured(Me, e.errorCode)
|
||||
End Sub
|
||||
|
||||
Private Sub RDPEvent_OnDisconnected(ByVal sender As Object, ByVal e As AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEvent)
|
||||
MyBase.Event_Disconnected(Me, e.discReason)
|
||||
Private Sub RDPEvent_OnDisconnected(ByVal sender As Object, ByVal e As IMsTscAxEvents_OnDisconnectedEvent)
|
||||
Const UI_ERR_NORMAL_DISCONNECT As Integer = &HB08
|
||||
If Not e.discReason = UI_ERR_NORMAL_DISCONNECT Then
|
||||
Dim reason As String = RDP.GetErrorDescription(e.discReason, RDP.ExtendedDisconnectReason)
|
||||
Event_Disconnected(Me, e.discReason & vbCrLf & reason)
|
||||
End If
|
||||
|
||||
If My.Settings.ReconnectOnDisconnect Then
|
||||
ReconnectGroup = New ReconnectGroup
|
||||
@@ -363,7 +401,7 @@ Namespace Connection
|
||||
ReconnectGroup.Show()
|
||||
tmrReconnect.Enabled = True
|
||||
Else
|
||||
MyBase.Close()
|
||||
Close()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -393,46 +431,52 @@ Namespace Connection
|
||||
End Enum
|
||||
|
||||
Public Enum RDPColors
|
||||
<Description(Language.Base.RDP256Colors)> _
|
||||
<LocalizedDescription("strRDP256Colors")> _
|
||||
Colors256 = 8
|
||||
<Description("16 Bit")> _
|
||||
<LocalizedDescription("strRDP32768Colors")> _
|
||||
Colors15Bit = 15
|
||||
<LocalizedDescription("strRDP65536Colors")> _
|
||||
Colors16Bit = 16
|
||||
<Description("24 Bit")> _
|
||||
<LocalizedDescription("strRDP16777216Colors")> _
|
||||
Colors24Bit = 24
|
||||
<Description("32 Bit")> _
|
||||
<LocalizedDescription("strRDP4294967296Colors")> _
|
||||
Colors32Bit = 32
|
||||
End Enum
|
||||
|
||||
Public Enum RDPSounds
|
||||
<Description(Language.Base.RDPSoundBringToThisComputer)> _
|
||||
<LocalizedDescription("strRDPSoundBringToThisComputer")> _
|
||||
BringToThisComputer = 0
|
||||
<Description(Language.Base.RDPSoundLeaveAtRemoteComputer)> _
|
||||
<LocalizedDescription("strRDPSoundLeaveAtRemoteComputer")> _
|
||||
LeaveAtRemoteComputer = 1
|
||||
<Description(Language.Base.RDPSoundDoNotPlay)> _
|
||||
<LocalizedDescription("strRDPSoundDoNotPlay")> _
|
||||
DoNotPlay = 2
|
||||
End Enum
|
||||
|
||||
Private Enum RDPPerformanceFlags
|
||||
<Description("Disable Wallpaper")> _
|
||||
DisableWallpaper = 1
|
||||
<Description("Disable Full Window drag")> _
|
||||
DisableFullWindowDrag = 2
|
||||
<Description("Disable Menu Animations")> _
|
||||
DisableMenuAnimations = 4
|
||||
<Description("Disable Themes")> _
|
||||
DisableThemes = 8
|
||||
<Description("Disable Cursor Shadow")> _
|
||||
DisableCursorShadow = 20
|
||||
<Description("Disable Cursor blinking")> _
|
||||
DisableCursorBlinking = 40
|
||||
<Description("strRDPDisableWallpaper")> _
|
||||
DisableWallpaper = &H1
|
||||
<Description("strRDPDisableFullWindowdrag")> _
|
||||
DisableFullWindowDrag = &H2
|
||||
<Description("strRDPDisableMenuAnimations")> _
|
||||
DisableMenuAnimations = &H4
|
||||
<Description("strRDPDisableThemes")> _
|
||||
DisableThemes = &H8
|
||||
<Description("strRDPDisableCursorShadow")> _
|
||||
DisableCursorShadow = &H20
|
||||
<Description("strRDPDisableCursorblinking")> _
|
||||
DisableCursorBlinking = &H40
|
||||
<Description("strRDPEnableFontSmoothing")> _
|
||||
EnableFontSmoothing = &H80
|
||||
<Description("strRDPEnableDesktopComposition")> _
|
||||
EnableDesktopComposition = &H100
|
||||
End Enum
|
||||
|
||||
Public Enum RDPResolutions
|
||||
<Description(Language.Base.RDPFitToPanel)> _
|
||||
<LocalizedDescription("strRDPFitToPanel")> _
|
||||
FitToWindow
|
||||
<Description(Language.Base.Fullscreen)> _
|
||||
<LocalizedDescription("strFullscreen")> _
|
||||
Fullscreen
|
||||
<Description(Language.Base.RDPSmartSize)> _
|
||||
<LocalizedDescription("strRDPSmartSize")> _
|
||||
SmartSize
|
||||
<Description("640x480")> _
|
||||
Res640x480
|
||||
@@ -473,13 +517,31 @@ Namespace Connection
|
||||
End Enum
|
||||
|
||||
Public Enum AuthenticationLevel
|
||||
<Description(Language.Base.AlwaysConnectEvenIfAuthFails)> _
|
||||
<LocalizedDescription("strAlwaysConnectEvenIfAuthFails")> _
|
||||
NoAuth = 0
|
||||
<Description(Language.Base.DontConnectWhenAuthFails)> _
|
||||
<LocalizedDescription("strDontConnectWhenAuthFails")> _
|
||||
AuthRequired = 1
|
||||
<Description(Language.Base.WarnIfAuthFails)> _
|
||||
<LocalizedDescription("strWarnIfAuthFails")> _
|
||||
WarnOnFailedAuth = 2
|
||||
End Enum
|
||||
|
||||
Public Enum RDGatewayUsageMethod
|
||||
<LocalizedDescription("strNever")> _
|
||||
Never = 0 ' TSC_PROXY_MODE_NONE_DIRECT
|
||||
<LocalizedDescription("strAlways")> _
|
||||
Always = 1 ' TSC_PROXY_MODE_DIRECT
|
||||
<LocalizedDescription("strDetect")> _
|
||||
Detect = 2 ' TSC_PROXY_MODE_DETECT
|
||||
End Enum
|
||||
|
||||
Public Enum RDGatewayUseConnectionCredentials
|
||||
<LocalizedDescription("strUseDifferentUsernameAndPassword")> _
|
||||
No = 0
|
||||
<LocalizedDescription("strUseSameUsernameAndPassword")> _
|
||||
Yes = 1
|
||||
<LocalizedDescription("strUseSmartCard")> _
|
||||
SmartCard = 2
|
||||
End Enum
|
||||
#End Region
|
||||
|
||||
#Region "Resolution"
|
||||
@@ -526,7 +588,7 @@ Namespace Connection
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP AddResolutions failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpAddResolutionsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -553,7 +615,7 @@ Namespace Connection
|
||||
|
||||
Return nRes
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "RDP Add (Resolutions) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpAddResolutionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
@@ -562,8 +624,8 @@ Namespace Connection
|
||||
#End Region
|
||||
|
||||
Public Class Versions
|
||||
Public Shared RDC60 As Version = New Version(6, 0, 6000)
|
||||
Public Shared RDC61 As Version = New Version(6, 0, 6001)
|
||||
Public Shared RDC60 As New Version(6, 0, 6000)
|
||||
Public Shared RDC61 As New Version(6, 0, 6001)
|
||||
End Class
|
||||
|
||||
#Region "Terminal Sessions"
|
||||
@@ -581,7 +643,7 @@ Namespace Connection
|
||||
Return True
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "OpenConnection failed (TerminalSessions)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpOpenConnectionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return False
|
||||
@@ -592,7 +654,7 @@ Namespace Connection
|
||||
oWTSCOM.WTSCloseServer(ServerHandle)
|
||||
ServerHandle = 0
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CloseConnection failed (TerminalSessions)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpCloseConnectionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -615,14 +677,14 @@ Namespace Connection
|
||||
|
||||
If SessionUser <> "" Then
|
||||
If SessionState = 0 Then
|
||||
colSessions.Add(SessionID, Language.Base.Active, SessionUser, SessionName)
|
||||
colSessions.Add(SessionID, My.Language.strActive, SessionUser, SessionName)
|
||||
Else
|
||||
colSessions.Add(SessionID, Language.Base.Inactive, SessionUser, SessionName)
|
||||
colSessions.Add(SessionID, My.Language.strInactive, SessionUser, SessionName)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "GetSessions failed (TerminalSessions)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpGetSessionsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return colSessions
|
||||
@@ -661,7 +723,7 @@ Namespace Connection
|
||||
|
||||
List.Add(newSes)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Add Session failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpAddSessionFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return newSes
|
||||
@@ -717,71 +779,27 @@ Namespace Connection
|
||||
End Class
|
||||
#End Region
|
||||
|
||||
#Region "Disconnection Errors"
|
||||
Public Class DisconnectionErrors
|
||||
Public Shared Code(3080) As String
|
||||
|
||||
Public Shared Function GetError(ByVal id As Integer) As String
|
||||
Try
|
||||
Code(1) = "Local Disconnection (not an error)"
|
||||
Code(2) = "Remote Disconnection by user (not an error)"
|
||||
Code(3) = "Remote Disconnection by server (not an error)"
|
||||
Code(260) = "DNS Lookup Failed"
|
||||
Code(262) = "Out of memory condition"
|
||||
Code(264) = "Connection Timed Out"
|
||||
Code(516) = "WinSock socket connect failed"
|
||||
Code(518) = "Out of memory condition"
|
||||
Code(520) = "Host Not Found error (GetHostByName failed)."
|
||||
Code(772) = "WinSock send call failed"
|
||||
Code(774) = "Out of memory condition"
|
||||
Code(776) = "Invalid IP address specified"
|
||||
Code(1028) = "WinSock recv call failed"
|
||||
Code(1030) = "Invalid Security Data"
|
||||
Code(1032) = "Internal error (code 1032)"
|
||||
Code(1286) = "Invalid Encryption Method"
|
||||
Code(1288) = "DNS Lookup failed"
|
||||
Code(1540) = "GetHostByName call failed"
|
||||
Code(1542) = "Invalid server security data"
|
||||
Code(1544) = "Internal Error (timer error)"
|
||||
Code(1796) = "Timeout occurred"
|
||||
Code(1798) = "Failed to unpack server certificate"
|
||||
Code(2052) = "Bad IP address specified"
|
||||
Code(2054) = "Internal Security Error"
|
||||
Code(2308) = "Socket closed"
|
||||
Code(2310) = "Internal Security Error"
|
||||
Code(2566) = "Internal Security Error"
|
||||
Code(2822) = "Encryption error"
|
||||
Code(2824) = "Your session was taken by someone else"
|
||||
Code(3078) = "Decryption error"
|
||||
|
||||
Return (Code(id))
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "GetError failed (DisconnectionErrors)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return ""
|
||||
End Function
|
||||
End Class
|
||||
|
||||
#Region "Fatal Errors"
|
||||
Public Class FatalErrors
|
||||
Public Shared Code(110) As String
|
||||
Protected Shared _description() As String = { _
|
||||
0 = My.Language.strRdpErrorUnknown, _
|
||||
1 = My.Language.strRdpErrorCode1, _
|
||||
2 = My.Language.strRdpErrorOutOfMemory, _
|
||||
3 = My.Language.strRdpErrorWindowCreation, _
|
||||
4 = My.Language.strRdpErrorCode2, _
|
||||
5 = My.Language.strRdpErrorCode3, _
|
||||
6 = My.Language.strRdpErrorCode4, _
|
||||
7 = My.Language.strRdpErrorConnection, _
|
||||
100 = My.Language.strRdpErrorWinsock _
|
||||
}
|
||||
|
||||
Public Shared Function GetError(ByVal id As String) As String
|
||||
Try
|
||||
Code(0) = "An unknown error has occurred"
|
||||
Code(1) = "Internal error code 1"
|
||||
Code(2) = "Out of memory error"
|
||||
Code(3) = "Window creation error"
|
||||
Code(4) = "Internal error code 2"
|
||||
Code(5) = "Internal error code 3 (Invalid state)"
|
||||
Code(100) = "Winsock initialization error"
|
||||
|
||||
Return (Code(id))
|
||||
Return (_description(id))
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "GetError failed (FatalErrors)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strRdpErrorGetFailure & vbNewLine & ex.Message, True)
|
||||
Return String.Format(My.Language.strRdpErrorUnknown, id)
|
||||
End Try
|
||||
|
||||
Return ""
|
||||
End Function
|
||||
End Class
|
||||
#End Region
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports AxViewerX
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -10,22 +10,10 @@ Namespace Connection
|
||||
#Region "Properties"
|
||||
Public Property SmartSize() As Boolean
|
||||
Get
|
||||
If VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_NONE Then
|
||||
Return False
|
||||
Else
|
||||
Return True
|
||||
End If
|
||||
Return VNC.Scaled
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
If value = False Then
|
||||
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_NONE
|
||||
Else
|
||||
If Info.VNCSmartSizeMode = SmartSizeMode.SmartSFree Then
|
||||
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_FREE
|
||||
Else
|
||||
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_ASPECT
|
||||
End If
|
||||
End If
|
||||
VNC.Scaled = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -40,14 +28,13 @@ Namespace Connection
|
||||
#End Region
|
||||
|
||||
#Region "Private Declarations"
|
||||
Private VNC As AxCSC_ViewerXControl
|
||||
Private VNC As VncSharp.RemoteDesktop
|
||||
Private Info As Connection.Info
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Sub New()
|
||||
Me.Control = New AxCSC_ViewerXControl
|
||||
SetupLicense(Me.Control)
|
||||
Me.Control = New VncSharp.RemoteDesktop
|
||||
End Sub
|
||||
|
||||
Public Overrides Function SetProps() As Boolean
|
||||
@@ -58,88 +45,74 @@ Namespace Connection
|
||||
|
||||
Info = Me.InterfaceControl.Info
|
||||
|
||||
VNC.BeginInit()
|
||||
VNC.VncPort = Me.Info.Port
|
||||
|
||||
VNC.Port = Me.Info.Port
|
||||
VNC.HostIP = Me.Info.Hostname
|
||||
'If Info.VNCCompression <> Compression.CompNone Then
|
||||
' VNC.JPEGCompression = True
|
||||
' VNC.JPEGCompressionLevel = Info.VNCCompression
|
||||
'End If
|
||||
|
||||
If Info.VNCCompression <> Compression.CompNone Then
|
||||
VNC.JPEGCompression = True
|
||||
VNC.JPEGCompressionLevel = Info.VNCCompression
|
||||
End If
|
||||
'Select Case Info.VNCEncoding
|
||||
' Case Encoding.EncCorre
|
||||
' VNC.Encoding = ViewerX.VNCEncoding.RFB_CORRE
|
||||
' Case Encoding.EncHextile
|
||||
' VNC.Encoding = ViewerX.VNCEncoding.RFB_HEXTILE
|
||||
' Case Encoding.EncRaw
|
||||
' VNC.Encoding = ViewerX.VNCEncoding.RFB_RAW
|
||||
' Case Encoding.EncRRE
|
||||
' VNC.Encoding = ViewerX.VNCEncoding.RFB_RRE
|
||||
' Case Encoding.EncTight
|
||||
' VNC.Encoding = ViewerX.VNCEncoding.RFB_TIGHT
|
||||
' Case Encoding.EncZlib
|
||||
' VNC.Encoding = ViewerX.VNCEncoding.RFB_ZLIB
|
||||
' Case Encoding.EncZLibHex
|
||||
' VNC.Encoding = ViewerX.VNCEncoding.RFB_ZLIBHEX
|
||||
' Case Encoding.EncZRLE
|
||||
' VNC.Encoding = ViewerX.VNCEncoding.RFB_ZRLE
|
||||
'End Select
|
||||
|
||||
Select Case Info.VNCEncoding
|
||||
Case Encoding.EncCorre
|
||||
VNC.Encoding = ViewerX.VNCEncoding.RFB_CORRE
|
||||
Case Encoding.EncHextile
|
||||
VNC.Encoding = ViewerX.VNCEncoding.RFB_HEXTILE
|
||||
Case Encoding.EncRaw
|
||||
VNC.Encoding = ViewerX.VNCEncoding.RFB_RAW
|
||||
Case Encoding.EncRRE
|
||||
VNC.Encoding = ViewerX.VNCEncoding.RFB_RRE
|
||||
Case Encoding.EncTight
|
||||
VNC.Encoding = ViewerX.VNCEncoding.RFB_TIGHT
|
||||
Case Encoding.EncZlib
|
||||
VNC.Encoding = ViewerX.VNCEncoding.RFB_ZLIB
|
||||
Case Encoding.EncZLibHex
|
||||
VNC.Encoding = ViewerX.VNCEncoding.RFB_ZLIBHEX
|
||||
Case Encoding.EncZRLE
|
||||
VNC.Encoding = ViewerX.VNCEncoding.RFB_ZRLE
|
||||
End Select
|
||||
'If Info.VNCAuthMode = AuthMode.AuthWin Then
|
||||
' VNC.LoginType = ViewerX.ViewerLoginType.VLT_MSWIN
|
||||
' VNC.MsUser = Me.Info.Username
|
||||
' VNC.MsDomain = Me.Info.Domain
|
||||
' VNC.MsPassword = Me.Info.Password
|
||||
'Else
|
||||
' VNC.LoginType = ViewerX.ViewerLoginType.VLT_VNC
|
||||
' VNC.Password = Me.Info.Password
|
||||
'End If
|
||||
|
||||
If Info.VNCAuthMode = AuthMode.AuthWin Then
|
||||
VNC.LoginType = ViewerX.ViewerLoginType.VLT_MSWIN
|
||||
VNC.MsUser = Me.Info.Username
|
||||
VNC.MsDomain = Me.Info.Domain
|
||||
VNC.MsPassword = Me.Info.Password
|
||||
Else
|
||||
VNC.LoginType = ViewerX.ViewerLoginType.VLT_VNC
|
||||
VNC.Password = Me.Info.Password
|
||||
End If
|
||||
'Select Case Info.VNCProxyType
|
||||
' Case ProxyType.ProxyNone
|
||||
' VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_NONE
|
||||
' Case ProxyType.ProxyHTTP
|
||||
' VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_HTTP
|
||||
' Case ProxyType.ProxySocks5
|
||||
' VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_SOCKS5
|
||||
' Case ProxyType.ProxyUltra
|
||||
' VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_ULTRA_REPEATER
|
||||
'End Select
|
||||
|
||||
Select Case Info.VNCProxyType
|
||||
Case ProxyType.ProxyNone
|
||||
VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_NONE
|
||||
Case ProxyType.ProxyHTTP
|
||||
VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_HTTP
|
||||
Case ProxyType.ProxySocks5
|
||||
VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_SOCKS5
|
||||
Case ProxyType.ProxyUltra
|
||||
VNC.ProxyType = ViewerX.ConnectionProxyType.VPT_ULTRA_REPEATER
|
||||
End Select
|
||||
'If Info.VNCProxyType <> ProxyType.ProxyNone Then
|
||||
' VNC.ProxyIP = Info.VNCProxyIP
|
||||
' VNC.ProxyPort = Info.VNCProxyPort
|
||||
' VNC.ProxyUser = Info.VNCProxyUsername
|
||||
' VNC.ProxyPassword = Info.VNCProxyPassword
|
||||
'End If
|
||||
|
||||
If Info.VNCProxyType <> ProxyType.ProxyNone Then
|
||||
VNC.ProxyIP = Info.VNCProxyIP
|
||||
VNC.ProxyPort = Info.VNCProxyPort
|
||||
VNC.ProxyUser = Info.VNCProxyUsername
|
||||
VNC.ProxyPassword = Info.VNCProxyPassword
|
||||
End If
|
||||
'If Info.VNCColors = Colors.Col8Bit Then
|
||||
' VNC.RestrictPixel = True
|
||||
'Else
|
||||
' VNC.RestrictPixel = False
|
||||
'End If
|
||||
|
||||
If Info.VNCColors = Colors.Col8Bit Then
|
||||
VNC.RestrictPixel = True
|
||||
Else
|
||||
VNC.RestrictPixel = False
|
||||
End If
|
||||
|
||||
Select Case Info.VNCSmartSizeMode
|
||||
Case SmartSizeMode.SmartSNo
|
||||
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_NONE
|
||||
Case SmartSizeMode.SmartSFree
|
||||
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_FREE
|
||||
Case SmartSizeMode.SmartSAspect
|
||||
VNC.StretchMode = ViewerX.ScreenStretchMode.SSM_ASPECT
|
||||
End Select
|
||||
|
||||
VNC.ViewOnly = Info.VNCViewOnly
|
||||
|
||||
VNC.ConnectingText = Language.Base.Connecting & " (SmartCode VNC viewer)"
|
||||
VNC.DisconnectedText = Language.Base.Disconnected
|
||||
VNC.MessageBoxes = False
|
||||
VNC.EndInit()
|
||||
'VNC.ConnectingText = My.Language.strInheritConnecting & " (SmartCode VNC viewer)"
|
||||
'VNC.DisconnectedText = My.Language.strInheritDisconnected
|
||||
'VNC.MessageBoxes = False
|
||||
'VNC.EndInit()
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC SetProps failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncSetPropsFailed & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
@@ -148,9 +121,9 @@ Namespace Connection
|
||||
Me.SetEventHandlers()
|
||||
|
||||
Try
|
||||
VNC.ConnectAsync()
|
||||
VNC.Connect(Me.Info.Hostname, Me.Info.VNCViewOnly, Info.VNCSmartSizeMode <> SmartSizeMode.SmartSNo)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Opening connection failed" & vbNewLine & ex.Message)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncConnectionOpenFailed & vbNewLine & ex.Message)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
@@ -161,7 +134,7 @@ Namespace Connection
|
||||
Try
|
||||
VNC.Disconnect()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC Disconnect failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncConnectionDisconnectFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -169,12 +142,12 @@ Namespace Connection
|
||||
Try
|
||||
Select Case Keys
|
||||
Case SpecialKeys.CtrlAltDel
|
||||
VNC.SendCAD()
|
||||
VNC.SendSpecialKeys(SpecialKeys.CtrlAltDel)
|
||||
Case SpecialKeys.CtrlEsc
|
||||
VNC.SendCtrlEsq()
|
||||
VNC.SendSpecialKeys(SpecialKeys.CtrlEsc)
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC SendSpecialKeys failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncSendSpecialKeysFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -183,7 +156,7 @@ Namespace Connection
|
||||
SmartSize = Not SmartSize
|
||||
RefreshScreen()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC ToggleSmartSize failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncToggleSmartSizeFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -191,30 +164,30 @@ Namespace Connection
|
||||
Try
|
||||
ViewOnly = Not ViewOnly
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC ToggleViewOnly failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncToggleViewOnlyFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
Public Sub StartChat()
|
||||
Try
|
||||
If VNC.Capabilities.Chat = True Then
|
||||
VNC.OpenChat()
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support chat")
|
||||
End If
|
||||
'If VNC.Capabilities.Chat = True Then
|
||||
' VNC.OpenChat()
|
||||
'Else
|
||||
' mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support chat")
|
||||
'End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC StartChat failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncStartChatFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Sub StartFileTransfer()
|
||||
Try
|
||||
If VNC.Capabilities.FileTransfer = True Then
|
||||
VNC.OpenFileTransfer()
|
||||
Else
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support file transfers")
|
||||
End If
|
||||
'If VNC.Capabilities.FileTransfer = True Then
|
||||
' VNC.OpenFileTransfer()
|
||||
'Else
|
||||
' mC.AddMessage(Messages.MessageClass.InformationMsg, "VNC Server doesn't support file transfers")
|
||||
'End If
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
@@ -222,9 +195,9 @@ Namespace Connection
|
||||
|
||||
Public Sub RefreshScreen()
|
||||
Try
|
||||
VNC.RequestRefresh()
|
||||
VNC.FullScreenUpdate()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC RefreshScreen failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncRefreshFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -232,20 +205,14 @@ Namespace Connection
|
||||
#Region "Private Methods"
|
||||
Private Sub SetEventHandlers()
|
||||
Try
|
||||
AddHandler VNC.ConnectedEvent, AddressOf VNCEvent_Connected
|
||||
AddHandler VNC.Disconnected, AddressOf VNCEvent_Disconnected
|
||||
AddHandler VNC.ConnectComplete, AddressOf VNCEvent_Connected
|
||||
AddHandler VNC.ConnectionLost, AddressOf VNCEvent_Disconnected
|
||||
AddHandler mRemoteNG.frmMain.clipboardchange, AddressOf VNCEvent_ClipboardChanged
|
||||
If Not String.IsNullOrEmpty(Info.Password) Then
|
||||
VNC.GetPassword = AddressOf VNCEvent_Authenticate
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC SetEventHandlers failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Shared Sub SetupLicense(ByVal vncCtrl As Control)
|
||||
Try
|
||||
Dim f As System.Reflection.FieldInfo
|
||||
f = GetType(AxHost).GetField("licenseKey", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
|
||||
f.SetValue(vncCtrl, "{072169039103041044176252035252117103057101225235137221179204110241121074}")
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "VNC SetupLicense failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -253,12 +220,21 @@ Namespace Connection
|
||||
#Region "Private Events & Handlers"
|
||||
Private Sub VNCEvent_Connected(ByVal sender As Object, ByVal e As EventArgs)
|
||||
MyBase.Event_Connected(Me)
|
||||
VNC.AutoScroll = Info.VNCSmartSizeMode = SmartSizeMode.SmartSNo
|
||||
End Sub
|
||||
|
||||
Private Sub VNCEvent_Disconnected(ByVal sender As Object, ByVal e As EventArgs)
|
||||
MyBase.Event_Disconnected(sender, e.ToString)
|
||||
MyBase.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub VNCEvent_ClipboardChanged()
|
||||
Me.VNC.FillServerClipboard()
|
||||
End Sub
|
||||
|
||||
Private Function VNCEvent_Authenticate() As String
|
||||
Return Info.Password
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "Enums"
|
||||
@@ -272,7 +248,7 @@ Namespace Connection
|
||||
End Enum
|
||||
|
||||
Public Enum Compression
|
||||
<Description(Language.Base.NoCompression)> _
|
||||
<LocalizedDescription("strNoCompression")> _
|
||||
CompNone = 99
|
||||
<Description("0")> _
|
||||
Comp0 = 0
|
||||
@@ -316,36 +292,36 @@ Namespace Connection
|
||||
End Enum
|
||||
|
||||
Public Enum AuthMode
|
||||
<Description("VNC")> _
|
||||
<LocalizedDescription("VNC")> _
|
||||
AuthVNC
|
||||
<Description("Windows")> _
|
||||
<LocalizedDescription("Windows")> _
|
||||
AuthWin
|
||||
End Enum
|
||||
|
||||
Public Enum ProxyType
|
||||
<Description(Language.Base.None)> _
|
||||
<LocalizedDescription("strNone")> _
|
||||
ProxyNone
|
||||
<Description("HTTP")> _
|
||||
<LocalizedDescription("strHttp")> _
|
||||
ProxyHTTP
|
||||
<Description("Socks 5")> _
|
||||
<LocalizedDescription("strSocks5")> _
|
||||
ProxySocks5
|
||||
<Description("Ultra VNC Repeater")> _
|
||||
<LocalizedDescription("strUltraVncRepeater")> _
|
||||
ProxyUltra
|
||||
End Enum
|
||||
|
||||
Public Enum Colors
|
||||
<Description(Language.Base.Normal)> _
|
||||
<LocalizedDescription("strNormal")> _
|
||||
ColNormal
|
||||
<Description("8-bit")> _
|
||||
Col8Bit
|
||||
End Enum
|
||||
|
||||
Public Enum SmartSizeMode
|
||||
<Description(Language.Base.NoSmartSize)> _
|
||||
<LocalizedDescription("strNoSmartSize")> _
|
||||
SmartSNo
|
||||
<Description(Language.Base.Free)> _
|
||||
<LocalizedDescription("strFree")> _
|
||||
SmartSFree
|
||||
<Description(Language.Base.Aspect)> _
|
||||
<LocalizedDescription("strAspect")> _
|
||||
SmartSAspect
|
||||
End Enum
|
||||
#End Region
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Namespace Connection
|
||||
Public Class QuickConnect
|
||||
@@ -13,7 +13,7 @@ Namespace Connection
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "QuickConnect History Exists failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strQuickConnectHistoryExistsFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
|
||||
Return False
|
||||
@@ -23,7 +23,7 @@ Namespace Connection
|
||||
Try
|
||||
qBox.Items.Insert(0, Text)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "QuickConnect History Add failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strQuickConnectAddFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports System.ComponentModel
|
||||
Imports mRemote.Tools.Misc.PropertyGridCategory
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Container
|
||||
<DefaultProperty("Name")> _
|
||||
Public Class Info
|
||||
#Region "Properties"
|
||||
Private _Name As String = "New Container"
|
||||
<Category(Category1 & "Display"), _
|
||||
Browsable(True), _
|
||||
[ReadOnly](False), _
|
||||
Bindable(False), _
|
||||
DefaultValue(""), _
|
||||
DesignOnly(False), _
|
||||
DisplayName(Language.Base.Props_Name), _
|
||||
Description("Enter a name"), _
|
||||
Attributes.Container()> _
|
||||
<LocalizedCategory("strCategoryDisplay", 1), _
|
||||
Browsable(True), _
|
||||
[ReadOnly](False), _
|
||||
Bindable(False), _
|
||||
DefaultValue(""), _
|
||||
DesignOnly(False), _
|
||||
LocalizedDisplayName("strPropertyNameName"), _
|
||||
LocalizedDescription("strPropertyDescriptionName"), _
|
||||
Attributes.Container()> _
|
||||
Public Property Name() As String
|
||||
Get
|
||||
Return Me._ConnectionInfo.Name
|
||||
@@ -81,7 +81,7 @@ Namespace Container
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _ConnectionInfo As Connection.Info = New Connection.Info
|
||||
Private _ConnectionInfo As New Connection.Info
|
||||
Public Property ConnectionInfo() As Connection.Info
|
||||
Get
|
||||
Return Me._ConnectionInfo
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Namespace Container
|
||||
Public Class List
|
||||
Inherits CollectionBase
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
Imports System.ComponentModel
|
||||
Imports mRemote.Tools.Misc.PropertyGridCategory
|
||||
Imports mRemote.Tools.Misc.PropertyGridValue
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Credential
|
||||
Public Class Info
|
||||
#Region "1 Display"
|
||||
Private _Name As String
|
||||
<Category(Category1 & "Display"), _
|
||||
Browsable(True), _
|
||||
DisplayName(Language.Base.Props_Name), _
|
||||
Description("Enter a name")> _
|
||||
<LocalizedCategory("strCategoryDisplay", 1), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayName("strPropertyNameName"), _
|
||||
LocalizedDescription("strPropertyDescriptionName")> _
|
||||
Public Property Name() As String
|
||||
Get
|
||||
Return _Name
|
||||
@@ -20,10 +19,10 @@ Namespace Credential
|
||||
End Property
|
||||
|
||||
Private _Description As String
|
||||
<Category(Category1 & "Description"), _
|
||||
Browsable(True), _
|
||||
DisplayName(Language.Base.Props_Description), _
|
||||
Description("Enter a description")> _
|
||||
<LocalizedCategory("strCategoryDisplay", 1), _
|
||||
Browsable(True), _
|
||||
LocalizedDisplayName("strPropertyNameDescription"), _
|
||||
LocalizedDescription("strPropertyDescriptionDescription")> _
|
||||
Public Property Description() As String
|
||||
Get
|
||||
Return _Description
|
||||
@@ -35,10 +34,10 @@ Namespace Credential
|
||||
#End Region
|
||||
#Region "2 Credentials"
|
||||
Private _Username As String
|
||||
<Category(Category2 & "Credentials"), _
|
||||
<LocalizedCategory("strCategoryCredentials", 2), _
|
||||
Browsable(True), _
|
||||
DisplayName(Language.Base.Props_Username), _
|
||||
Description("Enter a username")> _
|
||||
LocalizedDisplayName("strPropertyNameUsername"), _
|
||||
LocalizedDescription("strPropertyDescriptionUsername")> _
|
||||
Public Property Username() As String
|
||||
Get
|
||||
Return _Username
|
||||
@@ -49,10 +48,10 @@ Namespace Credential
|
||||
End Property
|
||||
|
||||
Private _Password As String
|
||||
<Category(Category2 & "Credentials"), _
|
||||
<LocalizedCategory("strCategoryCredentials", 2), _
|
||||
Browsable(True), _
|
||||
DisplayName(Language.Base.Props_Password), _
|
||||
Description("Enter a password"), _
|
||||
LocalizedDisplayName("strPropertyNamePassword"), _
|
||||
LocalizedDescription("strPropertyDescriptionPassword"), _
|
||||
PasswordPropertyText(True)> _
|
||||
Public Property Password() As String
|
||||
Get
|
||||
@@ -64,10 +63,10 @@ Namespace Credential
|
||||
End Property
|
||||
|
||||
Private _Domain As String
|
||||
<Category(Category2 & "Credentials"), _
|
||||
<LocalizedCategory("strCategoryCredentials", 2), _
|
||||
Browsable(True), _
|
||||
DisplayName(Language.Base.Props_Domain), _
|
||||
Description("Enter a domain")> _
|
||||
LocalizedDisplayName("strPropertyNameDomain"), _
|
||||
LocalizedDescription("strPropertyDescriptionDomain")> _
|
||||
Public Property Domain() As String
|
||||
Get
|
||||
Return _Domain
|
||||
|
||||
@@ -1,601 +0,0 @@
|
||||
Imports System.Threading.Thread
|
||||
Imports System.IO
|
||||
|
||||
Namespace Easter
|
||||
Public Class Snake
|
||||
Public Class Game
|
||||
Private Shared _Mode As GameMode
|
||||
Public Shared Property Mode() As GameMode
|
||||
Get
|
||||
Return _Mode
|
||||
End Get
|
||||
Set(ByVal value As GameMode)
|
||||
Dim prevMode As GameMode = _Mode
|
||||
_Mode = value
|
||||
GameModeChanged(value, prevMode)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Shared Player As Snake
|
||||
Public Shared Apple As Food
|
||||
Public Shared HighScores() As String
|
||||
Public Shared Difficulty As Integer = 3
|
||||
Public Shared GridLength As Long
|
||||
Public Shared GridHeight As Long
|
||||
Public Shared TileWidth As Long
|
||||
Public Shared TileHeight As Long
|
||||
Public Shared WithEvents imgField As PictureBox
|
||||
|
||||
Public Shared Sub CreatePicBox(ByVal Parent As Control)
|
||||
'setup the picture box
|
||||
Game.imgField = New PictureBox
|
||||
Game.imgField.Parent = Parent
|
||||
Game.imgField.Size = New Size(100, 100)
|
||||
Game.imgField.Location = New Point((Parent.Width / 2) - (imgField.Width / 2), (Parent.Height / 2) - (imgField.Height / 2))
|
||||
Game.imgField.BackColor = Color.Black
|
||||
End Sub
|
||||
|
||||
Public Shared Sub SetupGame()
|
||||
'setup the gamefield
|
||||
GridLength = 20
|
||||
GridHeight = 20
|
||||
|
||||
'setup the tiles
|
||||
TileWidth = 5
|
||||
TileHeight = 5
|
||||
|
||||
'create the player (snake)
|
||||
Player = New Snake
|
||||
Player.CreateSnake(3, 7, 10, Direction.Up)
|
||||
|
||||
'place some food to begin with
|
||||
Apple = Food.PlaceFood()
|
||||
End Sub
|
||||
|
||||
Private Shared Sub GameModeChanged(ByVal NewMode As GameMode, ByVal PreviousMode As GameMode)
|
||||
Select Case NewMode
|
||||
Case GameMode.Welcome
|
||||
SetupGame()
|
||||
RefreshGraphics()
|
||||
Case GameMode.Playing
|
||||
If PreviousMode = GameMode.Pause Or PreviousMode = GameMode.Welcome Then
|
||||
MainLoop()
|
||||
End If
|
||||
Case GameMode.Pause
|
||||
RefreshGraphics()
|
||||
Case GameMode.GameOver
|
||||
RefreshGraphics()
|
||||
Case GameMode.Highscore
|
||||
Highscore.CreateScoreFile()
|
||||
HighScores = Highscore.GetScores()
|
||||
Dim fsc() As String = Highscore.PutPlayerInHighScore(HighScores)
|
||||
HighScores = fsc
|
||||
RefreshGraphics()
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Public Shared Sub MainLoop()
|
||||
Do While Mode = GameMode.Playing
|
||||
CheckEat()
|
||||
RefreshGraphics()
|
||||
CheckLoose()
|
||||
|
||||
Select Case Game.Difficulty
|
||||
Case 1
|
||||
Sleep(200)
|
||||
Case 2
|
||||
Sleep(140)
|
||||
Case 3
|
||||
Sleep(80)
|
||||
Case 4
|
||||
Sleep(70)
|
||||
Case 5
|
||||
Sleep(60)
|
||||
Case 6
|
||||
Sleep(50)
|
||||
End Select
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
If Mode = GameMode.Playing Then
|
||||
Player.ChangeDirection()
|
||||
Player.Move()
|
||||
End If
|
||||
Loop
|
||||
End Sub
|
||||
|
||||
Public Shared Sub CheckEat()
|
||||
If Player.Tiles(0).PosX = Apple.PosX And Player.Tiles(0).PosY = Apple.PosY Then
|
||||
Player.AddTile()
|
||||
Apple = Food.PlaceFood()
|
||||
|
||||
Player.Score += Difficulty + 10
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Shared Sub CheckLoose()
|
||||
'check edges
|
||||
If Player.Tiles(0).PosX > GridLength - 1 _
|
||||
Or Player.Tiles(0).PosX < 0 _
|
||||
Or Player.Tiles(0).PosY > GridHeight - 1 _
|
||||
Or Player.Tiles(0).PosY < 0 Then
|
||||
Mode = GameMode.GameOver
|
||||
End If
|
||||
|
||||
'check eat itself
|
||||
For Each ti As Tile In Player.Tiles
|
||||
If ti.PosX = Player.Tiles(0).PosX And ti.PosY = Player.Tiles(0).PosY And ti IsNot Player.Tiles(0) Then
|
||||
Mode = GameMode.GameOver
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Shared Sub CheckKeyPress(ByVal Key As KeyEventArgs)
|
||||
Select Case Key.KeyCode
|
||||
Case Keys.Enter
|
||||
If Mode = GameMode.Welcome Then
|
||||
Mode = GameMode.Playing
|
||||
ElseIf Mode = GameMode.Playing Then
|
||||
Mode = GameMode.Pause
|
||||
ElseIf Mode = GameMode.Pause Then
|
||||
Mode = GameMode.Playing
|
||||
ElseIf Mode = GameMode.GameOver Then
|
||||
Mode = GameMode.Highscore
|
||||
ElseIf Mode = GameMode.Highscore Then
|
||||
Mode = GameMode.Welcome
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Case Keys.Escape
|
||||
Game.Quit()
|
||||
|
||||
|
||||
|
||||
Case Keys.Up
|
||||
If Mode = GameMode.Welcome Then
|
||||
HigherDifficulty()
|
||||
RefreshGraphics()
|
||||
ElseIf Mode = GameMode.Playing Then
|
||||
Player.ChangeDirectionRequest(Direction.Up)
|
||||
End If
|
||||
Case Keys.Right
|
||||
If Mode = GameMode.Welcome Then
|
||||
HigherDifficulty()
|
||||
RefreshGraphics()
|
||||
ElseIf Mode = GameMode.Playing Then
|
||||
Player.ChangeDirectionRequest(Direction.Right)
|
||||
End If
|
||||
Case Keys.Down
|
||||
If Mode = GameMode.Welcome Then
|
||||
LowerDifficulty()
|
||||
RefreshGraphics()
|
||||
ElseIf Mode = GameMode.Playing Then
|
||||
Player.ChangeDirectionRequest(Direction.Down)
|
||||
End If
|
||||
Case Keys.Left
|
||||
If Mode = GameMode.Welcome Then
|
||||
LowerDifficulty()
|
||||
RefreshGraphics()
|
||||
ElseIf Mode = GameMode.Playing Then
|
||||
Player.ChangeDirectionRequest(Direction.Left)
|
||||
End If
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Public Shared Sub HigherDifficulty()
|
||||
If Difficulty < 6 Then
|
||||
Difficulty += 1
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Shared Sub LowerDifficulty()
|
||||
If Difficulty > 1 Then
|
||||
Difficulty -= 1
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Shared Sub RefreshGraphics()
|
||||
imgField.Refresh()
|
||||
End Sub
|
||||
|
||||
Public Shared Sub SetBackgroundImage(ByVal Image As Image)
|
||||
imgField.Image = Image
|
||||
End Sub
|
||||
|
||||
Public Shared Sub Quit()
|
||||
Mode = GameMode.Pause
|
||||
imgField.FindForm.Close()
|
||||
End Sub
|
||||
|
||||
|
||||
Public Class Highscore
|
||||
Public Shared Function PutPlayerInHighScore(ByVal scores() As String) As Array
|
||||
Dim nSc(10) As String
|
||||
Dim newScore As Boolean = False
|
||||
|
||||
For i As Integer = 0 To scores.Length - 1
|
||||
Dim numSc As Integer = scores(i).Substring(scores(i).IndexOf("=") + 1)
|
||||
If Player.Score > numSc Then
|
||||
newScore = True
|
||||
Player.Name = InputBox("Your name:", , Player.Name)
|
||||
|
||||
For j As Integer = 0 To 4
|
||||
If j < i Then
|
||||
nSc(j) = scores(j)
|
||||
ElseIf j = i Then
|
||||
nSc(j) = Player.Name & "=" & Player.Score
|
||||
nSc(j + 1) = scores(j)
|
||||
ElseIf j > i Then
|
||||
nSc(j + 1) = scores(j)
|
||||
End If
|
||||
Next
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
If newScore Then
|
||||
Array.Resize(nSc, 5)
|
||||
|
||||
SaveScores(nSc)
|
||||
|
||||
Return nSc
|
||||
Else
|
||||
Return scores
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Shared Sub SaveScores(ByVal scores() As String)
|
||||
Dim tW As TextWriter = New StreamWriter(My.Application.Info.DirectoryPath & "\Scores.fx")
|
||||
Dim strSc As String = ""
|
||||
|
||||
For Each sc As String In scores
|
||||
strSc &= sc & ";"
|
||||
Next
|
||||
|
||||
tW.WriteLine(strSc)
|
||||
|
||||
tW.Close()
|
||||
End Sub
|
||||
|
||||
Public Shared Function GetScores() As Array
|
||||
Dim sc() As String
|
||||
|
||||
Dim tR As TextReader = New StreamReader(My.Application.Info.DirectoryPath & "\Scores.fx")
|
||||
Dim strsc As String = tR.ReadLine
|
||||
tR.Close()
|
||||
|
||||
sc = strsc.Split(";")
|
||||
|
||||
Array.Resize(sc, 5)
|
||||
|
||||
Return sc
|
||||
End Function
|
||||
|
||||
Public Shared Sub CreateScoreFile()
|
||||
If File.Exists(My.Application.Info.DirectoryPath & "\Scores.fx") = False Then
|
||||
Dim tW As TextWriter = New StreamWriter(My.Application.Info.DirectoryPath & "\Scores.fx")
|
||||
tW.WriteLine("FX=0;FX=0;FX=0;FX=0;FX=0")
|
||||
tW.Close()
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Public Class Paint
|
||||
Private Shared g As Graphics
|
||||
Private Shared w As Long
|
||||
Private Shared h As Long
|
||||
Public Shared m As Decimal = 1.0
|
||||
|
||||
Private Shared SmallFont As New Font("Verdana", 7 * m)
|
||||
Private Shared BigFont As New Font("Verdana", 8 * m, FontStyle.Bold)
|
||||
Private Shared CenterAlign As New StringFormat()
|
||||
|
||||
Public Shared Sub Draw(ByVal graphics As Graphics, ByVal width As Long, ByVal height As Long)
|
||||
CenterAlign.LineAlignment = StringAlignment.Center
|
||||
CenterAlign.Alignment = StringAlignment.Center
|
||||
|
||||
g = graphics
|
||||
w = width
|
||||
h = height
|
||||
|
||||
Select Case Game.Mode
|
||||
Case GameMode.Welcome
|
||||
DrawWelcome()
|
||||
Case GameMode.Playing
|
||||
DrawPlaying()
|
||||
Case GameMode.Pause
|
||||
DrawPlaying()
|
||||
DrawPause()
|
||||
Case GameMode.GameOver
|
||||
DrawPlaying()
|
||||
DrawGameOver()
|
||||
Case GameMode.Highscore
|
||||
DrawHighscore()
|
||||
End Select
|
||||
|
||||
g.DrawRectangle(Pens.White, New Rectangle(0, 0, w - 1, h - 1))
|
||||
End Sub
|
||||
|
||||
Private Shared Sub DrawWelcome()
|
||||
g.DrawString("SnakeFX Lite", BigFont, Brushes.White, w / 2, (h / 2) - 10, CenterAlign)
|
||||
|
||||
Dim stars As String = ""
|
||||
For i As Integer = 0 To Difficulty - 1
|
||||
stars &= Chr(149)
|
||||
Next
|
||||
|
||||
g.DrawString("Difficulty: " & stars, SmallFont, Brushes.LightGray, w / 2, (h / 2) + 10, CenterAlign)
|
||||
End Sub
|
||||
|
||||
Private Shared Sub DrawPlaying()
|
||||
g.DrawString("Score: " & Game.Player.Score, SmallFont, Brushes.DarkGray, 5 * m, 5 * m)
|
||||
|
||||
g.FillRectangle(Brushes.DarkGoldenrod, New Rectangle(Game.Apple.PosX * TileWidth * m, _
|
||||
Game.Apple.PosY * TileHeight * m, _
|
||||
TileWidth * m, _
|
||||
TileHeight * m))
|
||||
|
||||
For Each ti As Tile In Game.Player.Tiles
|
||||
g.FillRectangle(Brushes.GreenYellow, New Rectangle(ti.PosX * TileWidth * m, _
|
||||
ti.PosY * TileHeight * m, _
|
||||
TileWidth * m, _
|
||||
TileHeight * m))
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Shared Sub DrawPause()
|
||||
g.DrawString("Pause", BigFont, Brushes.White, w / 2, h / 2, CenterAlign)
|
||||
End Sub
|
||||
|
||||
Private Shared Sub DrawGameOver()
|
||||
g.DrawString("Game Over", BigFont, Brushes.White, w / 2, h / 2, CenterAlign)
|
||||
|
||||
g.DrawString("Score: " & Game.Player.Score, SmallFont, Brushes.DarkGray, 5 * m, 5 * m)
|
||||
End Sub
|
||||
|
||||
Private Shared Sub DrawHighscore()
|
||||
g.DrawString("High Score", BigFont, Brushes.White, w / 2, 25, CenterAlign)
|
||||
|
||||
For i As Integer = 0 To Game.HighScores.Length - 1
|
||||
g.DrawString(Game.HighScores(i).Replace("=", ": "), SmallFont, Brushes.LightGray, w / 2, (10 * i + 40) * m, CenterAlign)
|
||||
Next
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
Public Enum GameMode
|
||||
Welcome = 1
|
||||
Playing = 2
|
||||
Pause = 3
|
||||
GameOver = 4
|
||||
Highscore = 5
|
||||
End Enum
|
||||
|
||||
Private Shared Sub imgField_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles imgField.Paint
|
||||
Game.Paint.Draw(e.Graphics, imgField.Width, imgField.Height)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Public Class Snake
|
||||
Public Tiles(-1) As Tile
|
||||
Public Score As Long = 0
|
||||
Public Name As String = ""
|
||||
|
||||
Public Sub CreateSnake(ByVal Length As Long, ByVal PosX As Integer, ByVal PosY As Integer, ByVal Direction As Direction)
|
||||
Dim headTile As New Tile(PosX, PosY, Direction)
|
||||
|
||||
Array.Resize(Tiles, Tiles.Length + 1)
|
||||
Tiles(Tiles.Length - 1) = headTile
|
||||
|
||||
For i As Integer = 0 To Length - 2
|
||||
AddTile()
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Sub DestroySnake()
|
||||
Tiles = Nothing
|
||||
End Sub
|
||||
|
||||
Public Sub AddTile()
|
||||
Dim nTi As New Tile
|
||||
|
||||
nTi.Direction = Tiles(Tiles.Length - 1).Direction
|
||||
|
||||
Select Case Tiles(Tiles.Length - 1).Direction
|
||||
Case Direction.Up
|
||||
nTi.PosX = Tiles(Tiles.Length - 1).PosX
|
||||
nTi.PosY = Tiles(Tiles.Length - 1).PosY + 1
|
||||
Case Direction.Right
|
||||
nTi.PosX = Tiles(Tiles.Length - 1).PosX - 1
|
||||
nTi.PosY = Tiles(Tiles.Length - 1).PosY
|
||||
Case Direction.Down
|
||||
nTi.PosX = Tiles(Tiles.Length - 1).PosX
|
||||
nTi.PosY = Tiles(Tiles.Length - 1).PosY - 1
|
||||
Case Direction.Left
|
||||
nTi.PosX = Tiles(Tiles.Length - 1).PosX + 1
|
||||
nTi.PosY = Tiles(Tiles.Length - 1).PosY
|
||||
End Select
|
||||
|
||||
Array.Resize(Tiles, Tiles.Length + 1)
|
||||
|
||||
Tiles(Tiles.Length - 1) = nTi
|
||||
End Sub
|
||||
|
||||
Private DirectionRequest As Direction
|
||||
Public Sub ChangeDirectionRequest(ByVal Direction As Direction)
|
||||
DirectionRequest = Direction
|
||||
End Sub
|
||||
|
||||
Public Sub ChangeDirection()
|
||||
Dim direction As Direction = DirectionRequest
|
||||
|
||||
Dim ok As Boolean = True
|
||||
|
||||
Select Case Tiles(0).Direction
|
||||
Case Easter.Snake.Direction.Up
|
||||
If direction = Easter.Snake.Direction.Down Then
|
||||
ok = False
|
||||
End If
|
||||
Case Easter.Snake.Direction.Right
|
||||
If direction = Easter.Snake.Direction.Left Then
|
||||
ok = False
|
||||
End If
|
||||
Case Easter.Snake.Direction.Down
|
||||
If direction = Easter.Snake.Direction.Up Then
|
||||
ok = False
|
||||
End If
|
||||
Case Easter.Snake.Direction.Left
|
||||
If direction = Easter.Snake.Direction.Right Then
|
||||
ok = False
|
||||
End If
|
||||
End Select
|
||||
|
||||
If ok Then
|
||||
If direction <> 0 Then
|
||||
Me.Tiles(0).Direction = direction
|
||||
End If
|
||||
End If
|
||||
|
||||
DirectionRequest = 0
|
||||
End Sub
|
||||
|
||||
Public Sub Move()
|
||||
For i As Integer = Tiles.Length - 1 To 1 Step -1
|
||||
Tiles(i).PosX = Tiles(i - 1).PosX
|
||||
Tiles(i).PosY = Tiles(i - 1).PosY
|
||||
Tiles(i).Direction = Tiles(i - 1).Direction
|
||||
Next
|
||||
|
||||
Select Case Tiles(0).Direction
|
||||
Case Direction.Up
|
||||
Tiles(0).PosY -= 1
|
||||
Case Direction.Right
|
||||
Tiles(0).PosX += 1
|
||||
Case Direction.Down
|
||||
Tiles(0).PosY += 1
|
||||
Case Direction.Left
|
||||
Tiles(0).PosX -= 1
|
||||
End Select
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Public Enum Direction
|
||||
Up = 1
|
||||
Right = 2
|
||||
Down = 3
|
||||
Left = 4
|
||||
End Enum
|
||||
|
||||
Public Class Tile
|
||||
Public Sub New(Optional ByVal posx As Integer = 0, Optional ByVal posy As Integer = 0, Optional ByVal direction As Direction = Easter.Snake.Direction.Up)
|
||||
_PosX = posx
|
||||
_PosY = posy
|
||||
_Direction = direction
|
||||
End Sub
|
||||
|
||||
Private _PosX As Integer
|
||||
Public Property PosX() As Integer
|
||||
Get
|
||||
Return _PosX
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
_PosX = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _PosY As Integer
|
||||
Public Property PosY() As Integer
|
||||
Get
|
||||
Return _PosY
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
_PosY = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _Direction As Direction
|
||||
Public Property Direction() As Direction
|
||||
Get
|
||||
Return _Direction
|
||||
End Get
|
||||
Set(ByVal value As Direction)
|
||||
_Direction = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
|
||||
Public Class Food
|
||||
Public Sub New(ByVal posx As Integer, ByVal posy As Integer)
|
||||
_PosX = posx
|
||||
_PosY = posy
|
||||
End Sub
|
||||
|
||||
Private _PosX As Integer
|
||||
Public Property PosX() As Integer
|
||||
Get
|
||||
Return _PosX
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
_PosX = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _PosY As Integer
|
||||
Public Property PosY() As Integer
|
||||
Get
|
||||
Return _PosY
|
||||
End Get
|
||||
Set(ByVal value As Integer)
|
||||
_PosY = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Public Shared Function PlaceFood() As Food
|
||||
Dim ok As Boolean = False
|
||||
|
||||
Dim PosX As Integer
|
||||
Dim PosY As Integer
|
||||
|
||||
Do Until ok
|
||||
PosX = Tools.RandomNumber(Game.GridLength, 0)
|
||||
PosY = Tools.RandomNumber(Game.GridHeight, 0, Now.Millisecond + Now.Second)
|
||||
|
||||
Dim problem As Boolean = False
|
||||
|
||||
For Each ti As Tile In Game.Player.Tiles
|
||||
If ti.PosX = PosX And ti.PosY = PosY Then
|
||||
problem = True
|
||||
End If
|
||||
Next
|
||||
|
||||
If problem = False Then
|
||||
ok = True
|
||||
End If
|
||||
Loop
|
||||
|
||||
Return New Food(PosX, PosY)
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Public Class Tools
|
||||
Public Shared Function RandomNumber(ByVal MaxNumber As Integer, Optional ByVal MinNumber As Integer = 0, Optional ByVal Seed As Long = 0) As Integer
|
||||
Dim r As New Random
|
||||
|
||||
If Seed <> 0 Then
|
||||
r = New Random(Seed)
|
||||
End If
|
||||
|
||||
If MinNumber > MaxNumber Then
|
||||
Dim t As Integer = MinNumber
|
||||
MinNumber = MaxNumber
|
||||
MaxNumber = t
|
||||
End If
|
||||
|
||||
Return r.Next(MinNumber, MaxNumber)
|
||||
End Function
|
||||
End Class
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
112
mRemoteV1/Forms/Backup/frmChoosePanel.Designer.vb
generated
@@ -1,112 +0,0 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmChoosePanel
|
||||
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.cbPanels = New System.Windows.Forms.ComboBox
|
||||
Me.btnOK = New System.Windows.Forms.Button
|
||||
Me.lblDescription = New System.Windows.Forms.Label
|
||||
Me.btnNew = New System.Windows.Forms.Button
|
||||
Me.btnCancel = New System.Windows.Forms.Button
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'cbPanels
|
||||
'
|
||||
Me.cbPanels.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
|
||||
Me.cbPanels.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.cbPanels.FormattingEnabled = True
|
||||
Me.cbPanels.Location = New System.Drawing.Point(79, 45)
|
||||
Me.cbPanels.Name = "cbPanels"
|
||||
Me.cbPanels.Size = New System.Drawing.Size(157, 21)
|
||||
Me.cbPanels.TabIndex = 10
|
||||
'
|
||||
'btnOK
|
||||
'
|
||||
Me.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnOK.Location = New System.Drawing.Point(167, 74)
|
||||
Me.btnOK.Name = "btnOK"
|
||||
Me.btnOK.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnOK.TabIndex = 20
|
||||
Me.btnOK.Text = Language.Base.Button_OK
|
||||
Me.btnOK.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lblDescription
|
||||
'
|
||||
Me.lblDescription.Location = New System.Drawing.Point(7, 8)
|
||||
Me.lblDescription.Name = "lblDescription"
|
||||
Me.lblDescription.Size = New System.Drawing.Size(229, 29)
|
||||
Me.lblDescription.TabIndex = 0
|
||||
Me.lblDescription.Text = Language.Base.SelectAPanel
|
||||
'
|
||||
'btnNew
|
||||
'
|
||||
Me.btnNew.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnNew.Image = Global.mRemote.My.Resources.Resources.Panel_Add
|
||||
Me.btnNew.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
Me.btnNew.Location = New System.Drawing.Point(10, 44)
|
||||
Me.btnNew.Name = "btnNew"
|
||||
Me.btnNew.Size = New System.Drawing.Size(57, 23)
|
||||
Me.btnNew.TabIndex = 40
|
||||
Me.btnNew.Text = Language.Base.Button_New
|
||||
Me.btnNew.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
Me.btnNew.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnCancel
|
||||
'
|
||||
Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnCancel.Location = New System.Drawing.Point(92, 74)
|
||||
Me.btnCancel.Name = "btnCancel"
|
||||
Me.btnCancel.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnCancel.TabIndex = 30
|
||||
Me.btnCancel.Text = Language.Base.Button_Cancel
|
||||
Me.btnCancel.UseVisualStyleBackColor = True
|
||||
'
|
||||
'frmChoosePanel
|
||||
'
|
||||
Me.AcceptButton = Me.btnOK
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.CancelButton = Me.btnCancel
|
||||
Me.ClientSize = New System.Drawing.Size(245, 107)
|
||||
Me.Controls.Add(Me.lblDescription)
|
||||
Me.Controls.Add(Me.btnNew)
|
||||
Me.Controls.Add(Me.btnCancel)
|
||||
Me.Controls.Add(Me.btnOK)
|
||||
Me.Controls.Add(Me.cbPanels)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "frmChoosePanel"
|
||||
Me.ShowInTaskbar = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = Language.Base.SelectPanel
|
||||
Me.Icon = Global.mRemote.My.Resources.Panels_Icon
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents cbPanels As System.Windows.Forms.ComboBox
|
||||
Friend WithEvents btnOK As System.Windows.Forms.Button
|
||||
Friend WithEvents lblDescription As System.Windows.Forms.Label
|
||||
Friend WithEvents btnNew As System.Windows.Forms.Button
|
||||
Friend WithEvents btnCancel As System.Windows.Forms.Button
|
||||
End Class
|
||||
@@ -1,52 +0,0 @@
|
||||
Imports mRemote.App.Runtime
|
||||
|
||||
Public Class frmChoosePanel
|
||||
Public Property Panel() As String
|
||||
Get
|
||||
Return cbPanels.SelectedItem.ToString
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
cbPanels.SelectedItem = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub frmChoosePanel_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
||||
AddAvailablePanels()
|
||||
End Sub
|
||||
|
||||
Private Sub AddAvailablePanels()
|
||||
cbPanels.Items.Clear()
|
||||
|
||||
For i As Integer = 0 To wL.Count - 1
|
||||
cbPanels.Items.Add(wL(i).Text.Replace("&&", "&"))
|
||||
Next
|
||||
|
||||
If cbPanels.Items.Count > 0 Then
|
||||
cbPanels.SelectedItem = cbPanels.Items(0)
|
||||
cbPanels.Enabled = True
|
||||
btnOK.Enabled = True
|
||||
Else
|
||||
cbPanels.Enabled = False
|
||||
btnOK.Enabled = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
|
||||
Dim pnlName As String = InputBox("Panel name:", "New Panel", "New Panel")
|
||||
|
||||
If pnlName <> "" Then
|
||||
AddPanel(pnlName)
|
||||
AddAvailablePanels()
|
||||
cbPanels.SelectedItem = pnlName
|
||||
cbPanels.Focus()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
End Sub
|
||||
|
||||
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
End Sub
|
||||
End Class
|
||||
611
mRemoteV1/Forms/Backup/frmMain.Designer.vb
generated
@@ -1,611 +0,0 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmMain
|
||||
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(frmMain))
|
||||
Me.pnlDock = New WeifenLuo.WinFormsUI.Docking.DockPanel
|
||||
Me.msMain = New System.Windows.Forms.MenuStrip
|
||||
Me.mMenFile = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileNew = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileLoad = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileSave = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSaveAs = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileExit = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenView = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewAddConnectionPanel = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewConnectionPanels = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewConnections = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewConfig = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSessions = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewErrorsAndInfos = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewScreenshotManager = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewJumpTo = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewJumpToConnectionsConfig = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewJumpToSessionsScreenshots = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewJumpToErrorsInfos = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewQuickConnectToolbar = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewExtAppsToolbar = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSep3 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewFullscreen = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenTools = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsSSHTransfer = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsExternalApps = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsPortScan = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsUltraVNCSC = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenToolsUpdate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsOptions = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfo = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoHelp = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoBugReport = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenInfoDonate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoWebsite = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoAbout = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenSep3 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.lblQuickConnect = New System.Windows.Forms.ToolStripLabel
|
||||
Me.cmbQuickConnect = New System.Windows.Forms.ToolStripComboBox
|
||||
Me.tsContainer = New System.Windows.Forms.ToolStripContainer
|
||||
Me.tsQuickConnect = New System.Windows.Forms.ToolStrip
|
||||
Me.btnQuickyPlay = New System.Windows.Forms.ToolStripSplitButton
|
||||
Me.mMenQuickyCon = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.tsExtAppsToolbar = New System.Windows.Forms.ToolStrip
|
||||
Me.cMenExtAppsToolbar = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.cMenToolbarShowText = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.tmrShowUpdate = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.tmrAutoSave = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.msMain.SuspendLayout()
|
||||
Me.tsContainer.ContentPanel.SuspendLayout()
|
||||
Me.tsContainer.TopToolStripPanel.SuspendLayout()
|
||||
Me.tsContainer.SuspendLayout()
|
||||
Me.tsQuickConnect.SuspendLayout()
|
||||
Me.cMenExtAppsToolbar.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'pnlDock
|
||||
'
|
||||
Me.pnlDock.ActiveAutoHideContent = Nothing
|
||||
Me.pnlDock.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.pnlDock.DockLeftPortion = 230
|
||||
Me.pnlDock.DockRightPortion = 230
|
||||
Me.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow
|
||||
Me.pnlDock.Location = New System.Drawing.Point(0, 0)
|
||||
Me.pnlDock.Name = "pnlDock"
|
||||
Me.pnlDock.Size = New System.Drawing.Size(842, 499)
|
||||
Me.pnlDock.TabIndex = 13
|
||||
'
|
||||
'msMain
|
||||
'
|
||||
Me.msMain.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.msMain.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.msMain.GripMargin = New System.Windows.Forms.Padding(2, 0, 0, 0)
|
||||
Me.msMain.Location = New System.Drawing.Point(3, 0)
|
||||
Me.msMain.Name = "msMain"
|
||||
Me.msMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.msMain.Size = New System.Drawing.Size(231, 24)
|
||||
Me.msMain.Stretch = False
|
||||
Me.msMain.TabIndex = 16
|
||||
Me.msMain.Text = "Main Toolbar"
|
||||
'
|
||||
'mMenFile
|
||||
'
|
||||
Me.mMenFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFileNew, Me.mMenFileLoad, Me.mMenFileSep1, Me.mMenFileSave, Me.mMenFileSaveAs, Me.mMenFileSep2, Me.mMenFileExit})
|
||||
Me.mMenFile.Image = CType(resources.GetObject("mMenFile.Image"), System.Drawing.Image)
|
||||
Me.mMenFile.Name = "mMenFile"
|
||||
Me.mMenFile.Size = New System.Drawing.Size(51, 20)
|
||||
Me.mMenFile.Text = "&File"
|
||||
'
|
||||
'mMenFileNew
|
||||
'
|
||||
Me.mMenFileNew.Image = Global.mRemote.My.Resources.Resources.Connections_New
|
||||
Me.mMenFileNew.Name = "mMenFileNew"
|
||||
Me.mMenFileNew.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.N), System.Windows.Forms.Keys)
|
||||
Me.mMenFileNew.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileNew.Text = "New Connections"
|
||||
'
|
||||
'mMenFileLoad
|
||||
'
|
||||
Me.mMenFileLoad.Image = Global.mRemote.My.Resources.Resources.Connections_Load
|
||||
Me.mMenFileLoad.Name = "mMenFileLoad"
|
||||
Me.mMenFileLoad.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.O), System.Windows.Forms.Keys)
|
||||
Me.mMenFileLoad.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileLoad.Text = "Open Connections"
|
||||
'
|
||||
'mMenFileSep1
|
||||
'
|
||||
Me.mMenFileSep1.Name = "mMenFileSep1"
|
||||
Me.mMenFileSep1.Size = New System.Drawing.Size(238, 6)
|
||||
'
|
||||
'mMenFileSave
|
||||
'
|
||||
Me.mMenFileSave.Image = Global.mRemote.My.Resources.Resources.Connections_Save
|
||||
Me.mMenFileSave.Name = "mMenFileSave"
|
||||
Me.mMenFileSave.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenFileSave.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileSave.Text = "Save Connections"
|
||||
'
|
||||
'mMenFileSaveAs
|
||||
'
|
||||
Me.mMenFileSaveAs.Image = Global.mRemote.My.Resources.Resources.Connections_SaveAs
|
||||
Me.mMenFileSaveAs.Name = "mMenFileSaveAs"
|
||||
Me.mMenFileSaveAs.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Shift) _
|
||||
Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenFileSaveAs.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileSaveAs.Text = "Save Connections As"
|
||||
'
|
||||
'mMenFileSep2
|
||||
'
|
||||
Me.mMenFileSep2.Name = "mMenFileSep2"
|
||||
Me.mMenFileSep2.Size = New System.Drawing.Size(238, 6)
|
||||
'
|
||||
'mMenFileExit
|
||||
'
|
||||
Me.mMenFileExit.Image = Global.mRemote.My.Resources.Resources.Quit
|
||||
Me.mMenFileExit.Name = "mMenFileExit"
|
||||
Me.mMenFileExit.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.F4), System.Windows.Forms.Keys)
|
||||
Me.mMenFileExit.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileExit.Text = "Exit"
|
||||
'
|
||||
'mMenView
|
||||
'
|
||||
Me.mMenView.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewAddConnectionPanel, Me.mMenViewConnectionPanels, Me.mMenViewSep1, Me.mMenViewConnections, Me.mMenViewConfig, Me.mMenViewSessions, Me.mMenViewErrorsAndInfos, Me.mMenViewScreenshotManager, Me.ToolStripSeparator1, Me.mMenViewJumpTo, Me.mMenViewSep2, Me.mMenViewQuickConnectToolbar, Me.mMenViewExtAppsToolbar, Me.mMenViewSep3, Me.mMenViewFullscreen})
|
||||
Me.mMenView.Image = CType(resources.GetObject("mMenView.Image"), System.Drawing.Image)
|
||||
Me.mMenView.Name = "mMenView"
|
||||
Me.mMenView.Size = New System.Drawing.Size(58, 20)
|
||||
Me.mMenView.Text = "&View"
|
||||
'
|
||||
'mMenViewAddConnectionPanel
|
||||
'
|
||||
Me.mMenViewAddConnectionPanel.Image = Global.mRemote.My.Resources.Resources.Panel_Add
|
||||
Me.mMenViewAddConnectionPanel.Name = "mMenViewAddConnectionPanel"
|
||||
Me.mMenViewAddConnectionPanel.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewAddConnectionPanel.Text = "Add Connection Panel"
|
||||
'
|
||||
'mMenViewConnectionPanels
|
||||
'
|
||||
Me.mMenViewConnectionPanels.Image = Global.mRemote.My.Resources.Resources.Panels
|
||||
Me.mMenViewConnectionPanels.Name = "mMenViewConnectionPanels"
|
||||
Me.mMenViewConnectionPanels.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewConnectionPanels.Text = "Connection Panels"
|
||||
'
|
||||
'mMenViewSep1
|
||||
'
|
||||
Me.mMenViewSep1.Name = "mMenViewSep1"
|
||||
Me.mMenViewSep1.Size = New System.Drawing.Size(211, 6)
|
||||
'
|
||||
'mMenViewConnections
|
||||
'
|
||||
Me.mMenViewConnections.Checked = True
|
||||
Me.mMenViewConnections.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewConnections.Image = Global.mRemote.My.Resources.Resources.Root
|
||||
Me.mMenViewConnections.Name = "mMenViewConnections"
|
||||
Me.mMenViewConnections.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewConnections.Text = "Connections"
|
||||
'
|
||||
'mMenViewConfig
|
||||
'
|
||||
Me.mMenViewConfig.Checked = True
|
||||
Me.mMenViewConfig.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewConfig.Image = CType(resources.GetObject("mMenViewConfig.Image"), System.Drawing.Image)
|
||||
Me.mMenViewConfig.Name = "mMenViewConfig"
|
||||
Me.mMenViewConfig.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewConfig.Text = "Config"
|
||||
'
|
||||
'mMenViewSessions
|
||||
'
|
||||
Me.mMenViewSessions.Checked = True
|
||||
Me.mMenViewSessions.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewSessions.Image = CType(resources.GetObject("mMenViewSessions.Image"), System.Drawing.Image)
|
||||
Me.mMenViewSessions.Name = "mMenViewSessions"
|
||||
Me.mMenViewSessions.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewSessions.Text = "Sessions"
|
||||
'
|
||||
'mMenViewErrorsAndInfos
|
||||
'
|
||||
Me.mMenViewErrorsAndInfos.Checked = True
|
||||
Me.mMenViewErrorsAndInfos.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewErrorsAndInfos.Image = Global.mRemote.My.Resources.Resources.ErrorsAndInfos
|
||||
Me.mMenViewErrorsAndInfos.Name = "mMenViewErrorsAndInfos"
|
||||
Me.mMenViewErrorsAndInfos.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewErrorsAndInfos.Text = "Errors and Infos"
|
||||
'
|
||||
'mMenViewScreenshotManager
|
||||
'
|
||||
Me.mMenViewScreenshotManager.Image = CType(resources.GetObject("mMenViewScreenshotManager.Image"), System.Drawing.Image)
|
||||
Me.mMenViewScreenshotManager.Name = "mMenViewScreenshotManager"
|
||||
Me.mMenViewScreenshotManager.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewScreenshotManager.Text = "Screenshot Manager"
|
||||
'
|
||||
'ToolStripSeparator1
|
||||
'
|
||||
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
|
||||
Me.ToolStripSeparator1.Size = New System.Drawing.Size(211, 6)
|
||||
'
|
||||
'mMenViewJumpTo
|
||||
'
|
||||
Me.mMenViewJumpTo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewJumpToConnectionsConfig, Me.mMenViewJumpToSessionsScreenshots, Me.mMenViewJumpToErrorsInfos})
|
||||
Me.mMenViewJumpTo.Image = Global.mRemote.My.Resources.Resources.JumpTo
|
||||
Me.mMenViewJumpTo.Name = "mMenViewJumpTo"
|
||||
Me.mMenViewJumpTo.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewJumpTo.Text = "Jump To"
|
||||
'
|
||||
'mMenViewJumpToConnectionsConfig
|
||||
'
|
||||
Me.mMenViewJumpToConnectionsConfig.Name = "mMenViewJumpToConnectionsConfig"
|
||||
Me.mMenViewJumpToConnectionsConfig.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
|
||||
Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys)
|
||||
Me.mMenViewJumpToConnectionsConfig.Size = New System.Drawing.Size(243, 22)
|
||||
Me.mMenViewJumpToConnectionsConfig.Text = "Connections && Config"
|
||||
'
|
||||
'mMenViewJumpToSessionsScreenshots
|
||||
'
|
||||
Me.mMenViewJumpToSessionsScreenshots.Name = "mMenViewJumpToSessionsScreenshots"
|
||||
Me.mMenViewJumpToSessionsScreenshots.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
|
||||
Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenViewJumpToSessionsScreenshots.Size = New System.Drawing.Size(243, 22)
|
||||
Me.mMenViewJumpToSessionsScreenshots.Text = "Sessions && Screenshots"
|
||||
'
|
||||
'mMenViewJumpToErrorsInfos
|
||||
'
|
||||
Me.mMenViewJumpToErrorsInfos.Name = "mMenViewJumpToErrorsInfos"
|
||||
Me.mMenViewJumpToErrorsInfos.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
|
||||
Or System.Windows.Forms.Keys.E), System.Windows.Forms.Keys)
|
||||
Me.mMenViewJumpToErrorsInfos.Size = New System.Drawing.Size(243, 22)
|
||||
Me.mMenViewJumpToErrorsInfos.Text = "Errors && Infos"
|
||||
'
|
||||
'mMenViewSep2
|
||||
'
|
||||
Me.mMenViewSep2.Name = "mMenViewSep2"
|
||||
Me.mMenViewSep2.Size = New System.Drawing.Size(211, 6)
|
||||
'
|
||||
'mMenViewQuickConnectToolbar
|
||||
'
|
||||
Me.mMenViewQuickConnectToolbar.Image = Global.mRemote.My.Resources.Resources.Play_Quick
|
||||
Me.mMenViewQuickConnectToolbar.Name = "mMenViewQuickConnectToolbar"
|
||||
Me.mMenViewQuickConnectToolbar.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewQuickConnectToolbar.Text = "Quicky Toolbar"
|
||||
'
|
||||
'mMenViewExtAppsToolbar
|
||||
'
|
||||
Me.mMenViewExtAppsToolbar.Image = CType(resources.GetObject("mMenViewExtAppsToolbar.Image"), System.Drawing.Image)
|
||||
Me.mMenViewExtAppsToolbar.Name = "mMenViewExtAppsToolbar"
|
||||
Me.mMenViewExtAppsToolbar.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewExtAppsToolbar.Text = "External Applications Toolbar"
|
||||
'
|
||||
'mMenViewSep3
|
||||
'
|
||||
Me.mMenViewSep3.Name = "mMenViewSep3"
|
||||
Me.mMenViewSep3.Size = New System.Drawing.Size(211, 6)
|
||||
'
|
||||
'mMenViewFullscreen
|
||||
'
|
||||
Me.mMenViewFullscreen.Image = Global.mRemote.My.Resources.Resources.Fullscreen
|
||||
Me.mMenViewFullscreen.Name = "mMenViewFullscreen"
|
||||
Me.mMenViewFullscreen.Size = New System.Drawing.Size(214, 22)
|
||||
Me.mMenViewFullscreen.Text = "Fullscreen (Kiosk Mode)"
|
||||
'
|
||||
'mMenTools
|
||||
'
|
||||
Me.mMenTools.Image = CType(resources.GetObject("mMenTools.Image"), System.Drawing.Image)
|
||||
Me.mMenTools.Name = "mMenTools"
|
||||
Me.mMenTools.Size = New System.Drawing.Size(61, 20)
|
||||
Me.mMenTools.Text = "&Tools"
|
||||
'
|
||||
'mMenToolsSSHTransfer
|
||||
'
|
||||
Me.mMenToolsSSHTransfer.Image = Global.mRemote.My.Resources.Resources.SSHTransfer
|
||||
Me.mMenToolsSSHTransfer.Name = "mMenToolsSSHTransfer"
|
||||
Me.mMenToolsSSHTransfer.Size = New System.Drawing.Size(179, 22)
|
||||
Me.mMenToolsSSHTransfer.Text = "SSH File Transfer"
|
||||
'
|
||||
'mMenToolsExternalApps
|
||||
'
|
||||
Me.mMenToolsExternalApps.Image = CType(resources.GetObject("mMenToolsExternalApps.Image"), System.Drawing.Image)
|
||||
Me.mMenToolsExternalApps.Name = "mMenToolsExternalApps"
|
||||
Me.mMenToolsExternalApps.Size = New System.Drawing.Size(179, 22)
|
||||
Me.mMenToolsExternalApps.Text = "External Applications"
|
||||
'
|
||||
'mMenToolsPortScan
|
||||
'
|
||||
Me.mMenToolsPortScan.Image = Global.mRemote.My.Resources.Resources.PortScan
|
||||
Me.mMenToolsPortScan.Name = "mMenToolsPortScan"
|
||||
Me.mMenToolsPortScan.Size = New System.Drawing.Size(179, 22)
|
||||
Me.mMenToolsPortScan.Text = "Port Scan"
|
||||
'
|
||||
'mMenToolsUltraVNCSC
|
||||
'
|
||||
Me.mMenToolsUltraVNCSC.Image = Global.mRemote.My.Resources.Resources.UVNC_SC
|
||||
Me.mMenToolsUltraVNCSC.Name = "mMenToolsUltraVNCSC"
|
||||
Me.mMenToolsUltraVNCSC.Size = New System.Drawing.Size(179, 22)
|
||||
Me.mMenToolsUltraVNCSC.Text = "Ultra VNC SingleClick"
|
||||
'
|
||||
'mMenToolsSep1
|
||||
'
|
||||
Me.mMenToolsSep1.Name = "mMenToolsSep1"
|
||||
Me.mMenToolsSep1.Size = New System.Drawing.Size(176, 6)
|
||||
'
|
||||
'mMenToolsUpdate
|
||||
'
|
||||
Me.mMenToolsUpdate.Image = Global.mRemote.My.Resources.Resources.Update
|
||||
Me.mMenToolsUpdate.Name = "mMenToolsUpdate"
|
||||
Me.mMenToolsUpdate.Size = New System.Drawing.Size(179, 22)
|
||||
Me.mMenToolsUpdate.Text = "Update"
|
||||
'
|
||||
'mMenToolsOptions
|
||||
'
|
||||
Me.mMenToolsOptions.Image = CType(resources.GetObject("mMenToolsOptions.Image"), System.Drawing.Image)
|
||||
Me.mMenToolsOptions.Name = "mMenToolsOptions"
|
||||
Me.mMenToolsOptions.Size = New System.Drawing.Size(179, 22)
|
||||
Me.mMenToolsOptions.Text = "Options"
|
||||
'
|
||||
'mMenInfo
|
||||
'
|
||||
Me.mMenInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenInfoHelp, Me.mMenInfoBugReport, Me.mMenInfoSep1, Me.mMenInfoDonate, Me.mMenInfoWebsite, Me.mMenInfoAbout})
|
||||
Me.mMenInfo.Image = CType(resources.GetObject("mMenInfo.Image"), System.Drawing.Image)
|
||||
Me.mMenInfo.Name = "mMenInfo"
|
||||
Me.mMenInfo.Size = New System.Drawing.Size(53, 20)
|
||||
Me.mMenInfo.Text = "&Info"
|
||||
Me.mMenInfo.TextDirection = System.Windows.Forms.ToolStripTextDirection.Horizontal
|
||||
'
|
||||
'mMenInfoHelp
|
||||
'
|
||||
Me.mMenInfoHelp.Image = CType(resources.GetObject("mMenInfoHelp.Image"), System.Drawing.Image)
|
||||
Me.mMenInfoHelp.Name = "mMenInfoHelp"
|
||||
Me.mMenInfoHelp.ShortcutKeys = System.Windows.Forms.Keys.F1
|
||||
Me.mMenInfoHelp.Size = New System.Drawing.Size(131, 22)
|
||||
Me.mMenInfoHelp.Text = "Help"
|
||||
'
|
||||
'mMenInfoBugReport
|
||||
'
|
||||
Me.mMenInfoBugReport.Image = Global.mRemote.My.Resources.Resources.Bug
|
||||
Me.mMenInfoBugReport.Name = "mMenInfoBugReport"
|
||||
Me.mMenInfoBugReport.Size = New System.Drawing.Size(131, 22)
|
||||
Me.mMenInfoBugReport.Text = "Bug Report"
|
||||
'
|
||||
'mMenInfoSep1
|
||||
'
|
||||
Me.mMenInfoSep1.Name = "mMenInfoSep1"
|
||||
Me.mMenInfoSep1.Size = New System.Drawing.Size(128, 6)
|
||||
'
|
||||
'mMenInfoDonate
|
||||
'
|
||||
Me.mMenInfoDonate.Image = Global.mRemote.My.Resources.Resources.Donate
|
||||
Me.mMenInfoDonate.Name = "mMenInfoDonate"
|
||||
Me.mMenInfoDonate.Size = New System.Drawing.Size(131, 22)
|
||||
Me.mMenInfoDonate.Text = "Donate"
|
||||
'
|
||||
'mMenInfoWebsite
|
||||
'
|
||||
Me.mMenInfoWebsite.Image = CType(resources.GetObject("mMenInfoWebsite.Image"), System.Drawing.Image)
|
||||
Me.mMenInfoWebsite.Name = "mMenInfoWebsite"
|
||||
Me.mMenInfoWebsite.Size = New System.Drawing.Size(131, 22)
|
||||
Me.mMenInfoWebsite.Text = "Website"
|
||||
'
|
||||
'mMenInfoAbout
|
||||
'
|
||||
Me.mMenInfoAbout.Image = Global.mRemote.My.Resources.Resources.mRemote
|
||||
Me.mMenInfoAbout.Name = "mMenInfoAbout"
|
||||
Me.mMenInfoAbout.Size = New System.Drawing.Size(131, 22)
|
||||
Me.mMenInfoAbout.Text = "About"
|
||||
'
|
||||
'mMenSep3
|
||||
'
|
||||
Me.mMenSep3.Name = "mMenSep3"
|
||||
Me.mMenSep3.Size = New System.Drawing.Size(211, 6)
|
||||
'
|
||||
'lblQuickConnect
|
||||
'
|
||||
Me.lblQuickConnect.Name = "lblQuickConnect"
|
||||
Me.lblQuickConnect.Size = New System.Drawing.Size(43, 22)
|
||||
Me.lblQuickConnect.Text = "&Quicky:"
|
||||
'
|
||||
'cmbQuickConnect
|
||||
'
|
||||
Me.cmbQuickConnect.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
|
||||
Me.cmbQuickConnect.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
|
||||
Me.cmbQuickConnect.Name = "cmbQuickConnect"
|
||||
Me.cmbQuickConnect.Size = New System.Drawing.Size(120, 21)
|
||||
'
|
||||
'tsContainer
|
||||
'
|
||||
'
|
||||
'tsContainer.BottomToolStripPanel
|
||||
'
|
||||
Me.tsContainer.BottomToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
'
|
||||
'tsContainer.ContentPanel
|
||||
'
|
||||
Me.tsContainer.ContentPanel.Controls.Add(Me.pnlDock)
|
||||
Me.tsContainer.ContentPanel.Size = New System.Drawing.Size(842, 499)
|
||||
Me.tsContainer.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
'
|
||||
'tsContainer.LeftToolStripPanel
|
||||
'
|
||||
Me.tsContainer.LeftToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.tsContainer.Location = New System.Drawing.Point(0, 0)
|
||||
Me.tsContainer.Name = "tsContainer"
|
||||
'
|
||||
'tsContainer.RightToolStripPanel
|
||||
'
|
||||
Me.tsContainer.RightToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.tsContainer.Size = New System.Drawing.Size(842, 523)
|
||||
Me.tsContainer.TabIndex = 17
|
||||
Me.tsContainer.Text = "ToolStripContainer1"
|
||||
'
|
||||
'tsContainer.TopToolStripPanel
|
||||
'
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.msMain)
|
||||
Me.tsContainer.TopToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
'
|
||||
'tsQuickConnect
|
||||
'
|
||||
Me.tsQuickConnect.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.tsQuickConnect.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.lblQuickConnect, Me.cmbQuickConnect, Me.btnQuickyPlay, Me.mMenQuickyCon})
|
||||
Me.tsQuickConnect.Location = New System.Drawing.Point(3, 0)
|
||||
Me.tsQuickConnect.Name = "tsQuickConnect"
|
||||
Me.tsQuickConnect.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.tsQuickConnect.Size = New System.Drawing.Size(207, 25)
|
||||
Me.tsQuickConnect.TabIndex = 18
|
||||
'
|
||||
'btnQuickyPlay
|
||||
'
|
||||
Me.btnQuickyPlay.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.btnQuickyPlay.Image = Global.mRemote.My.Resources.Resources.Play_Quick
|
||||
Me.btnQuickyPlay.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.btnQuickyPlay.Name = "btnQuickyPlay"
|
||||
Me.btnQuickyPlay.Size = New System.Drawing.Size(32, 20)
|
||||
Me.btnQuickyPlay.Text = "Play"
|
||||
'
|
||||
'mMenQuickyCon
|
||||
'
|
||||
Me.mMenQuickyCon.AutoSize = False
|
||||
Me.mMenQuickyCon.AutoToolTip = True
|
||||
Me.mMenQuickyCon.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.mMenQuickyCon.Image = Global.mRemote.My.Resources.Resources.Root
|
||||
Me.mMenQuickyCon.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.mMenQuickyCon.Name = "mMenQuickyCon"
|
||||
Me.mMenQuickyCon.Size = New System.Drawing.Size(30, 22)
|
||||
Me.mMenQuickyCon.Text = "Connections"
|
||||
'
|
||||
'tsExtAppsToolbar
|
||||
'
|
||||
Me.tsExtAppsToolbar.ContextMenuStrip = Me.cMenExtAppsToolbar
|
||||
Me.tsExtAppsToolbar.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.tsExtAppsToolbar.Location = New System.Drawing.Point(300, 0)
|
||||
Me.tsExtAppsToolbar.Name = "tsExtAppsToolbar"
|
||||
Me.tsExtAppsToolbar.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.tsExtAppsToolbar.Size = New System.Drawing.Size(109, 25)
|
||||
Me.tsExtAppsToolbar.TabIndex = 17
|
||||
'
|
||||
'cMenExtAppsToolbar
|
||||
'
|
||||
Me.cMenExtAppsToolbar.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenToolbarShowText})
|
||||
Me.cMenExtAppsToolbar.Name = "cMenToolbar"
|
||||
Me.cMenExtAppsToolbar.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.cMenExtAppsToolbar.Size = New System.Drawing.Size(137, 26)
|
||||
'
|
||||
'cMenToolbarShowText
|
||||
'
|
||||
Me.cMenToolbarShowText.Checked = True
|
||||
Me.cMenToolbarShowText.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.cMenToolbarShowText.Name = "cMenToolbarShowText"
|
||||
Me.cMenToolbarShowText.Size = New System.Drawing.Size(136, 22)
|
||||
Me.cMenToolbarShowText.Text = "Show Text"
|
||||
'
|
||||
'tmrShowUpdate
|
||||
'
|
||||
Me.tmrShowUpdate.Enabled = True
|
||||
Me.tmrShowUpdate.Interval = 5000
|
||||
'
|
||||
'tmrAutoSave
|
||||
'
|
||||
Me.tmrAutoSave.Interval = 10000
|
||||
'
|
||||
'frmMain
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(842, 523)
|
||||
Me.Controls.Add(Me.tsContainer)
|
||||
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Icon
|
||||
Me.MainMenuStrip = Me.msMain
|
||||
Me.MaximumSize = New System.Drawing.Size(20000, 10000)
|
||||
Me.Name = "frmMain"
|
||||
Me.Text = "mRemote"
|
||||
Me.msMain.ResumeLayout(False)
|
||||
Me.msMain.PerformLayout()
|
||||
Me.tsContainer.ContentPanel.ResumeLayout(False)
|
||||
Me.tsContainer.TopToolStripPanel.ResumeLayout(False)
|
||||
Me.tsContainer.TopToolStripPanel.PerformLayout()
|
||||
Me.tsContainer.ResumeLayout(False)
|
||||
Me.tsContainer.PerformLayout()
|
||||
Me.tsQuickConnect.ResumeLayout(False)
|
||||
Me.tsQuickConnect.PerformLayout()
|
||||
Me.cMenExtAppsToolbar.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents pnlDock As WeifenLuo.WinFormsUI.Docking.DockPanel
|
||||
Friend WithEvents msMain As System.Windows.Forms.MenuStrip
|
||||
Friend WithEvents mMenFile As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenView As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenTools As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents lblQuickConnect As System.Windows.Forms.ToolStripLabel
|
||||
Friend WithEvents mMenInfo As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileNew As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileLoad As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileSave As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSaveAs As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileExit As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsUpdate As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenToolsOptions As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoHelp As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoWebsite As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenInfoAbout As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConnectionPanels As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenViewSessions As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConnections As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConfig As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewErrorsAndInfos As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewScreenshotManager As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewAddConnectionPanel As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents cmbQuickConnect As System.Windows.Forms.ToolStripComboBox
|
||||
Friend WithEvents mMenViewSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenViewFullscreen As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsSSHTransfer As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents tsContainer As System.Windows.Forms.ToolStripContainer
|
||||
Friend WithEvents tmrShowUpdate As System.Windows.Forms.Timer
|
||||
Friend WithEvents mMenToolsExternalApps As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents tmrAutoSave As System.Windows.Forms.Timer
|
||||
Friend WithEvents tsExtAppsToolbar As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents mMenViewExtAppsToolbar As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents cMenExtAppsToolbar As System.Windows.Forms.ContextMenuStrip
|
||||
Friend WithEvents cMenToolbarShowText As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsPortScan As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents tsQuickConnect As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents mMenViewQuickConnectToolbar As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenSep3 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenInfoDonate As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoBugReport As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewSep3 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents btnQuickyPlay As System.Windows.Forms.ToolStripSplitButton
|
||||
Friend WithEvents mMenQuickyCon As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewJumpTo As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewJumpToConnectionsConfig As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewJumpToSessionsScreenshots As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewJumpToErrorsInfos As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenToolsUltraVNCSC As System.Windows.Forms.ToolStripMenuItem
|
||||
|
||||
End Class
|
||||
@@ -1,363 +0,0 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmMain
|
||||
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.pnlDock = New WeifenLuo.WinFormsUI.Docking.DockPanel
|
||||
Me.msMain = New System.Windows.Forms.MenuStrip
|
||||
Me.mMenFile = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileNew = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileLoad = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileSave = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSaveAs = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileExit = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenView = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewAddConnectionPanel = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewConnectionPanels = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewConnections = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewConfig = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewErrorsAndInfos = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSessions = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewScreenshotManager = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewFullscreen = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenTools = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsUpdate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsSSHTransfer = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenToolsOptions = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenQuickConnect = New System.Windows.Forms.ToolStripLabel
|
||||
Me.cmbQuickConnect = New System.Windows.Forms.ToolStripComboBox
|
||||
Me.mMenPlay = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfo = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoHelp = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoWebsite = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenInfoAbout = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.msMain.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'pnlDock
|
||||
'
|
||||
Me.pnlDock.ActiveAutoHideContent = Nothing
|
||||
Me.pnlDock.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.pnlDock.DockLeftPortion = 230
|
||||
Me.pnlDock.DockRightPortion = 230
|
||||
Me.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow
|
||||
Me.pnlDock.Location = New System.Drawing.Point(0, 27)
|
||||
Me.pnlDock.Name = "pnlDock"
|
||||
Me.pnlDock.Size = New System.Drawing.Size(842, 496)
|
||||
Me.pnlDock.TabIndex = 13
|
||||
'
|
||||
'msMain
|
||||
'
|
||||
Me.msMain.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.msMain.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFile, Me.mMenView, Me.mMenTools, Me.mMenSep1, Me.mMenQuickConnect, Me.cmbQuickConnect, Me.mMenPlay, Me.mMenInfo})
|
||||
Me.msMain.Location = New System.Drawing.Point(0, 0)
|
||||
Me.msMain.Name = "msMain"
|
||||
Me.msMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.msMain.Size = New System.Drawing.Size(842, 27)
|
||||
Me.msMain.TabIndex = 16
|
||||
Me.msMain.Text = "Main Toolbar"
|
||||
'
|
||||
'mMenFile
|
||||
'
|
||||
Me.mMenFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFileNew, Me.mMenFileLoad, Me.mMenFileSep1, Me.mMenFileSave, Me.mMenFileSaveAs, Me.mMenFileSep2, Me.mMenFileExit})
|
||||
Me.mMenFile.Image = Global.mRemote.My.Resources.Resources.File
|
||||
Me.mMenFile.Name = "mMenFile"
|
||||
Me.mMenFile.Size = New System.Drawing.Size(51, 23)
|
||||
Me.mMenFile.Text = "&File"
|
||||
'
|
||||
'mMenFileNew
|
||||
'
|
||||
Me.mMenFileNew.Name = "mMenFileNew"
|
||||
Me.mMenFileNew.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.N), System.Windows.Forms.Keys)
|
||||
Me.mMenFileNew.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileNew.Text = "New Connections"
|
||||
'
|
||||
'mMenFileLoad
|
||||
'
|
||||
Me.mMenFileLoad.Name = "mMenFileLoad"
|
||||
Me.mMenFileLoad.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.O), System.Windows.Forms.Keys)
|
||||
Me.mMenFileLoad.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileLoad.Text = "Open Connections"
|
||||
'
|
||||
'mMenFileSep1
|
||||
'
|
||||
Me.mMenFileSep1.Name = "mMenFileSep1"
|
||||
Me.mMenFileSep1.Size = New System.Drawing.Size(238, 6)
|
||||
'
|
||||
'mMenFileSave
|
||||
'
|
||||
Me.mMenFileSave.Name = "mMenFileSave"
|
||||
Me.mMenFileSave.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenFileSave.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileSave.Text = "Save Connections"
|
||||
'
|
||||
'mMenFileSaveAs
|
||||
'
|
||||
Me.mMenFileSaveAs.Name = "mMenFileSaveAs"
|
||||
Me.mMenFileSaveAs.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Shift) _
|
||||
Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenFileSaveAs.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileSaveAs.Text = "Save Connections As"
|
||||
'
|
||||
'mMenFileSep2
|
||||
'
|
||||
Me.mMenFileSep2.Name = "mMenFileSep2"
|
||||
Me.mMenFileSep2.Size = New System.Drawing.Size(238, 6)
|
||||
'
|
||||
'mMenFileExit
|
||||
'
|
||||
Me.mMenFileExit.Name = "mMenFileExit"
|
||||
Me.mMenFileExit.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.F4), System.Windows.Forms.Keys)
|
||||
Me.mMenFileExit.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileExit.Text = "Exit"
|
||||
'
|
||||
'mMenView
|
||||
'
|
||||
Me.mMenView.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewAddConnectionPanel, Me.mMenViewConnectionPanels, Me.mMenViewSep1, Me.mMenViewConnections, Me.mMenViewConfig, Me.mMenViewErrorsAndInfos, Me.mMenViewSessions, Me.mMenViewScreenshotManager, Me.mMenViewSep2, Me.mMenViewFullscreen})
|
||||
Me.mMenView.Image = Global.mRemote.My.Resources.Resources.View
|
||||
Me.mMenView.Name = "mMenView"
|
||||
Me.mMenView.Size = New System.Drawing.Size(58, 23)
|
||||
Me.mMenView.Text = "&View"
|
||||
'
|
||||
'mMenViewAddConnectionPanel
|
||||
'
|
||||
Me.mMenViewAddConnectionPanel.Name = "mMenViewAddConnectionPanel"
|
||||
Me.mMenViewAddConnectionPanel.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewAddConnectionPanel.Text = "Add Connection Panel"
|
||||
'
|
||||
'mMenViewConnectionPanels
|
||||
'
|
||||
Me.mMenViewConnectionPanels.Name = "mMenViewConnectionPanels"
|
||||
Me.mMenViewConnectionPanels.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewConnectionPanels.Text = "Connection Panels"
|
||||
'
|
||||
'mMenViewSep1
|
||||
'
|
||||
Me.mMenViewSep1.Name = "mMenViewSep1"
|
||||
Me.mMenViewSep1.Size = New System.Drawing.Size(187, 6)
|
||||
'
|
||||
'mMenViewConnections
|
||||
'
|
||||
Me.mMenViewConnections.Checked = True
|
||||
Me.mMenViewConnections.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewConnections.Name = "mMenViewConnections"
|
||||
Me.mMenViewConnections.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewConnections.Text = "Connections"
|
||||
'
|
||||
'mMenViewConfig
|
||||
'
|
||||
Me.mMenViewConfig.Checked = True
|
||||
Me.mMenViewConfig.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewConfig.Name = "mMenViewConfig"
|
||||
Me.mMenViewConfig.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewConfig.Text = "Config"
|
||||
'
|
||||
'mMenViewErrorsAndInfos
|
||||
'
|
||||
Me.mMenViewErrorsAndInfos.Checked = True
|
||||
Me.mMenViewErrorsAndInfos.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewErrorsAndInfos.Name = "mMenViewErrorsAndInfos"
|
||||
Me.mMenViewErrorsAndInfos.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewErrorsAndInfos.Text = "Errors and Infos"
|
||||
'
|
||||
'mMenViewSessions
|
||||
'
|
||||
Me.mMenViewSessions.Checked = True
|
||||
Me.mMenViewSessions.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewSessions.Name = "mMenViewSessions"
|
||||
Me.mMenViewSessions.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewSessions.Text = "Sessions"
|
||||
'
|
||||
'mMenViewScreenshotManager
|
||||
'
|
||||
Me.mMenViewScreenshotManager.Name = "mMenViewScreenshotManager"
|
||||
Me.mMenViewScreenshotManager.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewScreenshotManager.Text = "Screenshot Manager"
|
||||
'
|
||||
'mMenViewSep2
|
||||
'
|
||||
Me.mMenViewSep2.Name = "mMenViewSep2"
|
||||
Me.mMenViewSep2.Size = New System.Drawing.Size(187, 6)
|
||||
'
|
||||
'mMenViewFullscreen
|
||||
'
|
||||
Me.mMenViewFullscreen.Name = "mMenViewFullscreen"
|
||||
Me.mMenViewFullscreen.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewFullscreen.Text = "Fullscreen (Kiosk Mode)"
|
||||
'
|
||||
'mMenTools
|
||||
'
|
||||
Me.mMenTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenToolsUpdate, Me.mMenToolsSSHTransfer, Me.mMenToolsSep1, Me.mMenToolsOptions})
|
||||
Me.mMenTools.Image = Global.mRemote.My.Resources.Resources.Tools
|
||||
Me.mMenTools.Name = "mMenTools"
|
||||
Me.mMenTools.Size = New System.Drawing.Size(61, 23)
|
||||
Me.mMenTools.Text = "&Tools"
|
||||
'
|
||||
'mMenToolsUpdate
|
||||
'
|
||||
Me.mMenToolsUpdate.Image = Global.mRemote.My.Resources.Resources.Update
|
||||
Me.mMenToolsUpdate.Name = "mMenToolsUpdate"
|
||||
Me.mMenToolsUpdate.Size = New System.Drawing.Size(160, 22)
|
||||
Me.mMenToolsUpdate.Text = "Update"
|
||||
'
|
||||
'mMenToolsSSHTransfer
|
||||
'
|
||||
Me.mMenToolsSSHTransfer.Image = Global.mRemote.My.Resources.Resources.SSHTransfer
|
||||
Me.mMenToolsSSHTransfer.Name = "mMenToolsSSHTransfer"
|
||||
Me.mMenToolsSSHTransfer.Size = New System.Drawing.Size(160, 22)
|
||||
Me.mMenToolsSSHTransfer.Text = "SSH File Transfer"
|
||||
'
|
||||
'mMenToolsSep1
|
||||
'
|
||||
Me.mMenToolsSep1.Name = "mMenToolsSep1"
|
||||
Me.mMenToolsSep1.Size = New System.Drawing.Size(157, 6)
|
||||
'
|
||||
'mMenToolsOptions
|
||||
'
|
||||
Me.mMenToolsOptions.Image = Global.mRemote.My.Resources.Resources.Options
|
||||
Me.mMenToolsOptions.Name = "mMenToolsOptions"
|
||||
Me.mMenToolsOptions.Size = New System.Drawing.Size(160, 22)
|
||||
Me.mMenToolsOptions.Text = "Options"
|
||||
'
|
||||
'mMenSep1
|
||||
'
|
||||
Me.mMenSep1.Name = "mMenSep1"
|
||||
Me.mMenSep1.Size = New System.Drawing.Size(6, 23)
|
||||
'
|
||||
'mMenQuickConnect
|
||||
'
|
||||
Me.mMenQuickConnect.Name = "mMenQuickConnect"
|
||||
Me.mMenQuickConnect.Size = New System.Drawing.Size(87, 20)
|
||||
Me.mMenQuickConnect.Text = " &Quick Connect:"
|
||||
'
|
||||
'cmbQuickConnect
|
||||
'
|
||||
Me.cmbQuickConnect.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
|
||||
Me.cmbQuickConnect.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
|
||||
Me.cmbQuickConnect.Name = "cmbQuickConnect"
|
||||
Me.cmbQuickConnect.Size = New System.Drawing.Size(120, 23)
|
||||
'
|
||||
'mMenPlay
|
||||
'
|
||||
Me.mMenPlay.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.mMenPlay.Image = Global.mRemote.My.Resources.Resources.Play_Quick
|
||||
Me.mMenPlay.Name = "mMenPlay"
|
||||
Me.mMenPlay.Size = New System.Drawing.Size(28, 23)
|
||||
Me.mMenPlay.Text = "Play"
|
||||
'
|
||||
'mMenInfo
|
||||
'
|
||||
Me.mMenInfo.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
|
||||
Me.mMenInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenInfoHelp, Me.mMenInfoWebsite, Me.mMenInfoSep1, Me.mMenInfoAbout})
|
||||
Me.mMenInfo.Image = Global.mRemote.My.Resources.Resources.Info
|
||||
Me.mMenInfo.Name = "mMenInfo"
|
||||
Me.mMenInfo.Size = New System.Drawing.Size(53, 23)
|
||||
Me.mMenInfo.Text = "&Info"
|
||||
'
|
||||
'mMenInfoHelp
|
||||
'
|
||||
Me.mMenInfoHelp.Image = Global.mRemote.My.Resources.Resources.Help
|
||||
Me.mMenInfoHelp.Name = "mMenInfoHelp"
|
||||
Me.mMenInfoHelp.Size = New System.Drawing.Size(116, 22)
|
||||
Me.mMenInfoHelp.Text = "Help"
|
||||
'
|
||||
'mMenInfoWebsite
|
||||
'
|
||||
Me.mMenInfoWebsite.Image = Global.mRemote.My.Resources.Resources.Website
|
||||
Me.mMenInfoWebsite.Name = "mMenInfoWebsite"
|
||||
Me.mMenInfoWebsite.Size = New System.Drawing.Size(116, 22)
|
||||
Me.mMenInfoWebsite.Text = "Website"
|
||||
'
|
||||
'mMenInfoSep1
|
||||
'
|
||||
Me.mMenInfoSep1.Name = "mMenInfoSep1"
|
||||
Me.mMenInfoSep1.Size = New System.Drawing.Size(113, 6)
|
||||
'
|
||||
'mMenInfoAbout
|
||||
'
|
||||
Me.mMenInfoAbout.Image = Global.mRemote.My.Resources.Resources.mRemote
|
||||
Me.mMenInfoAbout.Name = "mMenInfoAbout"
|
||||
Me.mMenInfoAbout.Size = New System.Drawing.Size(116, 22)
|
||||
Me.mMenInfoAbout.Text = "About"
|
||||
'
|
||||
'frmMain
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(842, 523)
|
||||
Me.Controls.Add(Me.pnlDock)
|
||||
Me.Controls.Add(Me.msMain)
|
||||
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Icon
|
||||
Me.MainMenuStrip = Me.msMain
|
||||
'Me.MaximumSize = New System.Drawing.Size(20000, 4000)
|
||||
Me.Name = "frmMain"
|
||||
Me.Text = "mRemote"
|
||||
Me.msMain.ResumeLayout(False)
|
||||
Me.msMain.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
Friend WithEvents pnlDock As WeifenLuo.WinFormsUI.Docking.DockPanel
|
||||
Friend WithEvents msMain As System.Windows.Forms.MenuStrip
|
||||
Friend WithEvents mMenFile As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenView As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenTools As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenQuickConnect As System.Windows.Forms.ToolStripLabel
|
||||
Friend WithEvents mMenPlay As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfo As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileNew As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileLoad As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileSave As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSaveAs As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileExit As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsUpdate As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenToolsOptions As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoHelp As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoWebsite As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenInfoAbout As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConnectionPanels As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenViewSessions As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConnections As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConfig As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewErrorsAndInfos As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewScreenshotManager As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewAddConnectionPanel As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents cmbQuickConnect As System.Windows.Forms.ToolStripComboBox
|
||||
Friend WithEvents mMenViewSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenViewFullscreen As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsSSHTransfer As System.Windows.Forms.ToolStripMenuItem
|
||||
|
||||
End Class
|
||||
@@ -1,361 +0,0 @@
|
||||
<?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="msMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>13, 8</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="mMenFile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAsFJREFUOE9Nk0tP
|
||||
E1EYhls36MYfYhQhGGOCUUMCBiUxirpxg9ACSqJxodEEDEFMYKt4SUyMK9cGikgvNEBbqNwUekG5FAoU
|
||||
6MW208uZzqWv35lCyyTPOTOZOc+83zdn9AB0tS8nmk6cLLt3TK+r0ul0xwk9URhBA/I6JZ9fS8Rg0wvx
|
||||
p5MfGiTtPj+4oP61YzIqsOi/tKjE0iJiqRJRQQTdgz8koGswCOPASqa6faiMr+Now/U+Z1jISsrUhgT3
|
||||
pgx3UMb0hgxnIIfxFRE/fGmIMmBazqLr2yYMb1aylzpMmkQTNPS7sslMDnNbCua3ZJplzGiSHCZWRZh9
|
||||
GRKomAspcO9I6P0eRM0L+9dSgn4X44IFEvzalrGwrWiyn5sSHGs5WP9kEdhPa6WkmIz9eAbUN8p0WAIJ
|
||||
EukclugNHmJpV8VvTcJTSFoKC6UY9qQwtJhEgvpU1+NgRcG1PheLk8C/m4ePFnsJT0jFIslmqSdTgYLE
|
||||
9jcLC/UhnpZQ98pVEtSTIEaC5b28hp/wkWxpp5BEk1CSSSqHi2IkqO05Irja62LRVA6+4mK1mIRLeF9m
|
||||
qRyexEWEBQk13UcEtT1OFqHvzd/KSzjES2UcppgLKpjhn5gQqJGXO52lEmq6nWwvKcK7U4hdgJpJ8BLm
|
||||
afEs4aa9MU0CJqmofjZeElzpdLBQguGOScRdE8PtYYZGOm8cFHFriGncHGS4cUAmp+D8Y3tJcPH5ONuK
|
||||
MTyaUPFlGfjsBz75gI80v6f5HTHgBd56AOOYjDSVUNlmKQkuPLFnApFMvt2uos2maA8ZxhSNZrpuscm4
|
||||
b5XRxK+tCt+V6hnDaKq4D6oeWNfDSVEIRJm6HsliPZzF6gGRlAQO73yKKaD/TVXz+cSpphHKdLATzz20
|
||||
dFQYzdbKVkusotXMihjN7CxRbhwtYNCIn24esZU3j7RwwX/Yvio5QNtWmQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenView.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAvBJREFUOE+lk1lP
|
||||
E1EYhuvdqNF4bYKBACKgFpU6QCnQlmmhdKd0h0IXKEV2jYQE0EGDokFQEEGs0EIBa6hlExDZjJCIiRhC
|
||||
RRZpUa/8EcevF4qICRdOci4mM+97nuebMwcQQpT/ui4vmPHyeTNe+saEF03rccsrHZ47qsX1L5R45rN0
|
||||
XNktwtOtPFzYysFTm5i4f8M/F6V8Po8omTNhhVN6LH88CzMNa7AclwLT9ksxhU2ISTtSMX4LgXHvJWGs
|
||||
W3RiT0HxrJG49DrnIJCQQEKWzpnIoik9aZnQkaYRLZnjUpLa/nRSYReRglZOJ5BUA0n1ryJKwWQ2kfcy
|
||||
8xCQ2AqnDTTLRHZc7og20eBWsXTODI7aIeZldPL54naumHWbUQkkPCCx/i4AXwJ8DxfNGOygwICi1bK3
|
||||
eZ9LZo1rQLZuHs/cMA6rN7MH5Jsqh/i73CbYgLIfQLIIJIsU8CXA9wgMz24cUidDAQKCSuOgqj57QPEw
|
||||
0ylzqHslgxCcFLdxP0JwntuQtAUkbiBBFE2vhJB3CY6aRjR23XM5D2aCTMPqDijuz3LKRtUOyYy8i78g
|
||||
eZz6nveAvc5tTFpi1tG3mXVxQ/RrNESRPeUTojbuMUDsVvaIpTATBEpjEJ5TOSTvwH9J3J6ynNbM9hB3
|
||||
GF4IrtBraNtxNdFuWkUUogASAS6E0i4cE7QQVTATpOmTehR24Zr0CW9T0Ep4UxqZXnZ9vC+hFvdB+BOt
|
||||
guqLvkp1UUsjdg4FkFiBRAroSNUj+iCzpi0LH3FWUppYHnY9YzXhRsxqbNUFDwRXqCXh3rPF4c4IS+hO
|
||||
AZBYgcQKM0Hg+zWtOfkbpyERXOnb8dcv+vDKc97zV874g1vh+aFfYDlCjUG7j6X/2wIJApIh3n3WIHGX
|
||||
4U68GesC3wHwdUaVRfadLgzrOWUOsYUYAruCdAF7C4AEAQkCZ5RQG4MAGwE28vtGFpxEYbnBKFgfiAKz
|
||||
AtAJzfG9BX+f9f3ud/1Z+738r+c/ASsl+hh77k39AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenViewConfig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAArhJREFUOE91U91LU3EYnt0GjUYSgv+EoDeCgXkhiuBAL7swoTWUEryYF2JXQlebTIlK
|
||||
pA1bmfODND+DpqUzt5Vfm7NtZx9n52xnui9zm/m5p9/vlINcHnjhnPf83ud5n/d9fhIAkv9FQ0NDrU6n
|
||||
29fr9cnS0tKqq87lFQ8MDNxqaWm5oVKpjPFEEql0Gp2dnYb29vbrGo3m9mWgHIDBYGh7PzmZ1en1gtE4
|
||||
kgoLEYTCAmLxOE5OTzExMXHw2mAQTCZT9vmLF8oLIBFAJpNde/N2iGP5EOKJhBh70SjYIAchEsHu3h4O
|
||||
UimkMxkcHZ9geHjY/w8A/airq9MGSAHj88EfYGGzfcOXpWWsra/DS3LJ/X0xMoeHqK6ufpoHoO3tXfOR
|
||||
QueOC7OzcyKI3e44D3L8OS1aWFxEZPdPJ5qeHksOQKlU1mq12qjL7T5jvD5YrTaEQmEQvaxUKpUXFhbe
|
||||
m5ufj8aILNoVnYuHYc76+vqi5eXlVZLKyruqSDSGHZcbm3YHls0rYBgf6uvlTy5YHigU/R7GC/PKKplL
|
||||
EH6WJcNNoKLiTpukrKzsEcfz2Hb+wMbmFpaWzYjG4lCr1R8vAF7pdN/pVqamZ2DfdiLAEpBAACUlJQoJ
|
||||
eaRNTU3TZHUC0Yv1jU1xWOPj4xgaevfTaDQejIyOituw2mzw+gPQDw7ytIbW5nxAnPcsnTkET/R/Mi2I
|
||||
a9wikhyEkSWMH6am4HDukPaDqKmpUedtobu7W/h1fIxEMgm3xwOLxYqVVQu+/g0LYafgQeKVrq6uUB6A
|
||||
qqPDTJLURFnivmxYEES9lJX6gzBnibHOw5FdtLa2fs4DoHoaGxvHioqK7hcXFz8mXRzRdqkfGK83RfIP
|
||||
SV4hl8vH6Nk8gMuX5GV/v4sn2+E4Ds3NzTnGKy/T5R8FBQUyMukZGuT95lXX+Tf6O+vwZDVeqgAAAABJ
|
||||
RU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenViewSessions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAA4RJREFUOE9lk3tMk1cchg8a562VKXGZUxMNy8a8zM3bNIW1Omi/Xj5LKa2UYgvSyxDa
|
||||
CrSFUq4lghTKrMMKBQ0mRggiMrIJjuDGNk2WbfES4oIgGqNRZ5TpGqmG9t0H/qNykifnknOe8+aXcyIA
|
||||
kNebfmPU9HRqdVZExMfL3yX+99jhrcHJMHnyfNazkaezy8dfhJoRDk++2sgIXqcwdjGZws5ZEunaEXnJ
|
||||
R78Dj2QuvLJI1EgWw7iNHUjZvlyaRcUQI/+jmQJvPItMcWjH/FW+xGX4rlSCs0UUHPFRMHNYSNswF+XK
|
||||
T6s6K5TklDNxpqApOYpM0SBZuKLDQYeej13E45+86K3X4UKTFd8fsaIzb6PryjE9+bMxnZCvdRmv0O+N
|
||||
MKarVUWC1bfLuKx/7LGsRxbxuhdD/a0IXO3Ay6FOBId7caenOJwhV+hiZMfJetlhQrIz90yTpdu7uUAZ
|
||||
N+JRRMNNL4U7eRX2cRahJFOIe321+PeXBoz/WAG3STWxYMtBw6Kdx8gCbiMhVtH6afKFG4rL6WiU8JfC
|
||||
KV6JHOZwbsIHkMTMQ5XLgtp6F3wtfrT+FsJnioGbc7Y1f8XiMYJcDpvkcRaS7C1znBVpseg/mo8zVVq4
|
||||
M7aiyZoIQ0I08s9dhvpnIKkHqBwEDv0QxIfirrFI7mEO0Yo2EwUVR3QJ6wxDHeUIjvYjeK0DTy76MTHc
|
||||
h4F6LfStI0htD0N+PAT+EUDfPI6+E3605fJvEL5QTLYL1GQTL0X8bU5C4L9LPoSGmavGzuPBgAd2oxxy
|
||||
/32knASUbUBaO5Ok6DIGWypxp3bTJBGJREQoEsfEcuMvlDgLQ06bGaerM9FQqEahLRcmkxnCrBokt9zF
|
||||
7lOPwTtwCxz66L3eEsEfw63pNiKgk1bsM1kGpbt2wWq1Qac3oLu7Gz6fD3s0Wlj278dupRJfCPMCn4hP
|
||||
3l3J77oep/Rn/9qge3+0LWc+cWp3dvk9ZXBVHoBKpUJqaiq8Xi9qatyQSCSQyWSw2QvwTWk27Cruibef
|
||||
Pnno+Rx/tZchr6AYdXV1TGQTaJoGRVEwGo2w2ZhUBiMe9ZZirGLtyxmCkUb52R4nH0mqdDgcDlRXV0/3
|
||||
Go0GbrcbZrMZAkqI3w/y8XdjClPGNz8fGW03sfvq1Gu/jBe6mILeVigU41KpdIIZT8jl8gCPx7tJUSLd
|
||||
Vb9mzY02C/ttwf8MViWur2j6ngAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenViewScreenshotManager.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjxJREFUOE+lk+9P
|
||||
EnEcx+uP6lnrx9aj1mqz5uxBtkbMRa3WcukwE9F5JvFDTwFBusgChZISRZOwglEy5VduOZu1msWPAd4B
|
||||
J+ej3n2PBwTCaqvbXrfv/Xp93vt8P3cQwIH/OkSB1R1RMy+iqTFnmNPYG2Aj96qgHWHO7Apry8XFEzMb
|
||||
TWey2Z9Fnge/K/yRbFFAmi3A8CzCVgRi5UKRx9jcNtRzMSjmp2Fdo+GI98MWU2LUr8KVBybcsgTQYfmI
|
||||
TEHAqDPKVQRaElusbJjfBrWwCOsqjakP7TCvtsGwIoExJIPK2wfZ+BPImQ2kuQaCAhGML3yHwjMJO6lq
|
||||
DEkx/O4CVP7zoN62QOO/iYsj99H9aBMprkQSRGoTcERgXvyBHrcVD8Pd0AVbQb1pRu9yE+6+agLlu4ZW
|
||||
3T30Pv6EJLtbL2B5AZaXCVBuD2j/ILRBCRTLZyFfOoMeXwvuPO+ETD+JfvsWkjsNEuyQ7jLeJGhPHJ0O
|
||||
BtTsDQz5pKC8l9DlvIrL9DCJH8Tg9Od6gbj3OdJZqy9Vloy4Y7itbMWA5gQo1XEo+pqhtL2HZuYrVE+/
|
||||
ILE/gSjI5gXIHafRMXUK7baTMHUdwjpzDnGCa+Ao2kzHIDUegUR/uF6gtq1xOSLwb72uEFx3IbQygbjr
|
||||
OgKbSzXPErkSaEfVLmjKglLNS9Wy/etETqgV6J3hbzk2jzxpZJ7fA1dGAEeu2Tr2kCmPcvT3KE+4IkOm
|
||||
mWhAHA4x2t8g/wFHvtFVRllc/Cu/AAZ/6ElKbpVOAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenViewExtAppsToolbar.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmhJREFUOE+lU9tL
|
||||
01EcP/0VvbqxiQ6dOp2b25xzzgspRrvpNkeMTBqiszSzGgrSKlIYtV9RZJl0UdOJjbSctFUrsKcxg3oo
|
||||
/GF0ocCHpHrwoU87B04UBAke+Dx+vp8bZxcAsqN3/ebdK8vJ1Fby2QoST1cQf/wcC/EnuLf4CDOxJdye
|
||||
XcD45Dwu35jBhat3MHJxAqHwGIJnhK3O3sFukiX/fLl3D95Fd8M8b8SrN+v/xeu36/j0ZQPdJ0ciJJl6
|
||||
ga/LD/HjvYD7H2L4+HljW9j89h3+Y6cFQi2XlJRApVKhtLQUZWVlUKvVKC8vh0ajQUVFBfR6PQwGAyor
|
||||
K1FVVYXq6mrU1NSgvWdIIEuJFCPl5ORAIpFAKpVCJpNBLpcjNzcXeXl5UCgUKCgoQGFhIYqKiphgXV0d
|
||||
eofCAqGF8QPpdBpTU1PbPpDtQCCxBwlmkyuura2hr6/vn6o0Jo/Y2NiIQ/0hgczG4ixbfn4+MpkMotEo
|
||||
lErlb6ucxDvRarXQ6XRobm7GgcCgQCbnFmE2mxmhuLiY5eNlUhIFJ9EyqRiF1WrF/s4BgUxMx1BfX/8X
|
||||
ibdPlfgCRqORLWAymdgKDocDno5egYzdmgPNQ1VoF5T052R8NuqSwmKxoLa2Fi0tLXD6ugVyaXya5eHW
|
||||
uBJVoQS6NyfR6SgaGhrgdrth8/oFci5ybZPmsdlssNvtzJrT6WQKFK2trXC5XIzg8XjQ1tbG4PV60eT0
|
||||
jZLAwHAgGDq/GgxFxP7hsHhkcFTsOn5W9B89JR7sGRJ9XSdEr79fdLcfFrOWxayquM/dITY5fKuWJoeJ
|
||||
0O+8E/wCTNYVG3agVjIAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenTools.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA
|
||||
CxMBAJqcGAAAAtpJREFUOE91Ud1P0mEYfbvor8itudZFV/0JXbXmWmuurS66aF7YbbRqydAMkTENUH4Q
|
||||
gnzYhvgxSUpA5EMlQHCTNFCwZup0KmFJV16RnJ4Hw7W2ftvZ+9vzvOc85znvud7eXvHXVzk5ORHVanWD
|
||||
zkGq93OvoaFBRrWHAC7TKUql0vkzjtVqFVqttg6sr68jmUyiu7v7WKlUyhwOh8xmsx3v7e2hXC7DbDaD
|
||||
6qIOwQJUFHq9ngGPx4N4PI5YLAaVSlUgcmF3dxfFYhGhUAhGo5Hrog4WqLAqN3Q6nSAkwuEwEokE1Gp1
|
||||
xWKxVHj6ysoKJEmKU602iFyD1q8ImlBha6zOF/r6+j5Eo1GkUiloNBoW/7W5uYmFhQVwjwewS16V+8Ju
|
||||
txd4AlvkKXxxcXER6XQaPT09VYPBUF1bW6vVWJjd8YqcE7kpCKfTWQuJ92QhnsaETCaDQCDANvFsIIu2
|
||||
wU81V7wa58Mhd3V1yQSlzGCRAu87YDZXOQ92kMvloLDloBzehnxoCy2qSJVz4XD5hW4rV0VdgLMQGG2V
|
||||
EHyBnTkXTEYJ2vHP0E7uwrf4A5Op72hzbuFW56qHIOo4E4C7RcJ0O7A8Bsz3wzmxBMv0AcLLZbhmv8ER
|
||||
KuJt8hBP7Vto6sh6CYJRE4D7gQS/AsiMAHN6wNeO2akI7ESKrvzEaKwEs38ftuABPIlDPCGRG4qslyAE
|
||||
XPcl+OREdgOzOmCK/qdVQMKKiGsEdiJFyIV7vgSTbx+D5GqCRB5bv+K6POsVcNwBloaB6Cvg3XMg8JLI
|
||||
FsB+F+i45NGM70hWEgl/JJG5EqT3e7D4DzAWO8TNjiwEXjcB6TdAkKb6O4H4AGAlUUWjVz26I/5AYtJM
|
||||
5jQP20wRE/FDNKvyJGC4lsFwyykxZgIszYD8olfl3hb/QDL5DhDMHNGrHNWe9p4mnz8NUX01D+UVstxI
|
||||
5AveTiL/B5J8aBOPBjbQaviSIYjfmuK35PAW5YUAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenToolsExternalApps.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmhJREFUOE+lU9tL
|
||||
01EcP/0VvbqxiQ6dOp2b25xzzgspRrvpNkeMTBqiszSzGgrSKlIYtV9RZJl0UdOJjbSctFUrsKcxg3oo
|
||||
/GF0ocCHpHrwoU87B04UBAke+Dx+vp8bZxcAsqN3/ebdK8vJ1Fby2QoST1cQf/wcC/EnuLf4CDOxJdye
|
||||
XcD45Dwu35jBhat3MHJxAqHwGIJnhK3O3sFukiX/fLl3D95Fd8M8b8SrN+v/xeu36/j0ZQPdJ0ciJJl6
|
||||
ga/LD/HjvYD7H2L4+HljW9j89h3+Y6cFQi2XlJRApVKhtLQUZWVlUKvVKC8vh0ajQUVFBfR6PQwGAyor
|
||||
K1FVVYXq6mrU1NSgvWdIIEuJFCPl5ORAIpFAKpVCJpNBLpcjNzcXeXl5UCgUKCgoQGFhIYqKiphgXV0d
|
||||
eofCAqGF8QPpdBpTU1PbPpDtQCCxBwlmkyuura2hr6/vn6o0Jo/Y2NiIQ/0hgczG4ixbfn4+MpkMotEo
|
||||
lErlb6ucxDvRarXQ6XRobm7GgcCgQCbnFmE2mxmhuLiY5eNlUhIFJ9EyqRiF1WrF/s4BgUxMx1BfX/8X
|
||||
ibdPlfgCRqORLWAymdgKDocDno5egYzdmgPNQ1VoF5T052R8NuqSwmKxoLa2Fi0tLXD6ugVyaXya5eHW
|
||||
uBJVoQS6NyfR6SgaGhrgdrth8/oFci5ybZPmsdlssNvtzJrT6WQKFK2trXC5XIzg8XjQ1tbG4PV60eT0
|
||||
jZLAwHAgGDq/GgxFxP7hsHhkcFTsOn5W9B89JR7sGRJ9XSdEr79fdLcfFrOWxayquM/dITY5fKuWJoeJ
|
||||
0O+8E/wCTNYVG3agVjIAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenToolsOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgVJREFUOE+Vk8tv
|
||||
EmEUxXHhX2L8U4waY4wrVy5lK0YXkqZpYIBhkEccCk6dIgttsHZaYyi2jKgjb5NR0pGHL2iKFAQtrhoX
|
||||
mDnemQWa2EKd5Mu3ub/znXvunWMALNO+eDxu03XdSrUn6bZYrdbjY8YQmHRisZhNFMX9TqeD4XCIaDRK
|
||||
5X+YibBRSHC93W6j1+shnU4jHA7/n4AgCCPj9UqlAp7ns4ZoMBiE3++Hz+cbTXVAln81m00UCgWEQqFX
|
||||
gUAgJ0kSGo0GWJadLBCJRM6QZb1araJcLiOTyUCWZWSzWeTzebjd7vqBDm6tfuG9iY8VsjwqlUpQVRXG
|
||||
XSwWkcvloCgKXC7XvtPptP0jwC3v8IvpHoSnXfiX30PTNKRSKXAcpxuW6dURwzB1h8NhM1fg75GwBrzR
|
||||
RabyA/LbIfxrbcyIGrxe70+Px3PioHGPBdyJHX6B4GcEJpQ+7j//imT5OxwPtnGZ014ftiumALO0zQvr
|
||||
Xchvhlh62Ud0fRcxamOt+A32eAsXmdqjQwXmCJ5PdrGpEvyij/nkLkRyspof4Oa9Fi443kmTNtVijzex
|
||||
oe6ZlvknHdyl8KTcADcWWzg/Nxk2Q7x65xP1ugdxk5KnNlYIvk7w2dmtx9P+E1Pgyu0PqhHUSnaAh8oA
|
||||
1xY+4/TM0eDxGC+xtRoFhXOzWzhlPzpsCPwGZiza7bmUpcQAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenInfo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAArBJREFUOE+lk+1P
|
||||
UmEYxutf0T+hc/rS2vRDc202SNI+ZNYwTdRWugqzwSrFRHwDFLAhGGq+UL5BSYqQwJGMkJfQ1JMDM2hr
|
||||
qy+QtSyvHmiittbaOtt1trPzXL/7ue7nfg4COPBfTxKwV3ma5cwTqpAoVxFkjzV749kyTzxLNs9mydyi
|
||||
o3eZzN/X7zNz1Eu84/JArLzHjx57BCPMRkp6axh89XPQopkYLbby9kLSAFKVl9PiSzRPrMDijaF7KgKJ
|
||||
8TXuDC1BblqB0bGOhpEQ6IrxBH15PA1JAXKVwYyc1oVo0mx6EYOImG70BzDoeotB5zquG/wQ9gVgmFmD
|
||||
5KEfdKkxSpcMZaT6l3zlyBfEZVovzJ73qO0PQUgiXNX58PnrVkpVOg+quj0Q3vei/1kYZ5qegirsE6cB
|
||||
2a0eVm+NQGlica3Hh2qdF1VaD3rtazAQVXQxv6RxkVgBqKeWQRfo2DTgiITZHJt/h9peP6n0EpX33GQx
|
||||
Q/4D20QClRNlHbNEDlzSOGFkwqB4nZtpAC22b466N1JZk5XK1S5iciEU+YTEly2UtttR0mbDBSKBwobh
|
||||
OQLgKvYCrKzWykL6aBGVGjcEnU5cVM7iVfgjAXxDsWwaxSQ3v8mCmm4GSksQ9Mn23Qh0jUVcJLdj0BFB
|
||||
pYqBQO6AxbOO7z+2UxH8bz6gSGImMqHrcQgFN0cIoG23ifSV0QxaYIzeHvbBYF1FqdwGfvMUzkknUVRv
|
||||
wtm6cRTWjaFl2EuOd45sXxqludLdY0w2g+IP8A7l6xOiAQ/008sQap1ky09wvsGMapUNalMAwl4GNKc+
|
||||
Qcz7B2lnNKkCPY/K74qdvjUB5eQiHjhZolW0m4PIqzWC4jTEaG7jn0d5B0KfUmdSvA4RladgKW5TnOI0
|
||||
xklFlkh0mFv/98v0+037l++fDRyfGvO8afwAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenInfoHelp.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAArRJREFUOE+lk+1P
|
||||
kmEUh+tf0T+htZqrVav1rbbGhz70wan5CjS1XC2D5Swd5jRLSs1Mp4KaOqeiwJOACKKJ8iYIPJjIm/Iy
|
||||
EB541Gz7BSxBW2tt3dt1b/d2zrWdc59zFsCZ/zopwUlU5GGu0n7AUVj3SdkGTX0xxymJiSJnDVHOtG4v
|
||||
9/f4U8lyK82YsyR8Dv8hNndp2L1UGsdOAhZPAqNLQd/wop9xUpIREOtxhtgYi28F9qH/FoZw3g3euBUN
|
||||
oxvoJjahsQRh81H4JHPHu4ntjCQtEOmjOVNrEe+mn8aiNYS6ZFIX4YA7RMMVSmB8yYNaoRHSNR/Mrija
|
||||
pkhvy4QtJ92/1DW2HOSuu+NYdUTAHTLjca8eiYOjJD9+cYS6IQNqB3RYMAegXA+gXmjkZgT98z7Slqy1
|
||||
h9hCTa8O1T2rcAcTmF7xQG7aAZ2UyU1eMDtUaJu2wOgM40mPlswIOiVO2u6NgSswoOqjFqwuTTJYjRmt
|
||||
C2HqALthGn1zNpS1K1H1QQ2Law8svprOCFonbLTNE8PTQQOYnWpUvFeh/J0KMfo7tgMU2HwliltluJ+E
|
||||
zVfA7I6goFmeFbwQmkjTdgR8kQ2sDg3K+QsofTuPktfyNEWvCBQ1SVDYJEaDcAVaRwB368XZEpL1cCVa
|
||||
D9SWAKo6NZnEUHQfgT0a+bzZNEU8EYg1FwTJcm7VTmabyOYv5lS8WfAuWwOQrrrBbFegsFmK9gldmlRy
|
||||
QeMkRhR2KAwe3KwZ915/OJb9xlQz8nlzjHuNRFxl3oHc6MVLwTJKW8QobprB8z41pFonZHo3rlZ+jl9+
|
||||
MHx6kI5H8w5XxLj9bMrXT2zgq90PgzOUZsm6i26RCXksoe9iheDPo3wsufFoLPda9SjnSuUIeYk9ROUx
|
||||
hdSF8kHyfNkA51xJ/9+X6fdN+5f3T6xF2MGyA9nXAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenInfoWebsite.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA3FJREFUOE9Vkt9P
|
||||
W3UYxmucdy5e+S9wPWO4wMAayuxGoTLEDFnkp7QNtIemNBbKYjcPNVSwSJs5lCnbYIUVKIWtZb9aoF1Z
|
||||
V6GnrW1poVAmmwpV7JwCxhkev+fEGT3JJ3nOm/N+3nPxvACA999HudBQQN4pQi7hVcIhwq+EAA5wwVxw
|
||||
6db/FlgBS4uv/hDhKuGPu99ZsJS5g9mHC3CsLmAq4cZEYgRNs9XPpHdOzzTMVL78fO/58ktk0TeU/BRb
|
||||
u0Gs7sQQ3WFg3wjBmV7GUCyGK2EGY2EfTIEuVNsrIlVjZa9wf//PdcvlRBfST+ex/NSPeDaO0HYYI6k4
|
||||
xtNr6Aum0PMggV5PAPa4GyZ/ByqGRTOcgFzOJ/y5+ds8HFknJp44cXPHg5uPYvgquYLPo6ugnEFQN/zQ
|
||||
LzoxsHEewR/tEF8U/lV8QVDGCmzO9BdY+smJ0ew0rL8EEMhEYAzF0bO4AqkjCJnLBdXyANRpGqq1DgyH
|
||||
Tbj6wICizwpus4LNb3++gaHNizBmvibXY/Bnwmi5HYJ0egkfBBYhS2kgXpFCnJCgOqqA7q4a3pQFRw15
|
||||
P7CC3bUns+hMfgQq1YaB7+cwurGE6mvfQOH2omf1FuqSI+BH2iAMN+OkqwqK8ffBPL6OPDp3j0fdq9tb
|
||||
z87iw4gaikgfBh+6UDPqR81UFBVf3keL6z46InZQPgdqrXZUWs9ANnwazKNp5Ope2+c1z9U8Dm1PoS/W
|
||||
ie61OZxdcKPWcAm0oQeDg4PQnPsYpedsOE5PkaznZvquTvSPGPB625FtHinGdXvCDEf6MpT3aDR+ooHJ
|
||||
ZMLW1hbW19fh8XjQoe+G8mw34okkN/P5SB/IN4Kawk1eveOUkBTjWTTjRJ3pXajb1GCiUVRR7SgpFUMi
|
||||
kcBsNkOr1XK5pLQEGl0LJ2lVt+5yRaq89ta0cV4DSlcPWk9zgiaLB4XHhHC73WAYBl6vFzabDUVvCqC1
|
||||
SDkBTdP7nODtK8WHSTEi9bp3QCnlnKCWaoWg6BiEQiHKy8s52CwoEkD0XvEuK5DJZFlOwHL8fOHhAm2e
|
||||
t+SU6KDX1AvrxDgmJyfR398PlUqF9vZ2LrMz65g1azQas2KxOPGvgJXk5OS8mC97o/VE2Ym9BknDQZO8
|
||||
Cc3yZhQq+NmjynyG5H25XL7f2Nj4u0gk2uDz+Uf+BlXgloy7HfxbAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="tsQuickConnect.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>651, 5</value>
|
||||
</metadata>
|
||||
<metadata name="tsExtAppsToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>348, 8</value>
|
||||
</metadata>
|
||||
<metadata name="cMenExtAppsToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>482, 8</value>
|
||||
</metadata>
|
||||
<metadata name="tmrShowUpdate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>102, 8</value>
|
||||
</metadata>
|
||||
<metadata name="tmrAutoSave.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>233, 8</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>37</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -1,609 +0,0 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports System.Reflection
|
||||
Imports Crownwood
|
||||
|
||||
Public Class frmMain
|
||||
Public prevWindowsState As FormWindowState
|
||||
|
||||
#Region "Startup & Shutdown"
|
||||
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
ApplyLanguage()
|
||||
|
||||
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
|
||||
|
||||
Startup.ParseCommandLineArgs()
|
||||
|
||||
|
||||
sL = New Config.Settings.Load(Me)
|
||||
sS = New Config.Settings.Save(Me)
|
||||
|
||||
Startup.CreateLogger()
|
||||
|
||||
sL.Load()
|
||||
|
||||
mC = New Messages.Collector(Windows.errorsForm)
|
||||
|
||||
Connection.Protocol.RDP.Resolutions.AddResolutions()
|
||||
Connection.Protocol.PuttyBase.BorderSize = New Size(SystemInformation.FrameBorderSize.Width, SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height) 'Size.Subtract(Me.Size, Me.ClientSize)
|
||||
|
||||
wL = New UI.Window.List
|
||||
|
||||
Startup.GetConnectionIcons()
|
||||
Startup.GetPuttySessions()
|
||||
App.Runtime.GetExtApps()
|
||||
Windows.treePanel.Focus()
|
||||
|
||||
Tree.Node.TreeView = Windows.treeForm.tvConnections
|
||||
|
||||
'LoadCredentials()
|
||||
LoadConnections()
|
||||
|
||||
If My.Settings.FirstStart Then
|
||||
Windows.Show(UI.Window.Type.About)
|
||||
End If
|
||||
|
||||
Startup.UpdateCheck()
|
||||
Startup.CreateSQLUpdateHandlerAndStartTimer()
|
||||
|
||||
AddSysMenuItems()
|
||||
AddHandler Microsoft.Win32.SystemEvents.DisplaySettingsChanged, AddressOf DisplayChanged
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
mMenFile.Text = Language.Base.Menu_File
|
||||
mMenFileNew.Text = Language.Base.Menu_NewConnections
|
||||
mMenFileLoad.Text = Language.Base.Menu_OpenConnections
|
||||
mMenFileSave.Text = Language.Base.Menu_SaveConnections
|
||||
mMenFileSaveAs.Text = Language.Base.Menu_SaveConnectionsAs
|
||||
mMenFileExit.Text = Language.Base.Menu_Exit
|
||||
mMenView.Text = Language.Base.Menu_View
|
||||
mMenViewAddConnectionPanel.Text = Language.Base.Menu_AddConnectionPanel
|
||||
mMenViewConnectionPanels.Text = Language.Base.Menu_ConnectionPanels
|
||||
mMenViewConnections.Text = Language.Base.Menu_Connections
|
||||
mMenViewConfig.Text = Language.Base.Menu_Config
|
||||
mMenViewSessions.Text = Language.Base.Menu_Sessions
|
||||
mMenViewErrorsAndInfos.Text = Language.Base.Menu_ErrorsAndInfos
|
||||
mMenViewScreenshotManager.Text = Language.Base.Menu_ScreenshotManager
|
||||
mMenViewJumpTo.Text = Language.Base.Menu_JumpTo
|
||||
mMenViewJumpToConnectionsConfig.Text = Language.Base.Menu_ConnectionsConfig
|
||||
mMenViewJumpToSessionsScreenshots.Text = Language.Base.Menu_SessionsScreenshots
|
||||
mMenViewJumpToErrorsInfos.Text = Language.Base.Menu_ErrorsInfos
|
||||
mMenViewQuickConnectToolbar.Text = Language.Base.Menu_QuickyToolbar
|
||||
mMenViewExtAppsToolbar.Text = Language.Base.Menu_ExternalApplicationsToolbar
|
||||
mMenViewFullscreen.Text = Language.Base.Menu_FullScreenKioskMode
|
||||
mMenTools.Text = Language.Base.Menu_Tools
|
||||
mMenToolsSSHTransfer.Text = Language.Base.Menu_SSHFileTransfer
|
||||
mMenToolsExternalApps.Text = Language.Base.Menu_ExternalApplications
|
||||
mMenToolsPortScan.Text = Language.Base.Menu_PortScan
|
||||
mMenToolsUpdate.Text = Language.Base.Menu_Update
|
||||
mMenToolsOptions.Text = Language.Base.Menu_Options
|
||||
mMenInfo.Text = Language.Base.Menu_Info
|
||||
mMenInfoHelp.Text = Language.Base.Menu_Help
|
||||
mMenInfoBugReport.Text = Language.Base.Menu_BugReport
|
||||
mMenInfoDonate.Text = Language.Base.Menu_Donate
|
||||
mMenInfoWebsite.Text = Language.Base.Menu_Website
|
||||
mMenInfoAbout.Text = Language.Base.Menu_About
|
||||
lblQuickConnect.Text = Language.Base.Toolbar_Quicky
|
||||
btnQuickyPlay.Text = Language.Base.Toolbar_Play
|
||||
mMenQuickyCon.Text = Language.Base.Menu_Connections
|
||||
cMenToolbarShowText.Text = Language.Base.Toolbar_ShowText
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
||||
If My.Settings.ConfirmExit And wL.Count > 0 Then
|
||||
If MsgBox(Language.Base.UnclosedConnectionPanels, MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.No Then
|
||||
e.Cancel = True
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
App.Runtime.Shutdown.BeforeQuit()
|
||||
|
||||
Debug.Print("[END] - " & Now)
|
||||
End
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Private tmrRuns As Integer = 0
|
||||
Private Sub tmrShowUpdate_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrShowUpdate.Tick
|
||||
If tmrRuns = 5 Then
|
||||
Me.tmrShowUpdate.Enabled = False
|
||||
End If
|
||||
|
||||
If App.Runtime.IsUpdateAvailable Then
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Update)
|
||||
Me.tmrShowUpdate.Enabled = False
|
||||
End If
|
||||
|
||||
tmrRuns += 1
|
||||
End Sub
|
||||
|
||||
Private Sub tmrAutoSave_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrAutoSave.Tick
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Doing AutoSave", True)
|
||||
App.Runtime.SaveConnections()
|
||||
End Sub
|
||||
|
||||
|
||||
#Region "Ext Apps Toolbar"
|
||||
Private Sub cMenToolbarShowText_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenToolbarShowText.Click
|
||||
SwitchToolbarText(Not cMenToolbarShowText.Checked)
|
||||
End Sub
|
||||
|
||||
Public Sub AddExtAppsToToolbar()
|
||||
Try
|
||||
'clean up
|
||||
tsExtAppsToolbar.Items.Clear()
|
||||
|
||||
'add ext apps
|
||||
For Each extA As Tools.ExternalApp In ExtApps
|
||||
Dim nItem As New ToolStripButton
|
||||
nItem.Text = extA.DisplayName
|
||||
nItem.Image = extA.Image
|
||||
|
||||
If cMenToolbarShowText.Checked = True Then
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
Else
|
||||
If nItem.Image IsNot Nothing Then
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.Image
|
||||
Else
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
End If
|
||||
End If
|
||||
|
||||
nItem.Tag = extA
|
||||
|
||||
AddHandler nItem.Click, AddressOf tsExtAppEntry_Click
|
||||
|
||||
tsExtAppsToolbar.Items.Add(nItem)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddExtAppsToToolbar failed (frmMain)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub tsExtAppEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
Dim extA As Tools.ExternalApp = sender.Tag
|
||||
|
||||
If Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Connection Then
|
||||
extA.Start(Tree.Node.SelectedNode.Tag)
|
||||
Else
|
||||
extA.Start()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub SwitchToolbarText(ByVal Show As Boolean)
|
||||
For Each tItem As ToolStripButton In tsExtAppsToolbar.Items
|
||||
If Show = True Then
|
||||
tItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
Else
|
||||
If tItem.Image IsNot Nothing Then
|
||||
tItem.DisplayStyle = ToolStripItemDisplayStyle.Image
|
||||
Else
|
||||
tItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
cMenToolbarShowText.Checked = Show
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Menu"
|
||||
#Region "File"
|
||||
Private Sub mMenFileNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileNew.Click
|
||||
NewConnections()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileLoad.Click
|
||||
If App.Runtime.ConnectionsFileLoaded Then
|
||||
Select Case MsgBox(Language.Base.SaveConnectionsFileBeforeOpeningAnother, MsgBoxStyle.YesNoCancel Or MsgBoxStyle.Question)
|
||||
Case MsgBoxResult.Yes
|
||||
App.Runtime.SaveConnections()
|
||||
Case MsgBoxResult.Cancel
|
||||
Exit Sub
|
||||
End Select
|
||||
End If
|
||||
|
||||
LoadConnections(True)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileSave.Click
|
||||
SaveConnections()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileSaveAs.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.SaveAs)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileExit.Click
|
||||
App.Runtime.Shutdown.Quit()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "View"
|
||||
Private Sub mMenView_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles mMenView.DropDownOpening
|
||||
Me.mMenViewConnections.Checked = Not Windows.treeForm.IsHidden
|
||||
Me.mMenViewConfig.Checked = Not Windows.configForm.IsHidden
|
||||
Me.mMenViewErrorsAndInfos.Checked = Not Windows.errorsForm.IsHidden
|
||||
Me.mMenViewSessions.Checked = Not Windows.sessionsForm.IsHidden
|
||||
Me.mMenViewScreenshotManager.Checked = Not Windows.screenshotForm.IsHidden
|
||||
|
||||
Me.mMenViewExtAppsToolbar.Checked = tsExtAppsToolbar.Visible
|
||||
Me.mMenViewQuickConnectToolbar.Checked = tsQuickConnect.Visible
|
||||
|
||||
Me.mMenViewConnectionPanels.DropDownItems.Clear()
|
||||
|
||||
For i As Integer = 0 To wL.Count - 1
|
||||
Dim tItem As New ToolStripMenuItem(wL(i).Text, wL(i).Icon.ToBitmap, AddressOf ConnectionPanelMenuItem_Click)
|
||||
tItem.Tag = wL(i)
|
||||
|
||||
Me.mMenViewConnectionPanels.DropDownItems.Add(tItem)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub ConnectionPanelMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
TryCast(sender.Tag, UI.Window.Base).Show(Me.pnlDock)
|
||||
TryCast(sender.Tag, UI.Window.Base).Focus()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewSessions_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mMenViewSessions.Click
|
||||
If Me.mMenViewSessions.Checked = False Then
|
||||
Windows.sessionsPanel.Show(Me.pnlDock)
|
||||
Me.mMenViewSessions.Checked = True
|
||||
Else
|
||||
Windows.sessionsPanel.Hide()
|
||||
Me.mMenViewSessions.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewConnections_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewConnections.Click
|
||||
If Me.mMenViewConnections.Checked = False Then
|
||||
Windows.treePanel.Show(Me.pnlDock)
|
||||
Me.mMenViewConnections.Checked = True
|
||||
Else
|
||||
Windows.treePanel.Hide()
|
||||
Me.mMenViewConnections.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewConfig_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewConfig.Click
|
||||
If Me.mMenViewConfig.Checked = False Then
|
||||
Windows.configPanel.Show(Me.pnlDock)
|
||||
Me.mMenViewConfig.Checked = True
|
||||
Else
|
||||
Windows.configPanel.Hide()
|
||||
Me.mMenViewConfig.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewErrorsAndInfos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewErrorsAndInfos.Click
|
||||
If Me.mMenViewErrorsAndInfos.Checked = False Then
|
||||
Windows.errorsPanel.Show(Me.pnlDock)
|
||||
Me.mMenViewErrorsAndInfos.Checked = True
|
||||
Else
|
||||
Windows.errorsPanel.Hide()
|
||||
Me.mMenViewErrorsAndInfos.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewScreenshotManager_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewScreenshotManager.Click
|
||||
If Me.mMenViewScreenshotManager.Checked = False Then
|
||||
Windows.screenshotPanel.Show(Me.pnlDock)
|
||||
Me.mMenViewScreenshotManager.Checked = True
|
||||
Else
|
||||
Windows.screenshotPanel.Hide()
|
||||
Me.mMenViewScreenshotManager.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewJumpToConnectionsConfig_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mMenViewJumpToConnectionsConfig.Click
|
||||
If pnlDock.ActiveContent Is Windows.treePanel Then
|
||||
Windows.configForm.Activate()
|
||||
Else
|
||||
Windows.treeForm.Activate()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewJumpToSessionsScreenshots_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mMenViewJumpToSessionsScreenshots.Click
|
||||
If pnlDock.ActiveContent Is Windows.sessionsPanel Then
|
||||
Windows.screenshotForm.Activate()
|
||||
Else
|
||||
Windows.sessionsForm.Activate()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewJumpToErrorsInfos_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mMenViewJumpToErrorsInfos.Click
|
||||
Windows.errorsForm.Activate()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewAddConnectionPanel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewAddConnectionPanel.Click
|
||||
AddPanel()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewExtAppsToolbar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewExtAppsToolbar.Click
|
||||
If mMenViewExtAppsToolbar.Checked = False Then
|
||||
tsExtAppsToolbar.Visible = True
|
||||
mMenViewExtAppsToolbar.Checked = True
|
||||
Else
|
||||
tsExtAppsToolbar.Visible = False
|
||||
mMenViewExtAppsToolbar.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewQuickConnectToolbar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewQuickConnectToolbar.Click
|
||||
If mMenViewQuickConnectToolbar.Checked = False Then
|
||||
tsQuickConnect.Visible = True
|
||||
mMenViewQuickConnectToolbar.Checked = True
|
||||
Else
|
||||
tsQuickConnect.Visible = False
|
||||
mMenViewQuickConnectToolbar.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewFullscreen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewFullscreen.Click
|
||||
If Tools.Misc.Fullscreen.FullscreenActive Then
|
||||
Tools.Misc.Fullscreen.ExitFullscreen()
|
||||
Me.mMenViewFullscreen.Checked = False
|
||||
Else
|
||||
Tools.Misc.Fullscreen.EnterFullscreen()
|
||||
Me.mMenViewFullscreen.Checked = True
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Tools"
|
||||
Private Sub mMenToolsUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenToolsUpdate.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Update)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenToolsSSHTransfer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenToolsSSHTransfer.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.SSHTransfer)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenToolsExternalApps_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenToolsExternalApps.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.ExternalApps)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenToolsPortScan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenToolsPortScan.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.PortScan, Tools.PortScan.PortScanMode.Normal)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenToolsUltraVNCSC_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenToolsUltraVNCSC.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.UltraVNCSC)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenToolsOptions_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenToolsOptions.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Options)
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Quick Connect"
|
||||
Private Sub btnQuickyPlay_ButtonClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnQuickyPlay.ButtonClick
|
||||
CreateQuicky(QuickyText)
|
||||
End Sub
|
||||
|
||||
Private Sub btnQuickyPlay_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnQuickyPlay.DropDownOpening
|
||||
CreateQuickyButtons()
|
||||
End Sub
|
||||
|
||||
Private Sub CreateQuickyButtons()
|
||||
Try
|
||||
btnQuickyPlay.DropDownItems.Clear()
|
||||
|
||||
For Each fI As FieldInfo In GetType(mRemote.Connection.Protocol.Protocols).GetFields
|
||||
If fI.Name <> "value__" And fI.Name <> "NONE" Then
|
||||
Dim nBtn As New ToolStripMenuItem
|
||||
nBtn.Text = fI.Name
|
||||
btnQuickyPlay.DropDownItems.Add(nBtn)
|
||||
AddHandler nBtn.Click, AddressOf QuickyProtocolButton_Click
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CreateButtons (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub QuickyProtocolButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Try
|
||||
Dim conI As Connection.Info = CreateQuicky(QuickyText, Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.Protocols), sender.Text))
|
||||
|
||||
If conI.Port = 0 Then
|
||||
conI.SetDefaultPort()
|
||||
|
||||
If mRemote.Connection.QuickConnect.History.Exists(conI.Hostname) = False Then
|
||||
mRemote.Connection.QuickConnect.History.Add(conI.Hostname)
|
||||
End If
|
||||
Else
|
||||
If mRemote.Connection.QuickConnect.History.Exists(conI.Hostname) = False Then
|
||||
mRemote.Connection.QuickConnect.History.Add(conI.Hostname & ":" & conI.Port)
|
||||
End If
|
||||
End If
|
||||
|
||||
App.Runtime.OpenConnection(conI, mRemote.Connection.Info.Force.DoNotJump)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "QuickyProtocolButton_Click (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub cmbQuickConnect_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cmbQuickConnect.KeyDown
|
||||
If e.KeyCode = Keys.Enter Then
|
||||
CreateQuicky(QuickyText)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub lblQuickConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblQuickConnect.Click
|
||||
Me.cmbQuickConnect.Focus()
|
||||
End Sub
|
||||
|
||||
Private Function QuickyText() As String
|
||||
Dim txt As String
|
||||
|
||||
txt = cmbQuickConnect.Text
|
||||
|
||||
If txt.StartsWith(" ") Or txt.EndsWith(" ") Then
|
||||
txt = txt.Replace(" ", "")
|
||||
cmbQuickConnect.Text = txt
|
||||
End If
|
||||
|
||||
Return txt
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "Info"
|
||||
Private Sub mMenInfoHelp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoHelp.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Help)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenInfoBugReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoBugReport.Click
|
||||
App.Runtime.GoToBugs()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenInfoWebsite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoWebsite.Click
|
||||
App.Runtime.GoToWebsite()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenInfoDonate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoDonate.Click
|
||||
App.Runtime.GoToDonate()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenInfoAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoAbout.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.About)
|
||||
End Sub
|
||||
#End Region
|
||||
#End Region
|
||||
|
||||
#Region "Connections DropDown"
|
||||
Private Sub mMenQuickyCon_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles mMenQuickyCon.DropDownOpening
|
||||
mMenQuickyCon.DropDownItems.Clear()
|
||||
|
||||
For Each tNode As TreeNode In App.Runtime.Windows.treeForm.tvConnections.Nodes
|
||||
AddNodeToMenu(tNode.Nodes, mMenQuickyCon)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub AddNodeToMenu(ByVal tnc As TreeNodeCollection, ByVal menToolStrip As ToolStripMenuItem)
|
||||
Try
|
||||
For Each tNode As TreeNode In tnc
|
||||
Dim tMenItem As New ToolStripMenuItem()
|
||||
tMenItem.Text = tNode.Text
|
||||
tMenItem.Tag = tNode
|
||||
|
||||
If Tree.Node.GetNodeType(tNode) = Tree.Node.Type.Container Then
|
||||
tMenItem.Image = My.Resources.Folder
|
||||
tMenItem.Tag = tNode.Tag
|
||||
|
||||
menToolStrip.DropDownItems.Add(tMenItem)
|
||||
AddNodeToMenu(tNode.Nodes, tMenItem)
|
||||
ElseIf Tree.Node.GetNodeType(tNode) = Tree.Node.Type.Connection Then
|
||||
tMenItem.Image = Windows.treeForm.imgListTree.Images(tNode.ImageIndex)
|
||||
tMenItem.Tag = tNode.Tag
|
||||
|
||||
menToolStrip.DropDownItems.Add(tMenItem)
|
||||
End If
|
||||
|
||||
AddHandler tMenItem.MouseDown, AddressOf ConMenItem_MouseDown
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodeToMenu failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub ConMenItem_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left Then
|
||||
If TypeOf sender.Tag Is mRemote.Connection.Info Then
|
||||
App.Runtime.OpenConnection(sender.Tag)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Private Sub frmMain_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
|
||||
If Me.WindowState = FormWindowState.Minimized Then
|
||||
If My.Settings.MinimizeToTray Then
|
||||
If App.Runtime.SysTrayIcon Is Nothing Then
|
||||
App.Runtime.SysTrayIcon = New Tools.Controls.SysTrayIcon()
|
||||
End If
|
||||
Me.Hide()
|
||||
End If
|
||||
Else
|
||||
prevWindowsState = Me.WindowState
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region "Window Overrides"
|
||||
Private Msg13 As Boolean = False
|
||||
Private Msg71 As Boolean = False
|
||||
|
||||
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
|
||||
Try
|
||||
'Debug.Print(WndMsg.Msg)
|
||||
|
||||
If m.Msg = 13 Then
|
||||
Msg13 = True
|
||||
ElseIf m.Msg = 71 Then
|
||||
If Msg13 Then
|
||||
ActivateConnection()
|
||||
End If
|
||||
|
||||
Msg13 = False
|
||||
Msg71 = True
|
||||
ElseIf m.Msg = 28 Then
|
||||
If Msg71 Then
|
||||
ActivateConnection()
|
||||
End If
|
||||
Else
|
||||
Msg13 = False
|
||||
Msg71 = False
|
||||
End If
|
||||
|
||||
If m.Msg = Tools.SystemMenu.Flags.WM_SYSCOMMAND Then
|
||||
For i As Integer = 0 To SysMenSubItems.Length - 1
|
||||
If SysMenSubItems(i) = m.WParam Then
|
||||
Screens.SendFormToScreen(Screen.AllScreens(i))
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
|
||||
MyBase.WndProc(m)
|
||||
End Sub
|
||||
|
||||
Private Sub ActivateConnection()
|
||||
If TypeOf pnlDock.ActiveDocument Is UI.Window.Connection Then
|
||||
Dim cW As UI.Window.Connection = pnlDock.ActiveDocument
|
||||
If cW.TabController.SelectedTab IsNot Nothing Then
|
||||
Dim tab As Magic.Controls.TabPage = cW.TabController.SelectedTab
|
||||
TryCast(tab.Tag, Connection.InterfaceControl).Protocol.Focus()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Screen Stuff"
|
||||
Private Sub DisplayChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
ResetSysMenuItems()
|
||||
AddSysMenuItems()
|
||||
End Sub
|
||||
|
||||
Private SysMenSubItems(50) As Integer
|
||||
Private Sub ResetSysMenuItems()
|
||||
SysMenu.Reset()
|
||||
End Sub
|
||||
|
||||
Private Sub AddSysMenuItems()
|
||||
SysMenu = New Tools.SystemMenu(Me.Handle)
|
||||
Dim popMen As IntPtr = SysMenu.CreatePopupMenuItem()
|
||||
|
||||
For i As Integer = 0 To Screen.AllScreens.Length - 1
|
||||
SysMenSubItems(i) = 200 + i
|
||||
SysMenu.AppendMenuItem(popMen, Tools.SystemMenu.Flags.MF_STRING, SysMenSubItems(i), Language.Base.Screen & " " & i + 1)
|
||||
Next
|
||||
|
||||
SysMenu.InsertMenuItem(SysMenu.SystemMenuHandle, 0, Tools.SystemMenu.Flags.MF_POPUP Or Tools.SystemMenu.Flags.MF_BYPOSITION, popMen, Language.Base.SendTo)
|
||||
SysMenu.InsertMenuItem(SysMenu.SystemMenuHandle, 1, Tools.SystemMenu.Flags.MF_BYPOSITION Or Tools.SystemMenu.Flags.MF_SEPARATOR, IntPtr.Zero, Nothing)
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
201
mRemoteV1/Forms/Backup/frmPassword.Designer.vb
generated
@@ -1,201 +0,0 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmPassword
|
||||
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.txtPassword = New System.Windows.Forms.TextBox
|
||||
Me.txtVerify = New System.Windows.Forms.TextBox
|
||||
Me.lblPassword = New System.Windows.Forms.Label
|
||||
Me.lblVerify = New System.Windows.Forms.Label
|
||||
Me.btnOK = New System.Windows.Forms.Button
|
||||
Me.btnCancel = New System.Windows.Forms.Button
|
||||
Me.lblStatus = New System.Windows.Forms.Label
|
||||
Me.pbLock = New System.Windows.Forms.PictureBox
|
||||
Me.pnlImage = New System.Windows.Forms.Panel
|
||||
Me.txtSnake = New System.Windows.Forms.TextBox
|
||||
Me.lblTips = New System.Windows.Forms.Label
|
||||
CType(Me.pbLock, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.pnlImage.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'txtPassword
|
||||
'
|
||||
Me.txtPassword.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.txtPassword.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.txtPassword.Location = New System.Drawing.Point(95, 22)
|
||||
Me.txtPassword.Name = "txtPassword"
|
||||
Me.txtPassword.Size = New System.Drawing.Size(184, 20)
|
||||
Me.txtPassword.TabIndex = 0
|
||||
Me.txtPassword.UseSystemPasswordChar = True
|
||||
'
|
||||
'txtVerify
|
||||
'
|
||||
Me.txtVerify.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.txtVerify.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.txtVerify.Location = New System.Drawing.Point(95, 61)
|
||||
Me.txtVerify.Name = "txtVerify"
|
||||
Me.txtVerify.Size = New System.Drawing.Size(184, 20)
|
||||
Me.txtVerify.TabIndex = 1
|
||||
Me.txtVerify.UseSystemPasswordChar = True
|
||||
'
|
||||
'lblPassword
|
||||
'
|
||||
Me.lblPassword.AutoSize = True
|
||||
Me.lblPassword.Location = New System.Drawing.Point(87, 6)
|
||||
Me.lblPassword.Name = "lblPassword"
|
||||
Me.lblPassword.Size = New System.Drawing.Size(56, 13)
|
||||
Me.lblPassword.TabIndex = 2
|
||||
Me.lblPassword.Text = Language.Base.Password
|
||||
'
|
||||
'lblVerify
|
||||
'
|
||||
Me.lblVerify.AutoSize = True
|
||||
Me.lblVerify.Location = New System.Drawing.Point(87, 45)
|
||||
Me.lblVerify.Name = "lblVerify"
|
||||
Me.lblVerify.Size = New System.Drawing.Size(36, 13)
|
||||
Me.lblVerify.TabIndex = 3
|
||||
Me.lblVerify.Text = Language.Base.Verify
|
||||
'
|
||||
'btnOK
|
||||
'
|
||||
Me.btnOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.btnOK.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnOK.Location = New System.Drawing.Point(210, 101)
|
||||
Me.btnOK.Name = "btnOK"
|
||||
Me.btnOK.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnOK.TabIndex = 4
|
||||
Me.btnOK.Text = Language.Base.Button_OK
|
||||
Me.btnOK.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnCancel
|
||||
'
|
||||
Me.btnCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnCancel.Location = New System.Drawing.Point(135, 101)
|
||||
Me.btnCancel.Name = "btnCancel"
|
||||
Me.btnCancel.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnCancel.TabIndex = 5
|
||||
Me.btnCancel.Text = Language.Base.Button_Cancel
|
||||
Me.btnCancel.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lblStatus
|
||||
'
|
||||
Me.lblStatus.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.lblStatus.ForeColor = System.Drawing.Color.OrangeRed
|
||||
Me.lblStatus.Location = New System.Drawing.Point(90, 84)
|
||||
Me.lblStatus.Name = "lblStatus"
|
||||
Me.lblStatus.Size = New System.Drawing.Size(189, 14)
|
||||
Me.lblStatus.TabIndex = 6
|
||||
Me.lblStatus.Text = Language.Base.Status
|
||||
Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.TopRight
|
||||
Me.lblStatus.Visible = False
|
||||
'
|
||||
'pbLock
|
||||
'
|
||||
Me.pbLock.Image = Global.mRemote.My.Resources.Resources.Lock
|
||||
Me.pbLock.Location = New System.Drawing.Point(7, 8)
|
||||
Me.pbLock.Name = "pbLock"
|
||||
Me.pbLock.Size = New System.Drawing.Size(64, 64)
|
||||
Me.pbLock.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize
|
||||
Me.pbLock.TabIndex = 7
|
||||
Me.pbLock.TabStop = False
|
||||
'
|
||||
'pnlImage
|
||||
'
|
||||
Me.pnlImage.Controls.Add(Me.pbLock)
|
||||
Me.pnlImage.Location = New System.Drawing.Point(9, 6)
|
||||
Me.pnlImage.Name = "pnlImage"
|
||||
Me.pnlImage.Size = New System.Drawing.Size(100, 100)
|
||||
Me.pnlImage.TabIndex = 8
|
||||
'
|
||||
'txtSnake
|
||||
'
|
||||
Me.txtSnake.BackColor = System.Drawing.SystemColors.Control
|
||||
Me.txtSnake.BorderStyle = System.Windows.Forms.BorderStyle.None
|
||||
Me.txtSnake.Location = New System.Drawing.Point(9, 143)
|
||||
Me.txtSnake.Name = "txtSnake"
|
||||
Me.txtSnake.ReadOnly = True
|
||||
Me.txtSnake.Size = New System.Drawing.Size(100, 13)
|
||||
Me.txtSnake.TabIndex = 9
|
||||
Me.txtSnake.TabStop = False
|
||||
'
|
||||
'lblTips
|
||||
'
|
||||
Me.lblTips.ForeColor = System.Drawing.Color.White
|
||||
Me.lblTips.Location = New System.Drawing.Point(129, 6)
|
||||
Me.lblTips.Name = "lblTips"
|
||||
Me.lblTips.Size = New System.Drawing.Size(150, 118)
|
||||
Me.lblTips.TabIndex = 10
|
||||
Me.lblTips.Text = "Enter: Start/Pause" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Up/Down: Change difficulty" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Arrow Keys: Steer the snake" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Esc:" & _
|
||||
" Quit (at any time)" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Have Fun! =)"
|
||||
Me.lblTips.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
Me.lblTips.Visible = False
|
||||
'
|
||||
'frmPassword
|
||||
'
|
||||
Me.AcceptButton = Me.btnOK
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.CancelButton = Me.btnCancel
|
||||
Me.ClientSize = New System.Drawing.Size(289, 133)
|
||||
Me.ControlBox = False
|
||||
Me.Controls.Add(Me.txtVerify)
|
||||
Me.Controls.Add(Me.txtPassword)
|
||||
Me.Controls.Add(Me.lblStatus)
|
||||
Me.Controls.Add(Me.txtSnake)
|
||||
Me.Controls.Add(Me.lblVerify)
|
||||
Me.Controls.Add(Me.lblPassword)
|
||||
Me.Controls.Add(Me.pnlImage)
|
||||
Me.Controls.Add(Me.btnCancel)
|
||||
Me.Controls.Add(Me.btnOK)
|
||||
Me.Controls.Add(Me.lblTips)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "frmPassword"
|
||||
Me.ShowIcon = False
|
||||
Me.ShowInTaskbar = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = Language.Base.Security
|
||||
CType(Me.pbLock, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.pnlImage.ResumeLayout(False)
|
||||
Me.pnlImage.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
Friend WithEvents txtPassword As System.Windows.Forms.TextBox
|
||||
Friend WithEvents txtVerify As System.Windows.Forms.TextBox
|
||||
Friend WithEvents lblPassword As System.Windows.Forms.Label
|
||||
Friend WithEvents lblVerify As System.Windows.Forms.Label
|
||||
Friend WithEvents btnOK As System.Windows.Forms.Button
|
||||
Friend WithEvents btnCancel As System.Windows.Forms.Button
|
||||
Friend WithEvents lblStatus As System.Windows.Forms.Label
|
||||
Friend WithEvents pbLock As System.Windows.Forms.PictureBox
|
||||
Friend WithEvents pnlImage As System.Windows.Forms.Panel
|
||||
Friend WithEvents txtSnake As System.Windows.Forms.TextBox
|
||||
Friend WithEvents lblTips As System.Windows.Forms.Label
|
||||
End Class
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
</root>
|
||||
@@ -1,128 +0,0 @@
|
||||
Public Class frmPassword
|
||||
Public ReadOnly Property Username() As String
|
||||
Get
|
||||
Return txtPassword.Text
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Password() As String
|
||||
Get
|
||||
If _Verify = True Then
|
||||
Return txtVerify.Text
|
||||
Else
|
||||
Return txtPassword.Text
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _Verify As Boolean = True
|
||||
Public Property Verify() As Boolean
|
||||
Get
|
||||
Return _Verify
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
_Verify = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _UserAndPass As Boolean = False
|
||||
|
||||
|
||||
|
||||
Public Sub New(Optional ByVal UserAndPass As Boolean = False, Optional ByVal Title As String = "Security")
|
||||
' This call is required by the Windows Form Designer.
|
||||
InitializeComponent()
|
||||
|
||||
' Add any initialization after the InitializeComponent() call.
|
||||
Me.Text = Title
|
||||
|
||||
If UserAndPass = True Then
|
||||
_UserAndPass = True
|
||||
lblPassword.Text = "Username:"
|
||||
lblVerify.Text = "Password:"
|
||||
txtPassword.UseSystemPasswordChar = False
|
||||
txtVerify.UseSystemPasswordChar = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
|
||||
Me.DialogResult = Windows.Forms.DialogResult.Cancel
|
||||
End Sub
|
||||
|
||||
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
|
||||
If Verify = True And _UserAndPass = False Then
|
||||
If VerifyOK() Then
|
||||
Me.DialogResult = Windows.Forms.DialogResult.OK
|
||||
End If
|
||||
Else
|
||||
Me.DialogResult = Windows.Forms.DialogResult.OK
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function VerifyOK() As Boolean
|
||||
If txtPassword.Text.Length >= 3 Then
|
||||
If txtPassword.Text = txtVerify.Text Then
|
||||
Return True
|
||||
Else
|
||||
lblStatus.Visible = True
|
||||
lblStatus.Text = "Passwords don't match!"
|
||||
Return False
|
||||
End If
|
||||
Else
|
||||
lblStatus.Visible = True
|
||||
lblStatus.Text = "3 characters is minimum!"
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub frmPassword_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
If Verify = False Then
|
||||
Me.Height = 124
|
||||
Me.lblVerify.Visible = False
|
||||
Me.txtVerify.Visible = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub txtPassword_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPassword.GotFocus
|
||||
If Me.txtPassword.TextLength > 0 Then
|
||||
Me.txtPassword.SelectionStart = 0
|
||||
Me.txtPassword.SelectionLength = Me.txtPassword.TextLength
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub txtVerify_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtVerify.GotFocus
|
||||
If Me.txtVerify.TextLength > 0 Then
|
||||
Me.txtVerify.SelectionStart = 0
|
||||
Me.txtVerify.SelectionLength = Me.txtVerify.TextLength
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub txtPassword_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPassword.TextChanged
|
||||
If txtPassword.Text = "ijustwannaplay" Then
|
||||
pbLock.Visible = False
|
||||
btnOK.Visible = False
|
||||
btnCancel.Visible = False
|
||||
txtPassword.Visible = False
|
||||
txtVerify.Visible = False
|
||||
lblPassword.Visible = False
|
||||
lblStatus.Visible = False
|
||||
lblVerify.Visible = False
|
||||
AcceptButton = Nothing
|
||||
CancelButton = Nothing
|
||||
BackColor = Color.DimGray
|
||||
Me.Text = "SnakeFX Lite"
|
||||
pnlImage.Top = (Me.ClientSize.Height / 2) - (Me.pnlImage.Height / 2)
|
||||
lblTips.Visible = True
|
||||
|
||||
Easter.Snake.Game.CreatePicBox(pnlImage)
|
||||
Easter.Snake.Game.Mode = Easter.Snake.Game.GameMode.Welcome
|
||||
Easter.Snake.Game.SetupGame()
|
||||
txtSnake.Focus()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub txtSnake_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtSnake.KeyDown
|
||||
Easter.Snake.Game.CheckKeyPress(e)
|
||||
End Sub
|
||||
End Class
|
||||
14
mRemoteV1/Forms/frmChoosePanel.Designer.vb
generated
@@ -46,7 +46,7 @@ Partial Class frmChoosePanel
|
||||
Me.btnOK.Name = "btnOK"
|
||||
Me.btnOK.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnOK.TabIndex = 20
|
||||
Me.btnOK.Text = Language.Base.Button_OK
|
||||
Me.btnOK.Text = My.Language.strButtonOK
|
||||
Me.btnOK.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lblDescription
|
||||
@@ -55,18 +55,18 @@ Partial Class frmChoosePanel
|
||||
Me.lblDescription.Name = "lblDescription"
|
||||
Me.lblDescription.Size = New System.Drawing.Size(229, 29)
|
||||
Me.lblDescription.TabIndex = 0
|
||||
Me.lblDescription.Text = Language.Base.SelectAPanel
|
||||
Me.lblDescription.Text = My.Language.strLabelSelectPanel
|
||||
'
|
||||
'btnNew
|
||||
'
|
||||
Me.btnNew.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnNew.Image = Global.mRemote.My.Resources.Resources.Panel_Add
|
||||
Me.btnNew.Image = Global.mRemoteNG.My.Resources.Resources.Panel_Add
|
||||
Me.btnNew.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
Me.btnNew.Location = New System.Drawing.Point(10, 44)
|
||||
Me.btnNew.Name = "btnNew"
|
||||
Me.btnNew.Size = New System.Drawing.Size(57, 23)
|
||||
Me.btnNew.TabIndex = 40
|
||||
Me.btnNew.Text = Language.Base.Button_New
|
||||
Me.btnNew.Text = My.Language.strButtonNew
|
||||
Me.btnNew.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
Me.btnNew.UseVisualStyleBackColor = True
|
||||
'
|
||||
@@ -78,7 +78,7 @@ Partial Class frmChoosePanel
|
||||
Me.btnCancel.Name = "btnCancel"
|
||||
Me.btnCancel.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnCancel.TabIndex = 30
|
||||
Me.btnCancel.Text = Language.Base.Button_Cancel
|
||||
Me.btnCancel.Text = My.Language.strButtonCancel
|
||||
Me.btnCancel.UseVisualStyleBackColor = True
|
||||
'
|
||||
'frmChoosePanel
|
||||
@@ -94,13 +94,13 @@ Partial Class frmChoosePanel
|
||||
Me.Controls.Add(Me.btnOK)
|
||||
Me.Controls.Add(Me.cbPanels)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
|
||||
Me.Icon = Global.mRemote.My.Resources.Resources.Panels_Icon
|
||||
Me.Icon = Global.mRemoteNG.My.Resources.Resources.Panels_Icon
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "frmChoosePanel"
|
||||
Me.ShowInTaskbar = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = Language.Base.SelectPanel
|
||||
Me.Text = My.Language.strTitleSelectPanel
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
|
||||
Public Class frmChoosePanel
|
||||
Public Property Panel() As String
|
||||
@@ -17,18 +17,18 @@ Public Class frmChoosePanel
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
btnOK.Text = Language.Base.Button_OK
|
||||
lblDescription.Text = Language.Base.SelectAPanel
|
||||
btnNew.Text = Language.Base.Button_New
|
||||
btnCancel.Text = Language.Base.Button_Cancel
|
||||
Text = Language.Base.SelectPanel
|
||||
btnOK.Text = My.Language.strButtonOK
|
||||
lblDescription.Text = My.Language.strLabelSelectPanel
|
||||
btnNew.Text = My.Language.strButtonNew
|
||||
btnCancel.Text = My.Language.strButtonCancel
|
||||
Text = My.Language.strTitleSelectPanel
|
||||
End Sub
|
||||
|
||||
Private Sub AddAvailablePanels()
|
||||
cbPanels.Items.Clear()
|
||||
|
||||
For i As Integer = 0 To wL.Count - 1
|
||||
cbPanels.Items.Add(wL(i).Text.Replace("&&", "&"))
|
||||
For i As Integer = 0 To WindowList.Count - 1
|
||||
cbPanels.Items.Add(WindowList(i).Text.Replace("&&", "&"))
|
||||
Next
|
||||
|
||||
If cbPanels.Items.Count > 0 Then
|
||||
@@ -42,7 +42,7 @@ Public Class frmChoosePanel
|
||||
End Sub
|
||||
|
||||
Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
|
||||
Dim pnlName As String = InputBox(Language.Base.PanelName & ":", Language.Base.NewPanel, Language.Base.NewPanel)
|
||||
Dim pnlName As String = InputBox(My.Language.strPanelName & ":", My.Language.strNewPanel, My.Language.strNewPanel)
|
||||
|
||||
If pnlName <> "" Then
|
||||
AddPanel(pnlName)
|
||||
|
||||
622
mRemoteV1/Forms/frmMain.Designer.vb
generated
@@ -23,16 +23,45 @@ Partial Class frmMain
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container
|
||||
Dim DockPanelSkin1 As WeifenLuo.WinFormsUI.Docking.DockPanelSkin = New WeifenLuo.WinFormsUI.Docking.DockPanelSkin
|
||||
Dim AutoHideStripSkin1 As WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin = New WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin
|
||||
Dim DockPanelGradient1 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
|
||||
Dim TabGradient1 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim DockPaneStripSkin1 As WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin = New WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin
|
||||
Dim DockPaneStripGradient1 As WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient = New WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient
|
||||
Dim TabGradient2 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim DockPanelGradient2 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
|
||||
Dim TabGradient3 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim DockPaneStripToolWindowGradient1 As WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient = New WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient
|
||||
Dim TabGradient4 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim TabGradient5 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim DockPanelGradient3 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
|
||||
Dim TabGradient6 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim TabGradient7 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
|
||||
Me.pnlDock = New WeifenLuo.WinFormsUI.Docking.DockPanel
|
||||
Me.msMain = New System.Windows.Forms.MenuStrip
|
||||
Me.mMenFile = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileNewConnection = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileNewFolder = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileNew = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileLoad = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileSave = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSaveAs = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileImportExport = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ImportFromXMLFileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ImportFromRDPFileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ImportFromActiveDirectoryToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ImportFromPortScanToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.ExportToXMLFileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep3 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileDelete = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileRename = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileDuplicate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep4 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileExit = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenView = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewAddConnectionPanel = New System.Windows.Forms.ToolStripMenuItem
|
||||
@@ -48,6 +77,7 @@ Partial Class frmMain
|
||||
Me.mMenViewJumpToConnectionsConfig = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewJumpToSessionsScreenshots = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewJumpToErrorsInfos = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewResetLayout = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewQuickConnectToolbar = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewExtAppsToolbar = New System.Windows.Forms.ToolStripMenuItem
|
||||
@@ -59,157 +89,301 @@ Partial Class frmMain
|
||||
Me.mMenToolsExternalApps = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsPortScan = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenToolsUpdate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsComponentsCheck = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsOptions = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfo = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoHelp = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenInfoDonate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoWebsite = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfovRD08 = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoDonate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoForum = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoBugReport = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenInfoAnnouncements = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsUpdate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenInfoAnnouncments = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoAbout = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenSep3 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.lblQuickConnect = New System.Windows.Forms.ToolStripLabel
|
||||
Me.cmbQuickConnect = New System.Windows.Forms.ToolStripComboBox
|
||||
Me.tsContainer = New System.Windows.Forms.ToolStripContainer
|
||||
Me.tsExternalTools = New System.Windows.Forms.ToolStrip
|
||||
Me.cMenExtAppsToolbar = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.cMenToolbarShowText = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.tsQuickConnect = New System.Windows.Forms.ToolStrip
|
||||
Me.btnQuickyPlay = New System.Windows.Forms.ToolStripSplitButton
|
||||
Me.mMenQuickyCon = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.tsExtAppsToolbar = New System.Windows.Forms.ToolStrip
|
||||
Me.cMenExtAppsToolbar = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.cMenToolbarShowText = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip
|
||||
Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton
|
||||
Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton
|
||||
Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton
|
||||
Me.ToolStripSplitButton1 = New System.Windows.Forms.ToolStripDropDownButton
|
||||
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.tmrShowUpdate = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.tmrAutoSave = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.msMain.SuspendLayout()
|
||||
Me.tsContainer.ContentPanel.SuspendLayout()
|
||||
Me.tsContainer.TopToolStripPanel.SuspendLayout()
|
||||
Me.tsContainer.SuspendLayout()
|
||||
Me.tsQuickConnect.SuspendLayout()
|
||||
Me.cMenExtAppsToolbar.SuspendLayout()
|
||||
Me.tsQuickConnect.SuspendLayout()
|
||||
Me.ToolStrip1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'pnlDock
|
||||
'
|
||||
Me.pnlDock.ActiveAutoHideContent = Nothing
|
||||
Me.pnlDock.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.pnlDock.DockBackColor = System.Drawing.SystemColors.Control
|
||||
Me.pnlDock.DockLeftPortion = 230
|
||||
Me.pnlDock.DockRightPortion = 230
|
||||
Me.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow
|
||||
Me.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingSdi
|
||||
Me.pnlDock.Location = New System.Drawing.Point(0, 0)
|
||||
Me.pnlDock.Name = "pnlDock"
|
||||
Me.pnlDock.Size = New System.Drawing.Size(842, 499)
|
||||
Me.pnlDock.Size = New System.Drawing.Size(842, 424)
|
||||
DockPanelGradient1.EndColor = System.Drawing.SystemColors.ControlLight
|
||||
DockPanelGradient1.StartColor = System.Drawing.SystemColors.ControlLight
|
||||
AutoHideStripSkin1.DockStripGradient = DockPanelGradient1
|
||||
TabGradient1.EndColor = System.Drawing.SystemColors.Control
|
||||
TabGradient1.StartColor = System.Drawing.SystemColors.Control
|
||||
TabGradient1.TextColor = System.Drawing.SystemColors.ControlDarkDark
|
||||
AutoHideStripSkin1.TabGradient = TabGradient1
|
||||
DockPanelSkin1.AutoHideStripSkin = AutoHideStripSkin1
|
||||
TabGradient2.EndColor = System.Drawing.SystemColors.ControlLightLight
|
||||
TabGradient2.StartColor = System.Drawing.SystemColors.ControlLightLight
|
||||
TabGradient2.TextColor = System.Drawing.SystemColors.ControlText
|
||||
DockPaneStripGradient1.ActiveTabGradient = TabGradient2
|
||||
DockPanelGradient2.EndColor = System.Drawing.SystemColors.Control
|
||||
DockPanelGradient2.StartColor = System.Drawing.SystemColors.Control
|
||||
DockPaneStripGradient1.DockStripGradient = DockPanelGradient2
|
||||
TabGradient3.EndColor = System.Drawing.SystemColors.ControlLight
|
||||
TabGradient3.StartColor = System.Drawing.SystemColors.ControlLight
|
||||
TabGradient3.TextColor = System.Drawing.SystemColors.ControlText
|
||||
DockPaneStripGradient1.InactiveTabGradient = TabGradient3
|
||||
DockPaneStripSkin1.DocumentGradient = DockPaneStripGradient1
|
||||
TabGradient4.EndColor = System.Drawing.SystemColors.ActiveCaption
|
||||
TabGradient4.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical
|
||||
TabGradient4.StartColor = System.Drawing.SystemColors.GradientActiveCaption
|
||||
TabGradient4.TextColor = System.Drawing.SystemColors.ActiveCaptionText
|
||||
DockPaneStripToolWindowGradient1.ActiveCaptionGradient = TabGradient4
|
||||
TabGradient5.EndColor = System.Drawing.SystemColors.Control
|
||||
TabGradient5.StartColor = System.Drawing.SystemColors.Control
|
||||
TabGradient5.TextColor = System.Drawing.SystemColors.ControlText
|
||||
DockPaneStripToolWindowGradient1.ActiveTabGradient = TabGradient5
|
||||
DockPanelGradient3.EndColor = System.Drawing.SystemColors.ControlLight
|
||||
DockPanelGradient3.StartColor = System.Drawing.SystemColors.ControlLight
|
||||
DockPaneStripToolWindowGradient1.DockStripGradient = DockPanelGradient3
|
||||
TabGradient6.EndColor = System.Drawing.SystemColors.GradientInactiveCaption
|
||||
TabGradient6.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical
|
||||
TabGradient6.StartColor = System.Drawing.SystemColors.GradientInactiveCaption
|
||||
TabGradient6.TextColor = System.Drawing.SystemColors.ControlText
|
||||
DockPaneStripToolWindowGradient1.InactiveCaptionGradient = TabGradient6
|
||||
TabGradient7.EndColor = System.Drawing.Color.Transparent
|
||||
TabGradient7.StartColor = System.Drawing.Color.Transparent
|
||||
TabGradient7.TextColor = System.Drawing.SystemColors.ControlDarkDark
|
||||
DockPaneStripToolWindowGradient1.InactiveTabGradient = TabGradient7
|
||||
DockPaneStripSkin1.ToolWindowGradient = DockPaneStripToolWindowGradient1
|
||||
DockPanelSkin1.DockPaneStripSkin = DockPaneStripSkin1
|
||||
Me.pnlDock.Skin = DockPanelSkin1
|
||||
Me.pnlDock.TabIndex = 13
|
||||
'
|
||||
'msMain
|
||||
'
|
||||
Me.msMain.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.msMain.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.msMain.GripMargin = New System.Windows.Forms.Padding(2, 0, 0, 0)
|
||||
Me.msMain.GripMargin = New System.Windows.Forms.Padding(0)
|
||||
Me.msMain.GripStyle = System.Windows.Forms.ToolStripGripStyle.Visible
|
||||
Me.msMain.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFile, Me.mMenView, Me.mMenTools, Me.mMenInfo})
|
||||
Me.msMain.Location = New System.Drawing.Point(3, 0)
|
||||
Me.msMain.Name = "msMain"
|
||||
Me.msMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.msMain.Size = New System.Drawing.Size(323, 24)
|
||||
Me.msMain.Padding = New System.Windows.Forms.Padding(2, 2, 0, 2)
|
||||
Me.msMain.Size = New System.Drawing.Size(274, 24)
|
||||
Me.msMain.Stretch = False
|
||||
Me.msMain.TabIndex = 16
|
||||
Me.msMain.Text = "Main Toolbar"
|
||||
'
|
||||
'mMenFile
|
||||
'
|
||||
Me.mMenFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFileNew, Me.mMenFileLoad, Me.mMenFileSep1, Me.mMenFileSave, Me.mMenFileSaveAs, Me.mMenFileSep2, Me.mMenFileExit})
|
||||
Me.mMenFile.Image = CType(resources.GetObject("mMenFile.Image"), System.Drawing.Image)
|
||||
Me.mMenFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFileNewConnection, Me.mMenFileNewFolder, Me.mMenFileSep1, Me.mMenFileNew, Me.mMenFileLoad, Me.mMenFileSave, Me.mMenFileSaveAs, Me.mMenFileSep2, Me.mMenFileImportExport, Me.mMenFileSep3, Me.mMenFileDelete, Me.mMenFileRename, Me.mMenFileDuplicate, Me.mMenFileSep4, Me.mMenFileExit})
|
||||
Me.mMenFile.Name = "mMenFile"
|
||||
Me.mMenFile.Size = New System.Drawing.Size(51, 20)
|
||||
Me.mMenFile.Size = New System.Drawing.Size(37, 20)
|
||||
Me.mMenFile.Text = "&File"
|
||||
'
|
||||
'mMenFileNew
|
||||
'mMenFileNewConnection
|
||||
'
|
||||
Me.mMenFileNew.Image = Global.mRemote.My.Resources.Resources.Connections_New
|
||||
Me.mMenFileNew.Name = "mMenFileNew"
|
||||
Me.mMenFileNew.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.N), System.Windows.Forms.Keys)
|
||||
Me.mMenFileNew.Size = New System.Drawing.Size(238, 22)
|
||||
Me.mMenFileNew.Text = "New Connections"
|
||||
Me.mMenFileNewConnection.Image = Global.mRemoteNG.My.Resources.Resources.Connection_Add
|
||||
Me.mMenFileNewConnection.Name = "mMenFileNewConnection"
|
||||
Me.mMenFileNewConnection.ShortcutKeys = CType((System.Windows.Forms.Keys.Shift Or System.Windows.Forms.Keys.F4), System.Windows.Forms.Keys)
|
||||
Me.mMenFileNewConnection.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileNewConnection.Text = "New Connection"
|
||||
'
|
||||
'mMenFileLoad
|
||||
'mMenFileNewFolder
|
||||
'
|
||||
Me.mMenFileLoad.Image = Global.mRemote.My.Resources.Resources.Connections_Load
|
||||
Me.mMenFileLoad.Name = "mMenFileLoad"
|
||||
Me.mMenFileLoad.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.O), System.Windows.Forms.Keys)
|
||||
Me.mMenFileLoad.Size = New System.Drawing.Size(238, 22)
|
||||
Me.mMenFileLoad.Text = "Open Connections"
|
||||
Me.mMenFileNewFolder.Image = Global.mRemoteNG.My.Resources.Resources.Folder_Add
|
||||
Me.mMenFileNewFolder.Name = "mMenFileNewFolder"
|
||||
Me.mMenFileNewFolder.ShortcutKeys = System.Windows.Forms.Keys.F7
|
||||
Me.mMenFileNewFolder.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileNewFolder.Text = "New Folder"
|
||||
'
|
||||
'mMenFileSep1
|
||||
'
|
||||
Me.mMenFileSep1.Name = "mMenFileSep1"
|
||||
Me.mMenFileSep1.Size = New System.Drawing.Size(235, 6)
|
||||
Me.mMenFileSep1.Size = New System.Drawing.Size(331, 6)
|
||||
'
|
||||
'mMenFileNew
|
||||
'
|
||||
Me.mMenFileNew.Image = Global.mRemoteNG.My.Resources.Resources.Connections_New
|
||||
Me.mMenFileNew.Name = "mMenFileNew"
|
||||
Me.mMenFileNew.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.N), System.Windows.Forms.Keys)
|
||||
Me.mMenFileNew.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileNew.Text = "New Connection File"
|
||||
'
|
||||
'mMenFileLoad
|
||||
'
|
||||
Me.mMenFileLoad.Image = Global.mRemoteNG.My.Resources.Resources.Connections_Load
|
||||
Me.mMenFileLoad.Name = "mMenFileLoad"
|
||||
Me.mMenFileLoad.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.O), System.Windows.Forms.Keys)
|
||||
Me.mMenFileLoad.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileLoad.Text = "Open Connection File..."
|
||||
'
|
||||
'mMenFileSave
|
||||
'
|
||||
Me.mMenFileSave.Image = Global.mRemote.My.Resources.Resources.Connections_Save
|
||||
Me.mMenFileSave.Image = Global.mRemoteNG.My.Resources.Resources.Connections_Save
|
||||
Me.mMenFileSave.Name = "mMenFileSave"
|
||||
Me.mMenFileSave.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenFileSave.Size = New System.Drawing.Size(238, 22)
|
||||
Me.mMenFileSave.Text = "Save Connections"
|
||||
Me.mMenFileSave.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileSave.Text = "Save Connection File"
|
||||
'
|
||||
'mMenFileSaveAs
|
||||
'
|
||||
Me.mMenFileSaveAs.Image = Global.mRemote.My.Resources.Resources.Connections_SaveAs
|
||||
Me.mMenFileSaveAs.Image = Global.mRemoteNG.My.Resources.Resources.Connections_SaveAs
|
||||
Me.mMenFileSaveAs.Name = "mMenFileSaveAs"
|
||||
Me.mMenFileSaveAs.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Shift) _
|
||||
Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenFileSaveAs.Size = New System.Drawing.Size(238, 22)
|
||||
Me.mMenFileSaveAs.Text = "Save Connections As"
|
||||
Me.mMenFileSaveAs.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileSaveAs.Text = "Save Connection File As..."
|
||||
'
|
||||
'mMenFileSep2
|
||||
'
|
||||
Me.mMenFileSep2.Name = "mMenFileSep2"
|
||||
Me.mMenFileSep2.Size = New System.Drawing.Size(235, 6)
|
||||
Me.mMenFileSep2.Size = New System.Drawing.Size(331, 6)
|
||||
'
|
||||
'mMenFileImportExport
|
||||
'
|
||||
Me.mMenFileImportExport.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ImportFromXMLFileToolStripMenuItem, Me.ImportFromRDPFileToolStripMenuItem, Me.ImportFromActiveDirectoryToolStripMenuItem, Me.ImportFromPortScanToolStripMenuItem, Me.ToolStripSeparator6, Me.ExportToXMLFileToolStripMenuItem})
|
||||
Me.mMenFileImportExport.Name = "mMenFileImportExport"
|
||||
Me.mMenFileImportExport.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileImportExport.Text = "Import/Export Folder"
|
||||
Me.mMenFileImportExport.Visible = False
|
||||
'
|
||||
'ImportFromXMLFileToolStripMenuItem
|
||||
'
|
||||
Me.ImportFromXMLFileToolStripMenuItem.Name = "ImportFromXMLFileToolStripMenuItem"
|
||||
Me.ImportFromXMLFileToolStripMenuItem.Size = New System.Drawing.Size(235, 22)
|
||||
Me.ImportFromXMLFileToolStripMenuItem.Text = "Import from XML File..."
|
||||
'
|
||||
'ImportFromRDPFileToolStripMenuItem
|
||||
'
|
||||
Me.ImportFromRDPFileToolStripMenuItem.Name = "ImportFromRDPFileToolStripMenuItem"
|
||||
Me.ImportFromRDPFileToolStripMenuItem.Size = New System.Drawing.Size(235, 22)
|
||||
Me.ImportFromRDPFileToolStripMenuItem.Text = "Import from RDP File..."
|
||||
'
|
||||
'ImportFromActiveDirectoryToolStripMenuItem
|
||||
'
|
||||
Me.ImportFromActiveDirectoryToolStripMenuItem.Name = "ImportFromActiveDirectoryToolStripMenuItem"
|
||||
Me.ImportFromActiveDirectoryToolStripMenuItem.Size = New System.Drawing.Size(235, 22)
|
||||
Me.ImportFromActiveDirectoryToolStripMenuItem.Text = "Import from Active Directory..."
|
||||
'
|
||||
'ImportFromPortScanToolStripMenuItem
|
||||
'
|
||||
Me.ImportFromPortScanToolStripMenuItem.Name = "ImportFromPortScanToolStripMenuItem"
|
||||
Me.ImportFromPortScanToolStripMenuItem.Size = New System.Drawing.Size(235, 22)
|
||||
Me.ImportFromPortScanToolStripMenuItem.Text = "Import from Port Scan..."
|
||||
'
|
||||
'ToolStripSeparator6
|
||||
'
|
||||
Me.ToolStripSeparator6.Name = "ToolStripSeparator6"
|
||||
Me.ToolStripSeparator6.Size = New System.Drawing.Size(232, 6)
|
||||
'
|
||||
'ExportToXMLFileToolStripMenuItem
|
||||
'
|
||||
Me.ExportToXMLFileToolStripMenuItem.Name = "ExportToXMLFileToolStripMenuItem"
|
||||
Me.ExportToXMLFileToolStripMenuItem.Size = New System.Drawing.Size(235, 22)
|
||||
Me.ExportToXMLFileToolStripMenuItem.Text = "Export to XML File..."
|
||||
'
|
||||
'mMenFileSep3
|
||||
'
|
||||
Me.mMenFileSep3.Name = "mMenFileSep3"
|
||||
Me.mMenFileSep3.Size = New System.Drawing.Size(331, 6)
|
||||
Me.mMenFileSep3.Visible = False
|
||||
'
|
||||
'mMenFileDelete
|
||||
'
|
||||
Me.mMenFileDelete.Image = Global.mRemoteNG.My.Resources.Resources.Delete
|
||||
Me.mMenFileDelete.Name = "mMenFileDelete"
|
||||
Me.mMenFileDelete.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileDelete.Text = "Delete..."
|
||||
'
|
||||
'mMenFileRename
|
||||
'
|
||||
Me.mMenFileRename.Image = Global.mRemoteNG.My.Resources.Resources.Rename
|
||||
Me.mMenFileRename.Name = "mMenFileRename"
|
||||
Me.mMenFileRename.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileRename.Text = "Rename"
|
||||
'
|
||||
'mMenFileDuplicate
|
||||
'
|
||||
Me.mMenFileDuplicate.Image = Global.mRemoteNG.My.Resources.Resources.Connection_Duplicate
|
||||
Me.mMenFileDuplicate.Name = "mMenFileDuplicate"
|
||||
Me.mMenFileDuplicate.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileDuplicate.Text = "Duplicate"
|
||||
'
|
||||
'mMenFileSep4
|
||||
'
|
||||
Me.mMenFileSep4.Name = "mMenFileSep4"
|
||||
Me.mMenFileSep4.Size = New System.Drawing.Size(331, 6)
|
||||
'
|
||||
'mMenFileExit
|
||||
'
|
||||
Me.mMenFileExit.Image = Global.mRemote.My.Resources.Resources.Quit
|
||||
Me.mMenFileExit.Image = Global.mRemoteNG.My.Resources.Resources.Quit
|
||||
Me.mMenFileExit.Name = "mMenFileExit"
|
||||
Me.mMenFileExit.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.F4), System.Windows.Forms.Keys)
|
||||
Me.mMenFileExit.Size = New System.Drawing.Size(238, 22)
|
||||
Me.mMenFileExit.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileExit.Text = "Exit"
|
||||
'
|
||||
'mMenView
|
||||
'
|
||||
Me.mMenView.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewAddConnectionPanel, Me.mMenViewConnectionPanels, Me.mMenViewSep1, Me.mMenViewConnections, Me.mMenViewConfig, Me.mMenViewSessions, Me.mMenViewErrorsAndInfos, Me.mMenViewScreenshotManager, Me.ToolStripSeparator1, Me.mMenViewJumpTo, Me.mMenViewSep2, Me.mMenViewQuickConnectToolbar, Me.mMenViewExtAppsToolbar, Me.mMenViewSep3, Me.mMenViewFullscreen})
|
||||
Me.mMenView.Image = CType(resources.GetObject("mMenView.Image"), System.Drawing.Image)
|
||||
Me.mMenView.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewAddConnectionPanel, Me.mMenViewConnectionPanels, Me.mMenViewSep1, Me.mMenViewConnections, Me.mMenViewConfig, Me.mMenViewSessions, Me.mMenViewErrorsAndInfos, Me.mMenViewScreenshotManager, Me.ToolStripSeparator1, Me.mMenViewJumpTo, Me.mMenViewResetLayout, Me.mMenViewSep2, Me.mMenViewQuickConnectToolbar, Me.mMenViewExtAppsToolbar, Me.mMenViewSep3, Me.mMenViewFullscreen})
|
||||
Me.mMenView.Name = "mMenView"
|
||||
Me.mMenView.Size = New System.Drawing.Size(58, 20)
|
||||
Me.mMenView.Size = New System.Drawing.Size(44, 20)
|
||||
Me.mMenView.Text = "&View"
|
||||
'
|
||||
'mMenViewAddConnectionPanel
|
||||
'
|
||||
Me.mMenViewAddConnectionPanel.Image = Global.mRemote.My.Resources.Resources.Panel_Add
|
||||
Me.mMenViewAddConnectionPanel.Image = Global.mRemoteNG.My.Resources.Resources.Panel_Add
|
||||
Me.mMenViewAddConnectionPanel.Name = "mMenViewAddConnectionPanel"
|
||||
Me.mMenViewAddConnectionPanel.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewAddConnectionPanel.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewAddConnectionPanel.Text = "Add Connection Panel"
|
||||
'
|
||||
'mMenViewConnectionPanels
|
||||
'
|
||||
Me.mMenViewConnectionPanels.Image = Global.mRemote.My.Resources.Resources.Panels
|
||||
Me.mMenViewConnectionPanels.Image = Global.mRemoteNG.My.Resources.Resources.Panels
|
||||
Me.mMenViewConnectionPanels.Name = "mMenViewConnectionPanels"
|
||||
Me.mMenViewConnectionPanels.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewConnectionPanels.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewConnectionPanels.Text = "Connection Panels"
|
||||
'
|
||||
'mMenViewSep1
|
||||
'
|
||||
Me.mMenViewSep1.Name = "mMenViewSep1"
|
||||
Me.mMenViewSep1.Size = New System.Drawing.Size(208, 6)
|
||||
Me.mMenViewSep1.Size = New System.Drawing.Size(225, 6)
|
||||
'
|
||||
'mMenViewConnections
|
||||
'
|
||||
Me.mMenViewConnections.Checked = True
|
||||
Me.mMenViewConnections.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewConnections.Image = Global.mRemote.My.Resources.Resources.Root
|
||||
Me.mMenViewConnections.Image = Global.mRemoteNG.My.Resources.Resources.Root
|
||||
Me.mMenViewConnections.Name = "mMenViewConnections"
|
||||
Me.mMenViewConnections.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewConnections.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewConnections.Text = "Connections"
|
||||
'
|
||||
'mMenViewConfig
|
||||
@@ -218,7 +392,7 @@ Partial Class frmMain
|
||||
Me.mMenViewConfig.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewConfig.Image = CType(resources.GetObject("mMenViewConfig.Image"), System.Drawing.Image)
|
||||
Me.mMenViewConfig.Name = "mMenViewConfig"
|
||||
Me.mMenViewConfig.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewConfig.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewConfig.Text = "Config"
|
||||
'
|
||||
'mMenViewSessions
|
||||
@@ -227,36 +401,36 @@ Partial Class frmMain
|
||||
Me.mMenViewSessions.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewSessions.Image = CType(resources.GetObject("mMenViewSessions.Image"), System.Drawing.Image)
|
||||
Me.mMenViewSessions.Name = "mMenViewSessions"
|
||||
Me.mMenViewSessions.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewSessions.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewSessions.Text = "Sessions"
|
||||
'
|
||||
'mMenViewErrorsAndInfos
|
||||
'
|
||||
Me.mMenViewErrorsAndInfos.Checked = True
|
||||
Me.mMenViewErrorsAndInfos.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewErrorsAndInfos.Image = Global.mRemote.My.Resources.Resources.ErrorsAndInfos
|
||||
Me.mMenViewErrorsAndInfos.Image = Global.mRemoteNG.My.Resources.Resources.ErrorsAndInfos
|
||||
Me.mMenViewErrorsAndInfos.Name = "mMenViewErrorsAndInfos"
|
||||
Me.mMenViewErrorsAndInfos.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewErrorsAndInfos.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewErrorsAndInfos.Text = "Errors and Infos"
|
||||
'
|
||||
'mMenViewScreenshotManager
|
||||
'
|
||||
Me.mMenViewScreenshotManager.Image = CType(resources.GetObject("mMenViewScreenshotManager.Image"), System.Drawing.Image)
|
||||
Me.mMenViewScreenshotManager.Name = "mMenViewScreenshotManager"
|
||||
Me.mMenViewScreenshotManager.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewScreenshotManager.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewScreenshotManager.Text = "Screenshot Manager"
|
||||
'
|
||||
'ToolStripSeparator1
|
||||
'
|
||||
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
|
||||
Me.ToolStripSeparator1.Size = New System.Drawing.Size(208, 6)
|
||||
Me.ToolStripSeparator1.Size = New System.Drawing.Size(225, 6)
|
||||
'
|
||||
'mMenViewJumpTo
|
||||
'
|
||||
Me.mMenViewJumpTo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewJumpToConnectionsConfig, Me.mMenViewJumpToSessionsScreenshots, Me.mMenViewJumpToErrorsInfos})
|
||||
Me.mMenViewJumpTo.Image = Global.mRemote.My.Resources.Resources.JumpTo
|
||||
Me.mMenViewJumpTo.Image = Global.mRemoteNG.My.Resources.Resources.JumpTo
|
||||
Me.mMenViewJumpTo.Name = "mMenViewJumpTo"
|
||||
Me.mMenViewJumpTo.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewJumpTo.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewJumpTo.Text = "Jump To"
|
||||
'
|
||||
'mMenViewJumpToConnectionsConfig
|
||||
@@ -264,7 +438,7 @@ Partial Class frmMain
|
||||
Me.mMenViewJumpToConnectionsConfig.Name = "mMenViewJumpToConnectionsConfig"
|
||||
Me.mMenViewJumpToConnectionsConfig.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
|
||||
Or System.Windows.Forms.Keys.C), System.Windows.Forms.Keys)
|
||||
Me.mMenViewJumpToConnectionsConfig.Size = New System.Drawing.Size(240, 22)
|
||||
Me.mMenViewJumpToConnectionsConfig.Size = New System.Drawing.Size(262, 22)
|
||||
Me.mMenViewJumpToConnectionsConfig.Text = "Connections && Config"
|
||||
'
|
||||
'mMenViewJumpToSessionsScreenshots
|
||||
@@ -272,7 +446,7 @@ Partial Class frmMain
|
||||
Me.mMenViewJumpToSessionsScreenshots.Name = "mMenViewJumpToSessionsScreenshots"
|
||||
Me.mMenViewJumpToSessionsScreenshots.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
|
||||
Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenViewJumpToSessionsScreenshots.Size = New System.Drawing.Size(240, 22)
|
||||
Me.mMenViewJumpToSessionsScreenshots.Size = New System.Drawing.Size(262, 22)
|
||||
Me.mMenViewJumpToSessionsScreenshots.Text = "Sessions && Screenshots"
|
||||
'
|
||||
'mMenViewJumpToErrorsInfos
|
||||
@@ -280,109 +454,108 @@ Partial Class frmMain
|
||||
Me.mMenViewJumpToErrorsInfos.Name = "mMenViewJumpToErrorsInfos"
|
||||
Me.mMenViewJumpToErrorsInfos.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Alt) _
|
||||
Or System.Windows.Forms.Keys.E), System.Windows.Forms.Keys)
|
||||
Me.mMenViewJumpToErrorsInfos.Size = New System.Drawing.Size(240, 22)
|
||||
Me.mMenViewJumpToErrorsInfos.Size = New System.Drawing.Size(262, 22)
|
||||
Me.mMenViewJumpToErrorsInfos.Text = "Errors && Infos"
|
||||
'
|
||||
'mMenViewResetLayout
|
||||
'
|
||||
Me.mMenViewResetLayout.Name = "mMenViewResetLayout"
|
||||
Me.mMenViewResetLayout.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewResetLayout.Text = "Reset Layout"
|
||||
'
|
||||
'mMenViewSep2
|
||||
'
|
||||
Me.mMenViewSep2.Name = "mMenViewSep2"
|
||||
Me.mMenViewSep2.Size = New System.Drawing.Size(208, 6)
|
||||
Me.mMenViewSep2.Size = New System.Drawing.Size(225, 6)
|
||||
'
|
||||
'mMenViewQuickConnectToolbar
|
||||
'
|
||||
Me.mMenViewQuickConnectToolbar.Image = Global.mRemote.My.Resources.Resources.Play_Quick
|
||||
Me.mMenViewQuickConnectToolbar.Image = Global.mRemoteNG.My.Resources.Resources.Play_Quick
|
||||
Me.mMenViewQuickConnectToolbar.Name = "mMenViewQuickConnectToolbar"
|
||||
Me.mMenViewQuickConnectToolbar.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewQuickConnectToolbar.Text = "Quicky Toolbar"
|
||||
Me.mMenViewQuickConnectToolbar.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewQuickConnectToolbar.Text = "Quick Connect Toolbar"
|
||||
'
|
||||
'mMenViewExtAppsToolbar
|
||||
'
|
||||
Me.mMenViewExtAppsToolbar.Image = CType(resources.GetObject("mMenViewExtAppsToolbar.Image"), System.Drawing.Image)
|
||||
Me.mMenViewExtAppsToolbar.Name = "mMenViewExtAppsToolbar"
|
||||
Me.mMenViewExtAppsToolbar.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewExtAppsToolbar.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewExtAppsToolbar.Text = "External Applications Toolbar"
|
||||
'
|
||||
'mMenViewSep3
|
||||
'
|
||||
Me.mMenViewSep3.Name = "mMenViewSep3"
|
||||
Me.mMenViewSep3.Size = New System.Drawing.Size(208, 6)
|
||||
Me.mMenViewSep3.Size = New System.Drawing.Size(225, 6)
|
||||
'
|
||||
'mMenViewFullscreen
|
||||
'
|
||||
Me.mMenViewFullscreen.Image = Global.mRemote.My.Resources.Resources.Fullscreen
|
||||
Me.mMenViewFullscreen.Image = Global.mRemoteNG.My.Resources.Resources.Fullscreen
|
||||
Me.mMenViewFullscreen.Name = "mMenViewFullscreen"
|
||||
Me.mMenViewFullscreen.Size = New System.Drawing.Size(211, 22)
|
||||
Me.mMenViewFullscreen.Text = "Fullscreen (Kiosk Mode)"
|
||||
Me.mMenViewFullscreen.ShortcutKeys = System.Windows.Forms.Keys.F11
|
||||
Me.mMenViewFullscreen.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewFullscreen.Text = "Full Screen"
|
||||
'
|
||||
'mMenTools
|
||||
'
|
||||
Me.mMenTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenToolsSSHTransfer, Me.mMenToolsUVNCSC, Me.mMenToolsExternalApps, Me.mMenToolsPortScan, Me.mMenToolsSep1, Me.mMenToolsUpdate, Me.mMenToolsComponentsCheck, Me.mMenToolsOptions})
|
||||
Me.mMenTools.Image = CType(resources.GetObject("mMenTools.Image"), System.Drawing.Image)
|
||||
Me.mMenTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenToolsSSHTransfer, Me.mMenToolsUVNCSC, Me.mMenToolsExternalApps, Me.mMenToolsPortScan, Me.mMenToolsSep1, Me.mMenToolsComponentsCheck, Me.mMenToolsOptions})
|
||||
Me.mMenTools.Name = "mMenTools"
|
||||
Me.mMenTools.Size = New System.Drawing.Size(61, 20)
|
||||
Me.mMenTools.Size = New System.Drawing.Size(48, 20)
|
||||
Me.mMenTools.Text = "&Tools"
|
||||
'
|
||||
'mMenToolsSSHTransfer
|
||||
'
|
||||
Me.mMenToolsSSHTransfer.Image = Global.mRemote.My.Resources.Resources.SSHTransfer
|
||||
Me.mMenToolsSSHTransfer.Image = Global.mRemoteNG.My.Resources.Resources.SSHTransfer
|
||||
Me.mMenToolsSSHTransfer.Name = "mMenToolsSSHTransfer"
|
||||
Me.mMenToolsSSHTransfer.Size = New System.Drawing.Size(173, 22)
|
||||
Me.mMenToolsSSHTransfer.Size = New System.Drawing.Size(184, 22)
|
||||
Me.mMenToolsSSHTransfer.Text = "SSH File Transfer"
|
||||
'
|
||||
'mMenToolsUVNCSC
|
||||
'
|
||||
Me.mMenToolsUVNCSC.Image = Global.mRemote.My.Resources.Resources.UVNC_SC
|
||||
Me.mMenToolsUVNCSC.Image = Global.mRemoteNG.My.Resources.Resources.UVNC_SC
|
||||
Me.mMenToolsUVNCSC.Name = "mMenToolsUVNCSC"
|
||||
Me.mMenToolsUVNCSC.Size = New System.Drawing.Size(173, 22)
|
||||
Me.mMenToolsUVNCSC.Size = New System.Drawing.Size(184, 22)
|
||||
Me.mMenToolsUVNCSC.Text = "UltraVNC SingleClick"
|
||||
Me.mMenToolsUVNCSC.Visible = False
|
||||
'
|
||||
'mMenToolsExternalApps
|
||||
'
|
||||
Me.mMenToolsExternalApps.Image = CType(resources.GetObject("mMenToolsExternalApps.Image"), System.Drawing.Image)
|
||||
Me.mMenToolsExternalApps.Name = "mMenToolsExternalApps"
|
||||
Me.mMenToolsExternalApps.Size = New System.Drawing.Size(173, 22)
|
||||
Me.mMenToolsExternalApps.Size = New System.Drawing.Size(184, 22)
|
||||
Me.mMenToolsExternalApps.Text = "External Applications"
|
||||
'
|
||||
'mMenToolsPortScan
|
||||
'
|
||||
Me.mMenToolsPortScan.Image = Global.mRemote.My.Resources.Resources.PortScan
|
||||
Me.mMenToolsPortScan.Image = Global.mRemoteNG.My.Resources.Resources.PortScan
|
||||
Me.mMenToolsPortScan.Name = "mMenToolsPortScan"
|
||||
Me.mMenToolsPortScan.Size = New System.Drawing.Size(173, 22)
|
||||
Me.mMenToolsPortScan.Size = New System.Drawing.Size(184, 22)
|
||||
Me.mMenToolsPortScan.Text = "Port Scan"
|
||||
'
|
||||
'mMenToolsSep1
|
||||
'
|
||||
Me.mMenToolsSep1.Name = "mMenToolsSep1"
|
||||
Me.mMenToolsSep1.Size = New System.Drawing.Size(170, 6)
|
||||
'
|
||||
'mMenToolsUpdate
|
||||
'
|
||||
Me.mMenToolsUpdate.Image = Global.mRemote.My.Resources.Resources.Update
|
||||
Me.mMenToolsUpdate.Name = "mMenToolsUpdate"
|
||||
Me.mMenToolsUpdate.Size = New System.Drawing.Size(173, 22)
|
||||
Me.mMenToolsUpdate.Text = "Update"
|
||||
Me.mMenToolsSep1.Size = New System.Drawing.Size(181, 6)
|
||||
'
|
||||
'mMenToolsComponentsCheck
|
||||
'
|
||||
Me.mMenToolsComponentsCheck.Image = Global.mRemote.My.Resources.Resources.ComponentsCheck
|
||||
Me.mMenToolsComponentsCheck.Image = Global.mRemoteNG.My.Resources.Resources.ComponentsCheck
|
||||
Me.mMenToolsComponentsCheck.Name = "mMenToolsComponentsCheck"
|
||||
Me.mMenToolsComponentsCheck.Size = New System.Drawing.Size(173, 22)
|
||||
Me.mMenToolsComponentsCheck.Size = New System.Drawing.Size(184, 22)
|
||||
Me.mMenToolsComponentsCheck.Text = "Components Check"
|
||||
'
|
||||
'mMenToolsOptions
|
||||
'
|
||||
Me.mMenToolsOptions.Image = CType(resources.GetObject("mMenToolsOptions.Image"), System.Drawing.Image)
|
||||
Me.mMenToolsOptions.Name = "mMenToolsOptions"
|
||||
Me.mMenToolsOptions.Size = New System.Drawing.Size(173, 22)
|
||||
Me.mMenToolsOptions.Size = New System.Drawing.Size(184, 22)
|
||||
Me.mMenToolsOptions.Text = "Options"
|
||||
'
|
||||
'mMenInfo
|
||||
'
|
||||
Me.mMenInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenInfoHelp, Me.mMenInfoSep1, Me.mMenInfoDonate, Me.mMenInfoWebsite, Me.mMenInfovRD08, Me.mMenInfoSep2, Me.mMenInfoAnnouncments, Me.mMenInfoAbout})
|
||||
Me.mMenInfo.Image = CType(resources.GetObject("mMenInfo.Image"), System.Drawing.Image)
|
||||
Me.mMenInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenInfoHelp, Me.mMenInfoSep1, Me.mMenInfoWebsite, Me.mMenInfoDonate, Me.mMenInfoForum, Me.mMenInfoBugReport, Me.ToolStripSeparator2, Me.mMenInfoAnnouncements, Me.mMenToolsUpdate, Me.mMenInfoSep2, Me.mMenInfoAbout})
|
||||
Me.mMenInfo.Name = "mMenInfo"
|
||||
Me.mMenInfo.Size = New System.Drawing.Size(53, 20)
|
||||
Me.mMenInfo.Text = "&Info"
|
||||
Me.mMenInfo.Size = New System.Drawing.Size(44, 20)
|
||||
Me.mMenInfo.Text = "&Help"
|
||||
Me.mMenInfo.TextDirection = System.Windows.Forms.ToolStripTextDirection.Horizontal
|
||||
'
|
||||
'mMenInfoHelp
|
||||
@@ -390,53 +563,71 @@ Partial Class frmMain
|
||||
Me.mMenInfoHelp.Image = CType(resources.GetObject("mMenInfoHelp.Image"), System.Drawing.Image)
|
||||
Me.mMenInfoHelp.Name = "mMenInfoHelp"
|
||||
Me.mMenInfoHelp.ShortcutKeys = System.Windows.Forms.Keys.F1
|
||||
Me.mMenInfoHelp.Size = New System.Drawing.Size(202, 22)
|
||||
Me.mMenInfoHelp.Text = "Help"
|
||||
Me.mMenInfoHelp.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenInfoHelp.Text = "mRemoteNG Help"
|
||||
'
|
||||
'mMenInfoSep1
|
||||
'
|
||||
Me.mMenInfoSep1.Name = "mMenInfoSep1"
|
||||
Me.mMenInfoSep1.Size = New System.Drawing.Size(199, 6)
|
||||
'
|
||||
'mMenInfoDonate
|
||||
'
|
||||
Me.mMenInfoDonate.Image = Global.mRemote.My.Resources.Resources.Donate
|
||||
Me.mMenInfoDonate.Name = "mMenInfoDonate"
|
||||
Me.mMenInfoDonate.Size = New System.Drawing.Size(202, 22)
|
||||
Me.mMenInfoDonate.Text = "Donate"
|
||||
Me.mMenInfoSep1.Size = New System.Drawing.Size(187, 6)
|
||||
'
|
||||
'mMenInfoWebsite
|
||||
'
|
||||
Me.mMenInfoWebsite.Image = CType(resources.GetObject("mMenInfoWebsite.Image"), System.Drawing.Image)
|
||||
Me.mMenInfoWebsite.Name = "mMenInfoWebsite"
|
||||
Me.mMenInfoWebsite.Size = New System.Drawing.Size(202, 22)
|
||||
Me.mMenInfoWebsite.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenInfoWebsite.Text = "Website"
|
||||
'
|
||||
'mMenInfovRD08
|
||||
'mMenInfoDonate
|
||||
'
|
||||
Me.mMenInfovRD08.Image = Global.mRemote.My.Resources.Resources.vRD08R1
|
||||
Me.mMenInfovRD08.Name = "mMenInfovRD08"
|
||||
Me.mMenInfovRD08.Size = New System.Drawing.Size(202, 22)
|
||||
Me.mMenInfovRD08.Text = "visionapp Remote Desktop"
|
||||
Me.mMenInfoDonate.Image = Global.mRemoteNG.My.Resources.Resources.Donate
|
||||
Me.mMenInfoDonate.Name = "mMenInfoDonate"
|
||||
Me.mMenInfoDonate.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenInfoDonate.Text = "Donate"
|
||||
'
|
||||
'mMenInfoForum
|
||||
'
|
||||
Me.mMenInfoForum.Name = "mMenInfoForum"
|
||||
Me.mMenInfoForum.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenInfoForum.Text = "Support Forum"
|
||||
'
|
||||
'mMenInfoBugReport
|
||||
'
|
||||
Me.mMenInfoBugReport.Image = Global.mRemoteNG.My.Resources.Resources.Bug
|
||||
Me.mMenInfoBugReport.Name = "mMenInfoBugReport"
|
||||
Me.mMenInfoBugReport.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenInfoBugReport.Text = "Report a Bug"
|
||||
'
|
||||
'ToolStripSeparator2
|
||||
'
|
||||
Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
|
||||
Me.ToolStripSeparator2.Size = New System.Drawing.Size(187, 6)
|
||||
'
|
||||
'mMenInfoAnnouncements
|
||||
'
|
||||
Me.mMenInfoAnnouncements.Image = Global.mRemoteNG.My.Resources.Resources.News
|
||||
Me.mMenInfoAnnouncements.Name = "mMenInfoAnnouncements"
|
||||
Me.mMenInfoAnnouncements.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenInfoAnnouncements.Text = "Announcements"
|
||||
'
|
||||
'mMenToolsUpdate
|
||||
'
|
||||
Me.mMenToolsUpdate.Image = Global.mRemoteNG.My.Resources.Resources.Update
|
||||
Me.mMenToolsUpdate.Name = "mMenToolsUpdate"
|
||||
Me.mMenToolsUpdate.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenToolsUpdate.Text = "Check for Updates"
|
||||
'
|
||||
'mMenInfoSep2
|
||||
'
|
||||
Me.mMenInfoSep2.Name = "mMenInfoSep2"
|
||||
Me.mMenInfoSep2.Size = New System.Drawing.Size(199, 6)
|
||||
'
|
||||
'mMenInfoAnnouncments
|
||||
'
|
||||
Me.mMenInfoAnnouncments.Image = Global.mRemote.My.Resources.Resources.News
|
||||
Me.mMenInfoAnnouncments.Name = "mMenInfoAnnouncments"
|
||||
Me.mMenInfoAnnouncments.Size = New System.Drawing.Size(202, 22)
|
||||
Me.mMenInfoAnnouncments.Text = "Announcments"
|
||||
Me.mMenInfoSep2.Size = New System.Drawing.Size(187, 6)
|
||||
'
|
||||
'mMenInfoAbout
|
||||
'
|
||||
Me.mMenInfoAbout.Image = Global.mRemote.My.Resources.Resources.mRemote
|
||||
Me.mMenInfoAbout.Image = Global.mRemoteNG.My.Resources.Resources.mRemote
|
||||
Me.mMenInfoAbout.Name = "mMenInfoAbout"
|
||||
Me.mMenInfoAbout.Size = New System.Drawing.Size(202, 22)
|
||||
Me.mMenInfoAbout.Text = "About"
|
||||
Me.mMenInfoAbout.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenInfoAbout.Text = "About mRemoteNG"
|
||||
'
|
||||
'mMenSep3
|
||||
'
|
||||
@@ -446,15 +637,15 @@ Partial Class frmMain
|
||||
'lblQuickConnect
|
||||
'
|
||||
Me.lblQuickConnect.Name = "lblQuickConnect"
|
||||
Me.lblQuickConnect.Size = New System.Drawing.Size(47, 22)
|
||||
Me.lblQuickConnect.Text = "&Quicky:"
|
||||
Me.lblQuickConnect.Size = New System.Drawing.Size(55, 22)
|
||||
Me.lblQuickConnect.Text = "&Connect:"
|
||||
'
|
||||
'cmbQuickConnect
|
||||
'
|
||||
Me.cmbQuickConnect.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
|
||||
Me.cmbQuickConnect.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
|
||||
Me.cmbQuickConnect.Name = "cmbQuickConnect"
|
||||
Me.cmbQuickConnect.Size = New System.Drawing.Size(120, 23)
|
||||
Me.cmbQuickConnect.Size = New System.Drawing.Size(200, 25)
|
||||
'
|
||||
'tsContainer
|
||||
'
|
||||
@@ -466,7 +657,8 @@ Partial Class frmMain
|
||||
'tsContainer.ContentPanel
|
||||
'
|
||||
Me.tsContainer.ContentPanel.Controls.Add(Me.pnlDock)
|
||||
Me.tsContainer.ContentPanel.Size = New System.Drawing.Size(842, 499)
|
||||
Me.tsContainer.ContentPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.tsContainer.ContentPanel.Size = New System.Drawing.Size(842, 424)
|
||||
Me.tsContainer.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
'
|
||||
'tsContainer.LeftToolStripPanel
|
||||
@@ -485,53 +677,24 @@ Partial Class frmMain
|
||||
'tsContainer.TopToolStripPanel
|
||||
'
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.msMain)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsQuickConnect)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsExternalTools)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.ToolStrip1)
|
||||
Me.tsContainer.TopToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
'
|
||||
'tsQuickConnect
|
||||
'
|
||||
Me.tsQuickConnect.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.tsQuickConnect.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.lblQuickConnect, Me.cmbQuickConnect, Me.btnQuickyPlay, Me.mMenQuickyCon})
|
||||
Me.tsQuickConnect.Location = New System.Drawing.Point(3, 0)
|
||||
Me.tsQuickConnect.Name = "tsQuickConnect"
|
||||
Me.tsQuickConnect.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.tsQuickConnect.Size = New System.Drawing.Size(207, 25)
|
||||
Me.tsQuickConnect.TabIndex = 18
|
||||
'
|
||||
'btnQuickyPlay
|
||||
'
|
||||
Me.btnQuickyPlay.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.btnQuickyPlay.Image = Global.mRemote.My.Resources.Resources.Play_Quick
|
||||
Me.btnQuickyPlay.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.btnQuickyPlay.Name = "btnQuickyPlay"
|
||||
Me.btnQuickyPlay.Size = New System.Drawing.Size(32, 20)
|
||||
Me.btnQuickyPlay.Text = "Play"
|
||||
'
|
||||
'mMenQuickyCon
|
||||
'
|
||||
Me.mMenQuickyCon.AutoSize = False
|
||||
Me.mMenQuickyCon.AutoToolTip = True
|
||||
Me.mMenQuickyCon.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.mMenQuickyCon.Image = Global.mRemote.My.Resources.Resources.Root
|
||||
Me.mMenQuickyCon.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.mMenQuickyCon.Name = "mMenQuickyCon"
|
||||
Me.mMenQuickyCon.Size = New System.Drawing.Size(30, 22)
|
||||
Me.mMenQuickyCon.Text = "Connections"
|
||||
'
|
||||
'tsExtAppsToolbar
|
||||
'
|
||||
Me.tsExtAppsToolbar.ContextMenuStrip = Me.cMenExtAppsToolbar
|
||||
Me.tsExtAppsToolbar.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.tsExtAppsToolbar.Location = New System.Drawing.Point(300, 0)
|
||||
Me.tsExtAppsToolbar.Name = "tsExtAppsToolbar"
|
||||
Me.tsExtAppsToolbar.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.tsExtAppsToolbar.Size = New System.Drawing.Size(109, 25)
|
||||
Me.tsExtAppsToolbar.TabIndex = 17
|
||||
Me.tsExternalTools.ContextMenuStrip = Me.cMenExtAppsToolbar
|
||||
Me.tsExternalTools.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.tsExternalTools.Location = New System.Drawing.Point(39, 49)
|
||||
Me.tsExternalTools.Name = "tsExtAppsToolbar"
|
||||
Me.tsExternalTools.Size = New System.Drawing.Size(111, 25)
|
||||
Me.tsExternalTools.TabIndex = 17
|
||||
'
|
||||
'cMenExtAppsToolbar
|
||||
'
|
||||
Me.cMenExtAppsToolbar.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cMenToolbarShowText})
|
||||
Me.cMenExtAppsToolbar.Name = "cMenToolbar"
|
||||
Me.cMenExtAppsToolbar.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.cMenExtAppsToolbar.Size = New System.Drawing.Size(129, 26)
|
||||
'
|
||||
'cMenToolbarShowText
|
||||
@@ -542,6 +705,91 @@ Partial Class frmMain
|
||||
Me.cMenToolbarShowText.Size = New System.Drawing.Size(128, 22)
|
||||
Me.cMenToolbarShowText.Text = "Show Text"
|
||||
'
|
||||
'tsQuickConnect
|
||||
'
|
||||
Me.tsQuickConnect.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.tsQuickConnect.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.lblQuickConnect, Me.cmbQuickConnect, Me.btnQuickyPlay, Me.mMenQuickyCon})
|
||||
Me.tsQuickConnect.Location = New System.Drawing.Point(3, 24)
|
||||
Me.tsQuickConnect.Name = "tsQuickConnect"
|
||||
Me.tsQuickConnect.Size = New System.Drawing.Size(331, 25)
|
||||
Me.tsQuickConnect.TabIndex = 18
|
||||
'
|
||||
'btnQuickyPlay
|
||||
'
|
||||
Me.btnQuickyPlay.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.btnQuickyPlay.Image = Global.mRemoteNG.My.Resources.Resources.Play_Quick
|
||||
Me.btnQuickyPlay.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.btnQuickyPlay.Name = "btnQuickyPlay"
|
||||
Me.btnQuickyPlay.Size = New System.Drawing.Size(32, 22)
|
||||
Me.btnQuickyPlay.Text = "Connect"
|
||||
'
|
||||
'mMenQuickyCon
|
||||
'
|
||||
Me.mMenQuickyCon.AutoSize = False
|
||||
Me.mMenQuickyCon.AutoToolTip = True
|
||||
Me.mMenQuickyCon.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.mMenQuickyCon.Image = Global.mRemoteNG.My.Resources.Resources.Root
|
||||
Me.mMenQuickyCon.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.mMenQuickyCon.Name = "mMenQuickyCon"
|
||||
Me.mMenQuickyCon.Size = New System.Drawing.Size(30, 22)
|
||||
Me.mMenQuickyCon.Text = "Connections"
|
||||
'
|
||||
'ToolStrip1
|
||||
'
|
||||
Me.ToolStrip1.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripButton2, Me.ToolStripButton3, Me.ToolStripSplitButton1})
|
||||
Me.ToolStrip1.Location = New System.Drawing.Point(3, 74)
|
||||
Me.ToolStrip1.Name = "ToolStrip1"
|
||||
Me.ToolStrip1.Size = New System.Drawing.Size(264, 25)
|
||||
Me.ToolStrip1.TabIndex = 19
|
||||
Me.ToolStrip1.Visible = False
|
||||
'
|
||||
'ToolStripButton1
|
||||
'
|
||||
Me.ToolStripButton1.Image = Global.mRemoteNG.My.Resources.Resources.Play
|
||||
Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.ToolStripButton1.Name = "ToolStripButton1"
|
||||
Me.ToolStripButton1.Size = New System.Drawing.Size(72, 22)
|
||||
Me.ToolStripButton1.Text = "Connect"
|
||||
'
|
||||
'ToolStripButton2
|
||||
'
|
||||
Me.ToolStripButton2.Image = Global.mRemoteNG.My.Resources.Resources.Screenshot
|
||||
Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.ToolStripButton2.Name = "ToolStripButton2"
|
||||
Me.ToolStripButton2.Size = New System.Drawing.Size(85, 22)
|
||||
Me.ToolStripButton2.Text = "Screenshot"
|
||||
'
|
||||
'ToolStripButton3
|
||||
'
|
||||
Me.ToolStripButton3.Image = Global.mRemoteNG.My.Resources.Resources.Refresh
|
||||
Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.ToolStripButton3.Name = "ToolStripButton3"
|
||||
Me.ToolStripButton3.Size = New System.Drawing.Size(66, 22)
|
||||
Me.ToolStripButton3.Text = "Refresh"
|
||||
'
|
||||
'ToolStripSplitButton1
|
||||
'
|
||||
Me.ToolStripSplitButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.ToolStripSplitButton1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1, Me.ToolStripMenuItem2})
|
||||
Me.ToolStripSplitButton1.Image = Global.mRemoteNG.My.Resources.Resources.Keyboard
|
||||
Me.ToolStripSplitButton1.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.ToolStripSplitButton1.Name = "ToolStripSplitButton1"
|
||||
Me.ToolStripSplitButton1.Size = New System.Drawing.Size(29, 22)
|
||||
Me.ToolStripSplitButton1.Text = "Special Keys"
|
||||
'
|
||||
'ToolStripMenuItem1
|
||||
'
|
||||
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
|
||||
Me.ToolStripMenuItem1.Size = New System.Drawing.Size(135, 22)
|
||||
Me.ToolStripMenuItem1.Text = "Ctrl-Alt-Del"
|
||||
'
|
||||
'ToolStripMenuItem2
|
||||
'
|
||||
Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
|
||||
Me.ToolStripMenuItem2.Size = New System.Drawing.Size(135, 22)
|
||||
Me.ToolStripMenuItem2.Text = "Ctrl-Esc"
|
||||
'
|
||||
'tmrShowUpdate
|
||||
'
|
||||
Me.tmrShowUpdate.Enabled = True
|
||||
@@ -557,11 +805,11 @@ Partial Class frmMain
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(842, 523)
|
||||
Me.Controls.Add(Me.tsContainer)
|
||||
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Icon
|
||||
Me.Icon = Global.mRemoteNG.My.Resources.Resources.mRemote_Icon
|
||||
Me.MainMenuStrip = Me.msMain
|
||||
Me.MaximumSize = New System.Drawing.Size(20000, 10000)
|
||||
Me.Name = "frmMain"
|
||||
Me.Text = "mRemote"
|
||||
Me.Opacity = 0
|
||||
Me.Text = "mRemoteNG"
|
||||
Me.msMain.ResumeLayout(False)
|
||||
Me.msMain.PerformLayout()
|
||||
Me.tsContainer.ContentPanel.ResumeLayout(False)
|
||||
@@ -569,9 +817,11 @@ Partial Class frmMain
|
||||
Me.tsContainer.TopToolStripPanel.PerformLayout()
|
||||
Me.tsContainer.ResumeLayout(False)
|
||||
Me.tsContainer.PerformLayout()
|
||||
Me.cMenExtAppsToolbar.ResumeLayout(False)
|
||||
Me.tsQuickConnect.ResumeLayout(False)
|
||||
Me.tsQuickConnect.PerformLayout()
|
||||
Me.cMenExtAppsToolbar.ResumeLayout(False)
|
||||
Me.ToolStrip1.ResumeLayout(False)
|
||||
Me.ToolStrip1.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
@@ -584,12 +834,10 @@ Partial Class frmMain
|
||||
Friend WithEvents mMenInfo As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileNew As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileLoad As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileSave As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSaveAs As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileExit As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsUpdate As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenToolsOptions As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoHelp As System.Windows.Forms.ToolStripMenuItem
|
||||
@@ -612,7 +860,7 @@ Partial Class frmMain
|
||||
Friend WithEvents tmrShowUpdate As System.Windows.Forms.Timer
|
||||
Friend WithEvents mMenToolsExternalApps As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents tmrAutoSave As System.Windows.Forms.Timer
|
||||
Friend WithEvents tsExtAppsToolbar As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents tsExternalTools As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents mMenViewExtAppsToolbar As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents cMenExtAppsToolbar As System.Windows.Forms.ContextMenuStrip
|
||||
Friend WithEvents cMenToolbarShowText As System.Windows.Forms.ToolStripMenuItem
|
||||
@@ -631,8 +879,34 @@ Partial Class frmMain
|
||||
Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenToolsUVNCSC As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsComponentsCheck As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoAnnouncments As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfovRD08 As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoAnnouncements As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenInfoBugReport As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenInfoForum As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsUpdate As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewResetLayout As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileDuplicate As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileNewConnection As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileNewFolder As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileImportExport As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ImportFromXMLFileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ImportFromRDPFileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ImportFromActiveDirectoryToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ImportFromPortScanToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ToolStripSeparator6 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents ExportToXMLFileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep3 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileDelete As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileRename As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep4 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton
|
||||
Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton
|
||||
Friend WithEvents ToolStripButton3 As System.Windows.Forms.ToolStripButton
|
||||
Friend WithEvents ToolStripSplitButton1 As System.Windows.Forms.ToolStripDropDownButton
|
||||
Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1,363 +0,0 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class frmMain
|
||||
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.pnlDock = New WeifenLuo.WinFormsUI.Docking.DockPanel
|
||||
Me.msMain = New System.Windows.Forms.MenuStrip
|
||||
Me.mMenFile = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileNew = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileLoad = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileSave = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSaveAs = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenFileSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenFileExit = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenView = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewAddConnectionPanel = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewConnectionPanels = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewConnections = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewConfig = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewErrorsAndInfos = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSessions = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewScreenshotManager = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenViewSep2 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenViewFullscreen = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenTools = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsUpdate = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsSSHTransfer = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenToolsSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenToolsOptions = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenQuickConnect = New System.Windows.Forms.ToolStripLabel
|
||||
Me.cmbQuickConnect = New System.Windows.Forms.ToolStripComboBox
|
||||
Me.mMenPlay = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfo = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoHelp = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoWebsite = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.mMenInfoSep1 = New System.Windows.Forms.ToolStripSeparator
|
||||
Me.mMenInfoAbout = New System.Windows.Forms.ToolStripMenuItem
|
||||
Me.msMain.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'pnlDock
|
||||
'
|
||||
Me.pnlDock.ActiveAutoHideContent = Nothing
|
||||
Me.pnlDock.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.pnlDock.DockLeftPortion = 230
|
||||
Me.pnlDock.DockRightPortion = 230
|
||||
Me.pnlDock.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow
|
||||
Me.pnlDock.Location = New System.Drawing.Point(0, 27)
|
||||
Me.pnlDock.Name = "pnlDock"
|
||||
Me.pnlDock.Size = New System.Drawing.Size(842, 496)
|
||||
Me.pnlDock.TabIndex = 13
|
||||
'
|
||||
'msMain
|
||||
'
|
||||
Me.msMain.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.msMain.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFile, Me.mMenView, Me.mMenTools, Me.mMenSep1, Me.mMenQuickConnect, Me.cmbQuickConnect, Me.mMenPlay, Me.mMenInfo})
|
||||
Me.msMain.Location = New System.Drawing.Point(0, 0)
|
||||
Me.msMain.Name = "msMain"
|
||||
Me.msMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.msMain.Size = New System.Drawing.Size(842, 27)
|
||||
Me.msMain.TabIndex = 16
|
||||
Me.msMain.Text = "Main Toolbar"
|
||||
'
|
||||
'mMenFile
|
||||
'
|
||||
Me.mMenFile.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenFileNew, Me.mMenFileLoad, Me.mMenFileSep1, Me.mMenFileSave, Me.mMenFileSaveAs, Me.mMenFileSep2, Me.mMenFileExit})
|
||||
Me.mMenFile.Image = Global.mRemote.My.Resources.Resources.File
|
||||
Me.mMenFile.Name = "mMenFile"
|
||||
Me.mMenFile.Size = New System.Drawing.Size(51, 23)
|
||||
Me.mMenFile.Text = "&File"
|
||||
'
|
||||
'mMenFileNew
|
||||
'
|
||||
Me.mMenFileNew.Name = "mMenFileNew"
|
||||
Me.mMenFileNew.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.N), System.Windows.Forms.Keys)
|
||||
Me.mMenFileNew.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileNew.Text = "New Connections"
|
||||
'
|
||||
'mMenFileLoad
|
||||
'
|
||||
Me.mMenFileLoad.Name = "mMenFileLoad"
|
||||
Me.mMenFileLoad.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.O), System.Windows.Forms.Keys)
|
||||
Me.mMenFileLoad.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileLoad.Text = "Open Connections"
|
||||
'
|
||||
'mMenFileSep1
|
||||
'
|
||||
Me.mMenFileSep1.Name = "mMenFileSep1"
|
||||
Me.mMenFileSep1.Size = New System.Drawing.Size(238, 6)
|
||||
'
|
||||
'mMenFileSave
|
||||
'
|
||||
Me.mMenFileSave.Name = "mMenFileSave"
|
||||
Me.mMenFileSave.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenFileSave.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileSave.Text = "Save Connections"
|
||||
'
|
||||
'mMenFileSaveAs
|
||||
'
|
||||
Me.mMenFileSaveAs.Name = "mMenFileSaveAs"
|
||||
Me.mMenFileSaveAs.ShortcutKeys = CType(((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.Shift) _
|
||||
Or System.Windows.Forms.Keys.S), System.Windows.Forms.Keys)
|
||||
Me.mMenFileSaveAs.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileSaveAs.Text = "Save Connections As"
|
||||
'
|
||||
'mMenFileSep2
|
||||
'
|
||||
Me.mMenFileSep2.Name = "mMenFileSep2"
|
||||
Me.mMenFileSep2.Size = New System.Drawing.Size(238, 6)
|
||||
'
|
||||
'mMenFileExit
|
||||
'
|
||||
Me.mMenFileExit.Name = "mMenFileExit"
|
||||
Me.mMenFileExit.ShortcutKeys = CType((System.Windows.Forms.Keys.Alt Or System.Windows.Forms.Keys.F4), System.Windows.Forms.Keys)
|
||||
Me.mMenFileExit.Size = New System.Drawing.Size(241, 22)
|
||||
Me.mMenFileExit.Text = "Exit"
|
||||
'
|
||||
'mMenView
|
||||
'
|
||||
Me.mMenView.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenViewAddConnectionPanel, Me.mMenViewConnectionPanels, Me.mMenViewSep1, Me.mMenViewConnections, Me.mMenViewConfig, Me.mMenViewErrorsAndInfos, Me.mMenViewSessions, Me.mMenViewScreenshotManager, Me.mMenViewSep2, Me.mMenViewFullscreen})
|
||||
Me.mMenView.Image = Global.mRemote.My.Resources.Resources.View
|
||||
Me.mMenView.Name = "mMenView"
|
||||
Me.mMenView.Size = New System.Drawing.Size(58, 23)
|
||||
Me.mMenView.Text = "&View"
|
||||
'
|
||||
'mMenViewAddConnectionPanel
|
||||
'
|
||||
Me.mMenViewAddConnectionPanel.Name = "mMenViewAddConnectionPanel"
|
||||
Me.mMenViewAddConnectionPanel.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewAddConnectionPanel.Text = "Add Connection Panel"
|
||||
'
|
||||
'mMenViewConnectionPanels
|
||||
'
|
||||
Me.mMenViewConnectionPanels.Name = "mMenViewConnectionPanels"
|
||||
Me.mMenViewConnectionPanels.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewConnectionPanels.Text = "Connection Panels"
|
||||
'
|
||||
'mMenViewSep1
|
||||
'
|
||||
Me.mMenViewSep1.Name = "mMenViewSep1"
|
||||
Me.mMenViewSep1.Size = New System.Drawing.Size(187, 6)
|
||||
'
|
||||
'mMenViewConnections
|
||||
'
|
||||
Me.mMenViewConnections.Checked = True
|
||||
Me.mMenViewConnections.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewConnections.Name = "mMenViewConnections"
|
||||
Me.mMenViewConnections.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewConnections.Text = "Connections"
|
||||
'
|
||||
'mMenViewConfig
|
||||
'
|
||||
Me.mMenViewConfig.Checked = True
|
||||
Me.mMenViewConfig.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewConfig.Name = "mMenViewConfig"
|
||||
Me.mMenViewConfig.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewConfig.Text = "Config"
|
||||
'
|
||||
'mMenViewErrorsAndInfos
|
||||
'
|
||||
Me.mMenViewErrorsAndInfos.Checked = True
|
||||
Me.mMenViewErrorsAndInfos.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewErrorsAndInfos.Name = "mMenViewErrorsAndInfos"
|
||||
Me.mMenViewErrorsAndInfos.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewErrorsAndInfos.Text = "Errors and Infos"
|
||||
'
|
||||
'mMenViewSessions
|
||||
'
|
||||
Me.mMenViewSessions.Checked = True
|
||||
Me.mMenViewSessions.CheckState = System.Windows.Forms.CheckState.Checked
|
||||
Me.mMenViewSessions.Name = "mMenViewSessions"
|
||||
Me.mMenViewSessions.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewSessions.Text = "Sessions"
|
||||
'
|
||||
'mMenViewScreenshotManager
|
||||
'
|
||||
Me.mMenViewScreenshotManager.Name = "mMenViewScreenshotManager"
|
||||
Me.mMenViewScreenshotManager.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewScreenshotManager.Text = "Screenshot Manager"
|
||||
'
|
||||
'mMenViewSep2
|
||||
'
|
||||
Me.mMenViewSep2.Name = "mMenViewSep2"
|
||||
Me.mMenViewSep2.Size = New System.Drawing.Size(187, 6)
|
||||
'
|
||||
'mMenViewFullscreen
|
||||
'
|
||||
Me.mMenViewFullscreen.Name = "mMenViewFullscreen"
|
||||
Me.mMenViewFullscreen.Size = New System.Drawing.Size(190, 22)
|
||||
Me.mMenViewFullscreen.Text = "Fullscreen (Kiosk Mode)"
|
||||
'
|
||||
'mMenTools
|
||||
'
|
||||
Me.mMenTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenToolsUpdate, Me.mMenToolsSSHTransfer, Me.mMenToolsSep1, Me.mMenToolsOptions})
|
||||
Me.mMenTools.Image = Global.mRemote.My.Resources.Resources.Tools
|
||||
Me.mMenTools.Name = "mMenTools"
|
||||
Me.mMenTools.Size = New System.Drawing.Size(61, 23)
|
||||
Me.mMenTools.Text = "&Tools"
|
||||
'
|
||||
'mMenToolsUpdate
|
||||
'
|
||||
Me.mMenToolsUpdate.Image = Global.mRemote.My.Resources.Resources.Update
|
||||
Me.mMenToolsUpdate.Name = "mMenToolsUpdate"
|
||||
Me.mMenToolsUpdate.Size = New System.Drawing.Size(160, 22)
|
||||
Me.mMenToolsUpdate.Text = "Update"
|
||||
'
|
||||
'mMenToolsSSHTransfer
|
||||
'
|
||||
Me.mMenToolsSSHTransfer.Image = Global.mRemote.My.Resources.Resources.SSHTransfer
|
||||
Me.mMenToolsSSHTransfer.Name = "mMenToolsSSHTransfer"
|
||||
Me.mMenToolsSSHTransfer.Size = New System.Drawing.Size(160, 22)
|
||||
Me.mMenToolsSSHTransfer.Text = "SSH File Transfer"
|
||||
'
|
||||
'mMenToolsSep1
|
||||
'
|
||||
Me.mMenToolsSep1.Name = "mMenToolsSep1"
|
||||
Me.mMenToolsSep1.Size = New System.Drawing.Size(157, 6)
|
||||
'
|
||||
'mMenToolsOptions
|
||||
'
|
||||
Me.mMenToolsOptions.Image = Global.mRemote.My.Resources.Resources.Options
|
||||
Me.mMenToolsOptions.Name = "mMenToolsOptions"
|
||||
Me.mMenToolsOptions.Size = New System.Drawing.Size(160, 22)
|
||||
Me.mMenToolsOptions.Text = "Options"
|
||||
'
|
||||
'mMenSep1
|
||||
'
|
||||
Me.mMenSep1.Name = "mMenSep1"
|
||||
Me.mMenSep1.Size = New System.Drawing.Size(6, 23)
|
||||
'
|
||||
'mMenQuickConnect
|
||||
'
|
||||
Me.mMenQuickConnect.Name = "mMenQuickConnect"
|
||||
Me.mMenQuickConnect.Size = New System.Drawing.Size(87, 20)
|
||||
Me.mMenQuickConnect.Text = " &Quick Connect:"
|
||||
'
|
||||
'cmbQuickConnect
|
||||
'
|
||||
Me.cmbQuickConnect.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
|
||||
Me.cmbQuickConnect.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
|
||||
Me.cmbQuickConnect.Name = "cmbQuickConnect"
|
||||
Me.cmbQuickConnect.Size = New System.Drawing.Size(120, 23)
|
||||
'
|
||||
'mMenPlay
|
||||
'
|
||||
Me.mMenPlay.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
|
||||
Me.mMenPlay.Image = Global.mRemote.My.Resources.Resources.Play_Quick
|
||||
Me.mMenPlay.Name = "mMenPlay"
|
||||
Me.mMenPlay.Size = New System.Drawing.Size(28, 23)
|
||||
Me.mMenPlay.Text = "Play"
|
||||
'
|
||||
'mMenInfo
|
||||
'
|
||||
Me.mMenInfo.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
|
||||
Me.mMenInfo.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mMenInfoHelp, Me.mMenInfoWebsite, Me.mMenInfoSep1, Me.mMenInfoAbout})
|
||||
Me.mMenInfo.Image = Global.mRemote.My.Resources.Resources.Info
|
||||
Me.mMenInfo.Name = "mMenInfo"
|
||||
Me.mMenInfo.Size = New System.Drawing.Size(53, 23)
|
||||
Me.mMenInfo.Text = "&Info"
|
||||
'
|
||||
'mMenInfoHelp
|
||||
'
|
||||
Me.mMenInfoHelp.Image = Global.mRemote.My.Resources.Resources.Help
|
||||
Me.mMenInfoHelp.Name = "mMenInfoHelp"
|
||||
Me.mMenInfoHelp.Size = New System.Drawing.Size(116, 22)
|
||||
Me.mMenInfoHelp.Text = "Help"
|
||||
'
|
||||
'mMenInfoWebsite
|
||||
'
|
||||
Me.mMenInfoWebsite.Image = Global.mRemote.My.Resources.Resources.Website
|
||||
Me.mMenInfoWebsite.Name = "mMenInfoWebsite"
|
||||
Me.mMenInfoWebsite.Size = New System.Drawing.Size(116, 22)
|
||||
Me.mMenInfoWebsite.Text = "Website"
|
||||
'
|
||||
'mMenInfoSep1
|
||||
'
|
||||
Me.mMenInfoSep1.Name = "mMenInfoSep1"
|
||||
Me.mMenInfoSep1.Size = New System.Drawing.Size(113, 6)
|
||||
'
|
||||
'mMenInfoAbout
|
||||
'
|
||||
Me.mMenInfoAbout.Image = Global.mRemote.My.Resources.Resources.mRemote
|
||||
Me.mMenInfoAbout.Name = "mMenInfoAbout"
|
||||
Me.mMenInfoAbout.Size = New System.Drawing.Size(116, 22)
|
||||
Me.mMenInfoAbout.Text = "About"
|
||||
'
|
||||
'frmMain
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(842, 523)
|
||||
Me.Controls.Add(Me.pnlDock)
|
||||
Me.Controls.Add(Me.msMain)
|
||||
Me.Icon = Global.mRemote.My.Resources.Resources.mRemote_Icon
|
||||
Me.MainMenuStrip = Me.msMain
|
||||
'Me.MaximumSize = New System.Drawing.Size(20000, 4000)
|
||||
Me.Name = "frmMain"
|
||||
Me.Text = "mRemote"
|
||||
Me.msMain.ResumeLayout(False)
|
||||
Me.msMain.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
Friend WithEvents pnlDock As WeifenLuo.WinFormsUI.Docking.DockPanel
|
||||
Friend WithEvents msMain As System.Windows.Forms.MenuStrip
|
||||
Friend WithEvents mMenFile As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenView As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenTools As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenQuickConnect As System.Windows.Forms.ToolStripLabel
|
||||
Friend WithEvents mMenPlay As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfo As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileNew As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileLoad As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileSave As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSaveAs As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenFileSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenFileExit As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsUpdate As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenToolsOptions As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoHelp As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoWebsite As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenInfoSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenInfoAbout As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConnectionPanels As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenViewSessions As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConnections As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewConfig As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewErrorsAndInfos As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewScreenshotManager As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenViewAddConnectionPanel As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents cmbQuickConnect As System.Windows.Forms.ToolStripComboBox
|
||||
Friend WithEvents mMenViewSep2 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenViewFullscreen As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents mMenToolsSSHTransfer As System.Windows.Forms.ToolStripMenuItem
|
||||
|
||||
End Class
|
||||
@@ -118,32 +118,14 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="msMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>13, 8</value>
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="mMenFile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAsFJREFUOE9Nk0tP
|
||||
E1EYhls36MYfYhQhGGOCUUMCBiUxirpxg9ACSqJxodEEDEFMYKt4SUyMK9cGikgvNEBbqNwUekG5FAoU
|
||||
6MW208uZzqWv35lCyyTPOTOZOc+83zdn9AB0tS8nmk6cLLt3TK+r0ul0xwk9URhBA/I6JZ9fS8Rg0wvx
|
||||
p5MfGiTtPj+4oP61YzIqsOi/tKjE0iJiqRJRQQTdgz8koGswCOPASqa6faiMr+Now/U+Z1jISsrUhgT3
|
||||
pgx3UMb0hgxnIIfxFRE/fGmIMmBazqLr2yYMb1aylzpMmkQTNPS7sslMDnNbCua3ZJplzGiSHCZWRZh9
|
||||
GRKomAspcO9I6P0eRM0L+9dSgn4X44IFEvzalrGwrWiyn5sSHGs5WP9kEdhPa6WkmIz9eAbUN8p0WAIJ
|
||||
EukclugNHmJpV8VvTcJTSFoKC6UY9qQwtJhEgvpU1+NgRcG1PheLk8C/m4ePFnsJT0jFIslmqSdTgYLE
|
||||
9jcLC/UhnpZQ98pVEtSTIEaC5b28hp/wkWxpp5BEk1CSSSqHi2IkqO05Irja62LRVA6+4mK1mIRLeF9m
|
||||
qRyexEWEBQk13UcEtT1OFqHvzd/KSzjES2UcppgLKpjhn5gQqJGXO52lEmq6nWwvKcK7U4hdgJpJ8BLm
|
||||
afEs4aa9MU0CJqmofjZeElzpdLBQguGOScRdE8PtYYZGOm8cFHFriGncHGS4cUAmp+D8Y3tJcPH5ONuK
|
||||
MTyaUPFlGfjsBz75gI80v6f5HTHgBd56AOOYjDSVUNlmKQkuPLFnApFMvt2uos2maA8ZxhSNZrpuscm4
|
||||
b5XRxK+tCt+V6hnDaKq4D6oeWNfDSVEIRJm6HsliPZzF6gGRlAQO73yKKaD/TVXz+cSpphHKdLATzz20
|
||||
dFQYzdbKVkusotXMihjN7CxRbhwtYNCIn24esZU3j7RwwX/Yvio5QNtWmQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenViewConfig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDQAA
|
||||
Cw0B7QfALAAAArhJREFUOE91U91LU3EYnt0GjUYSgv+EoDeCgXkhiuBAL7swoTWUEryYF2JXQlebTIlK
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK/wAA
|
||||
Cv8BNGKaggAAArhJREFUOE91U91LU3EYnt0GjUYSgv+EoDeCgXkhiuBAL7swoTWUEryYF2JXQlebTIlK
|
||||
pA1bmfODND+DpqUzt5Vfm7NtZx9n52xnui9zm/m5p9/vlINcHnjhnPf83ud5n/d9fhIAkv9FQ0NDrU6n
|
||||
29fr9cnS0tKqq87lFQ8MDNxqaWm5oVKpjPFEEql0Gp2dnYb29vbrGo3m9mWgHIDBYGh7PzmZ1en1gtE4
|
||||
kgoLEYTCAmLxOE5OTzExMXHw2mAQTCZT9vmLF8oLIBFAJpNde/N2iGP5EOKJhBh70SjYIAchEsHu3h4O
|
||||
@@ -161,201 +143,148 @@
|
||||
<data name="mMenViewSessions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDQAA
|
||||
Cw0B7QfALAAAA4RJREFUOE9lk3tMk1cchg8a562VKXGZUxMNy8a8zM3bNIW1Omi/Xj5LKa2UYgvSyxDa
|
||||
CrSFUq4lghTKrMMKBQ0mRggiMrIJjuDGNk2WbfES4oIgGqNRZ5TpGqmG9t0H/qNykifnknOe8+aXcyIA
|
||||
kNebfmPU9HRqdVZExMfL3yX+99jhrcHJMHnyfNazkaezy8dfhJoRDk++2sgIXqcwdjGZws5ZEunaEXnJ
|
||||
R78Dj2QuvLJI1EgWw7iNHUjZvlyaRcUQI/+jmQJvPItMcWjH/FW+xGX4rlSCs0UUHPFRMHNYSNswF+XK
|
||||
T6s6K5TklDNxpqApOYpM0SBZuKLDQYeej13E45+86K3X4UKTFd8fsaIzb6PryjE9+bMxnZCvdRmv0O+N
|
||||
MKarVUWC1bfLuKx/7LGsRxbxuhdD/a0IXO3Ay6FOBId7caenOJwhV+hiZMfJetlhQrIz90yTpdu7uUAZ
|
||||
N+JRRMNNL4U7eRX2cRahJFOIe321+PeXBoz/WAG3STWxYMtBw6Kdx8gCbiMhVtH6afKFG4rL6WiU8JfC
|
||||
KV6JHOZwbsIHkMTMQ5XLgtp6F3wtfrT+FsJnioGbc7Y1f8XiMYJcDpvkcRaS7C1znBVpseg/mo8zVVq4
|
||||
M7aiyZoIQ0I08s9dhvpnIKkHqBwEDv0QxIfirrFI7mEO0Yo2EwUVR3QJ6wxDHeUIjvYjeK0DTy76MTHc
|
||||
h4F6LfStI0htD0N+PAT+EUDfPI6+E3605fJvEL5QTLYL1GQTL0X8bU5C4L9LPoSGmavGzuPBgAd2oxxy
|
||||
/32knASUbUBaO5Ok6DIGWypxp3bTJBGJREQoEsfEcuMvlDgLQ06bGaerM9FQqEahLRcmkxnCrBokt9zF
|
||||
7lOPwTtwCxz66L3eEsEfw63pNiKgk1bsM1kGpbt2wWq1Qac3oLu7Gz6fD3s0Wlj278dupRJfCPMCn4hP
|
||||
3l3J77oep/Rn/9qge3+0LWc+cWp3dvk9ZXBVHoBKpUJqaiq8Xi9qatyQSCSQyWSw2QvwTWk27Cruibef
|
||||
Pnno+Rx/tZchr6AYdXV1TGQTaJoGRVEwGo2w2ZhUBiMe9ZZirGLtyxmCkUb52R4nH0mqdDgcDlRXV0/3
|
||||
Go0GbrcbZrMZAkqI3w/y8XdjClPGNz8fGW03sfvq1Gu/jBe6mILeVigU41KpdIIZT8jl8gCPx7tJUSLd
|
||||
Vb9mzY02C/ttwf8MViWur2j6ngAAAABJRU5ErkJggg==
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK/wAA
|
||||
Cv8BNGKaggAAA4RJREFUOE9lk21MU3cUh/9L5pxabCoz2YsmLiwbDp0TddMU1sLo7e3LtZTSQim2ILft
|
||||
ENoKtIVSXksEKRStwwoVDSZGCGPIyDbYCG5s02TZFudCtiDIjNFszjiWrFmZWf3tln2Z8uHJOV/Oc345
|
||||
ySEAyP9hd24gcUo4zKmJrzRlJk6HVIJol4IfrcsQ3M1LfaaUShE8KdnKJ3EeGY6LatIEy7iFG/i+DP6V
|
||||
EPMUAsrVCKr5aFcKYN2bEMnf94KqlE4mVurllYJgFo/EOZ6xZkso+zl80KDExVoanqxE2IU8FO5YjSbd
|
||||
a63DzTpywZu9UtCbm0jidCvXbRryMLG/Fi7j/mdBjHexuNTrxIcnnRiuTPV9f8ZMvu0pIuQdtvg/zAef
|
||||
sBYZ9LXSF282ini/udN49xyKbX/PTPYjcm0ID2aGsTQ7jltjdQ+LNVo2WX2WbFefIKSs5MAypezB3dW6
|
||||
9LmANgl+ZiP8uVtwSLge9SUy3JnowB9fdGPx02b4bfro2j1HLeszz5C1oh5CnPLty1TJdtQ1MUmopzbC
|
||||
q9iMcm64QvI8lMlPo9XnQEeXD6G+MPq/iuF17dSNVXtPv80Tc4IKYQKpFK4jZXtWeZsL0zB5qgrvt5rg
|
||||
L34Dvc5sWCRJqPr4KgyfAzljQMs0cPyjJbykGFngi04IiUm+m2jpdMJKtllmhpqwND+JpR+G8PvlMKKz
|
||||
E5jqMsHcP4eCwYfQnI2BOgmYTy9i4lwYAxXUdULJFGSf1EB2ifMV75ZLIn9eCSE2y61a+AS/TgXgtmqg
|
||||
Cf+C/POAbgAoHOSS1F7FdF8LbnXs+ofI5XIikyuS00RZl+q9NTGvy4732krQXWNAjasCNpsdstJ25Pbd
|
||||
Rt6F+xAf+RlC5tSd8XrpN7P9RS4iZXI2HbI5plX798PpdIE1WzA6OopQKIQDRhMchw8jT6fDm7LKyFbF
|
||||
+dubqZEf03Xhsi+72WfnB8rXEK8pcyQcaISv5Qj0ej0KCgoQDAbR3u6HUqmEWq2Gy12NYw1lcOtF5x7/
|
||||
HXI3sBPfDTaisroOnZ2dXGQbGIYBTdOwWq1wubhUFivujTdgoTnlwQrBXI/m4piXQo6+CB6PB21tbcvV
|
||||
aDTC7/fDbrdDSsvw9VEKP/Xkc2d89HvJ/KAtYaLTkPJWlszHHfSmVqtdVKlUUa6PajSaiFgsvkHTcvZa
|
||||
2Pjq9QFHwuOCfwHdFSeIQMKMzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenViewScreenshotManager.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjxJREFUOE+lk+9P
|
||||
EnEcx+uP6lnrx9aj1mqz5uxBtkbMRa3WcukwE9F5JvFDTwFBusgChZISRZOwglEy5VduOZu1msWPAd4B
|
||||
J+ej3n2PBwTCaqvbXrfv/Xp93vt8P3cQwIH/OkSB1R1RMy+iqTFnmNPYG2Aj96qgHWHO7Apry8XFEzMb
|
||||
TWey2Z9Fnge/K/yRbFFAmi3A8CzCVgRi5UKRx9jcNtRzMSjmp2Fdo+GI98MWU2LUr8KVBybcsgTQYfmI
|
||||
TEHAqDPKVQRaElusbJjfBrWwCOsqjakP7TCvtsGwIoExJIPK2wfZ+BPImQ2kuQaCAhGML3yHwjMJO6lq
|
||||
DEkx/O4CVP7zoN62QOO/iYsj99H9aBMprkQSRGoTcERgXvyBHrcVD8Pd0AVbQb1pRu9yE+6+agLlu4ZW
|
||||
3T30Pv6EJLtbL2B5AZaXCVBuD2j/ILRBCRTLZyFfOoMeXwvuPO+ETD+JfvsWkjsNEuyQ7jLeJGhPHJ0O
|
||||
BtTsDQz5pKC8l9DlvIrL9DCJH8Tg9Od6gbj3OdJZqy9Vloy4Y7itbMWA5gQo1XEo+pqhtL2HZuYrVE+/
|
||||
ILE/gSjI5gXIHafRMXUK7baTMHUdwjpzDnGCa+Ao2kzHIDUegUR/uF6gtq1xOSLwb72uEFx3IbQygbjr
|
||||
OgKbSzXPErkSaEfVLmjKglLNS9Wy/etETqgV6J3hbzk2jzxpZJ7fA1dGAEeu2Tr2kCmPcvT3KE+4IkOm
|
||||
mWhAHA4x2t8g/wFHvtFVRllc/Cu/AAZ/6ElKbpVOAAAAAElFTkSuQmCC
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjpJREFUOE+lk91P
|
||||
UnEYx/2numu9bF21Vps1ZxfRGjEXtVrLpcNMROcxiRc9CgoSkQUKJSWKJmEFo2TKW241nbWaxcsAzwGO
|
||||
HK/69jvngkBYXXjx3X5vz+f57nmeXxOApsNIDLZ5ohrrq1h6zBVhtY4GspOzKtHOCGt2R3RCrAiwzsUy
|
||||
2Vzud4njwO3x/1SuxCPDFGF8EWUqACFzscRhbH4Hmvk4lAszsK3TcCb6YY+rMBpQ49ojE+5YguiwfEa2
|
||||
yGPUFWMrAB2xLWQ2LuyAWlyCbY3G9Kd2mNfaYFyVYjwsh9rXB/nEMyisX5BhGwCKBDCx+BNK7xQcJOt4
|
||||
WIbhD5egDlwE9b4V2sBtXB55iO4nm0izZeIgWuuAJQDz0i/0eGx4HOmGPiQB9a4FvSvNuP+mGZT/BiT6
|
||||
B+h9uoUUs1cPYDgeltdJUB4v6MAgdCEplCvnoVg+hx5/K+697ITcMIV+xzZSuw0c7JLqWn0p0N4EOp1W
|
||||
UHO3MOSXgfJdQZfrOq7Sw8R+CIMzX+sBQu/zpLI2f1qEjHjiuKuSYEB7CpT6JJR9LVDZP0I7+x3q59+Q
|
||||
POhAAOQKPBTOs+iYPoN2+2mYuo5gw3oBCSL3wHG0mU5ANn4MUsPReoDGvs7mCSCw/bai0IYb4dVJJNw3
|
||||
EdxcrrlL5sugnVVd0IqAcs2jatjBdTLP1wIMrsiPPFNAgRSywO2DFcWDJXumTvvIiqMc+zvKk+7okGk2
|
||||
FhSGQ7D2P5F/wJIYfWWUD/Od/wAx6RUqGJsn2QAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenViewExtAppsToolbar.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmhJREFUOE+lU9tL
|
||||
01EcP/0VvbqxiQ6dOp2b25xzzgspRrvpNkeMTBqiszSzGgrSKlIYtV9RZJl0UdOJjbSctFUrsKcxg3oo
|
||||
/GF0ocCHpHrwoU87B04UBAke+Dx+vp8bZxcAsqN3/ebdK8vJ1Fby2QoST1cQf/wcC/EnuLf4CDOxJdye
|
||||
XcD45Dwu35jBhat3MHJxAqHwGIJnhK3O3sFukiX/fLl3D95Fd8M8b8SrN+v/xeu36/j0ZQPdJ0ciJJl6
|
||||
ga/LD/HjvYD7H2L4+HljW9j89h3+Y6cFQi2XlJRApVKhtLQUZWVlUKvVKC8vh0ajQUVFBfR6PQwGAyor
|
||||
K1FVVYXq6mrU1NSgvWdIIEuJFCPl5ORAIpFAKpVCJpNBLpcjNzcXeXl5UCgUKCgoQGFhIYqKiphgXV0d
|
||||
eofCAqGF8QPpdBpTU1PbPpDtQCCxBwlmkyuura2hr6/vn6o0Jo/Y2NiIQ/0hgczG4ixbfn4+MpkMotEo
|
||||
lErlb6ucxDvRarXQ6XRobm7GgcCgQCbnFmE2mxmhuLiY5eNlUhIFJ9EyqRiF1WrF/s4BgUxMx1BfX/8X
|
||||
ibdPlfgCRqORLWAymdgKDocDno5egYzdmgPNQ1VoF5T052R8NuqSwmKxoLa2Fi0tLXD6ugVyaXya5eHW
|
||||
uBJVoQS6NyfR6SgaGhrgdrth8/oFci5ybZPmsdlssNvtzJrT6WQKFK2trXC5XIzg8XjQ1tbG4PV60eT0
|
||||
jZLAwHAgGDq/GgxFxP7hsHhkcFTsOn5W9B89JR7sGRJ9XSdEr79fdLcfFrOWxayquM/dITY5fKuWJoeJ
|
||||
0O+8E/wCTNYVG3agVjIAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenView.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAvBJREFUOE+lk1lP
|
||||
E1EYhuvdqNF4bYKBACKgFpU6QCnQlmmhdKd0h0IXKEV2jYQE0EGDokFQEEGs0EIBa6hlExDZjJCIiRhC
|
||||
RRZpUa/8EcevF4qICRdOci4mM+97nuebMwcQQpT/ui4vmPHyeTNe+saEF03rccsrHZ47qsX1L5R45rN0
|
||||
XNktwtOtPFzYysFTm5i4f8M/F6V8Po8omTNhhVN6LH88CzMNa7AclwLT9ksxhU2ISTtSMX4LgXHvJWGs
|
||||
W3RiT0HxrJG49DrnIJCQQEKWzpnIoik9aZnQkaYRLZnjUpLa/nRSYReRglZOJ5BUA0n1ryJKwWQ2kfcy
|
||||
8xCQ2AqnDTTLRHZc7og20eBWsXTODI7aIeZldPL54naumHWbUQkkPCCx/i4AXwJ8DxfNGOygwICi1bK3
|
||||
eZ9LZo1rQLZuHs/cMA6rN7MH5Jsqh/i73CbYgLIfQLIIJIsU8CXA9wgMz24cUidDAQKCSuOgqj57QPEw
|
||||
0ylzqHslgxCcFLdxP0JwntuQtAUkbiBBFE2vhJB3CY6aRjR23XM5D2aCTMPqDijuz3LKRtUOyYy8i78g
|
||||
eZz6nveAvc5tTFpi1tG3mXVxQ/RrNESRPeUTojbuMUDsVvaIpTATBEpjEJ5TOSTvwH9J3J6ynNbM9hB3
|
||||
GF4IrtBraNtxNdFuWkUUogASAS6E0i4cE7QQVTATpOmTehR24Zr0CW9T0Ep4UxqZXnZ9vC+hFvdB+BOt
|
||||
guqLvkp1UUsjdg4FkFiBRAroSNUj+iCzpi0LH3FWUppYHnY9YzXhRsxqbNUFDwRXqCXh3rPF4c4IS+hO
|
||||
AZBYgcQKM0Hg+zWtOfkbpyERXOnb8dcv+vDKc97zV874g1vh+aFfYDlCjUG7j6X/2wIJApIh3n3WIHGX
|
||||
4U68GesC3wHwdUaVRfadLgzrOWUOsYUYAruCdAF7C4AEAQkCZ5RQG4MAGwE28vtGFpxEYbnBKFgfiAKz
|
||||
AtAJzfG9BX+f9f3ud/1Z+738r+c/ASsl+hh77k39AAAAAElFTkSuQmCC
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmlJREFUOE+lVN1L
|
||||
k1EcPv9Ft06mzOF0m27qdHOb040cRpubc3PEyKQhTktbVuJAWkUKUr5FkWXSh5pObKTmJK1WYFdjBnVR
|
||||
7MXogwIvkurCi552DpwoCBK8eC6f3/PFOQQA2Q3IjVv3ri6vJrdXn61h5ekaEo+fYz7xBPcXHmE6voQ7
|
||||
M/MYm5jDlZvTuHjtLgYvjSM6PIq+s8J2e3d/iGTJP1/u24t3sT0wzxnw6s3Gf/H67QY+fdlE6NTgCFlN
|
||||
vsDX5Yf48V7Agw9xfPy8uSNsffuO4PEzAqGWVSoV1Go1SkpKUFpaCo1GA61Wi7KyMlRUVKCyshJVVVXQ
|
||||
6/Worq6GyWRCTU0NWrsiAllaSTJSTk4OJBIJcnNzIZVKkZeXh/z8fMhkMsjlchQWFkKhUKC4uJgJ1tXV
|
||||
oTsyLBBaGD+QSqUwOTm54wPZDgQSX1xhNrliJpNBT0/PP1VpTB6xvr4eh8NRgczEEyxbQUEB0uk0YrEY
|
||||
ioqKflvlJN5JeXk5dDodGhoacLCzXyATswswm82MoFQqWT5eJiVRcBItk4pROBwOHGjvFcj4VBxWq/Uv
|
||||
Em+fKvEFDAYDW8BoNLIVXC4XfG3dAhm9PQuah6rQLijpz8n4bNQlhcViQW1tLZqamuAOhARyeWyK5eHW
|
||||
uBJVoQS6NyfR6ShsNhu8Xi+c/qBAzo9c36J5nE4nGhsbmTW3280UKDweD5qbmxnB5/OhpaWFwe/3w+4O
|
||||
DJHO3oHOvuiF9b7oiBgeGBaP9g+JHSfOicFjp8VDXREx0HFS9AfDorf1iJi1LGZVxf3eNtHuCqxb7C7j
|
||||
rp4y/QZ+AXhAQe1Sf9VzAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenToolsExternalApps.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmhJREFUOE+lU9tL
|
||||
01EcP/0VvbqxiQ6dOp2b25xzzgspRrvpNkeMTBqiszSzGgrSKlIYtV9RZJl0UdOJjbSctFUrsKcxg3oo
|
||||
/GF0ocCHpHrwoU87B04UBAke+Dx+vp8bZxcAsqN3/ebdK8vJ1Fby2QoST1cQf/wcC/EnuLf4CDOxJdye
|
||||
XcD45Dwu35jBhat3MHJxAqHwGIJnhK3O3sFukiX/fLl3D95Fd8M8b8SrN+v/xeu36/j0ZQPdJ0ciJJl6
|
||||
ga/LD/HjvYD7H2L4+HljW9j89h3+Y6cFQi2XlJRApVKhtLQUZWVlUKvVKC8vh0ajQUVFBfR6PQwGAyor
|
||||
K1FVVYXq6mrU1NSgvWdIIEuJFCPl5ORAIpFAKpVCJpNBLpcjNzcXeXl5UCgUKCgoQGFhIYqKiphgXV0d
|
||||
eofCAqGF8QPpdBpTU1PbPpDtQCCxBwlmkyuura2hr6/vn6o0Jo/Y2NiIQ/0hgczG4ixbfn4+MpkMotEo
|
||||
lErlb6ucxDvRarXQ6XRobm7GgcCgQCbnFmE2mxmhuLiY5eNlUhIFJ9EyqRiF1WrF/s4BgUxMx1BfX/8X
|
||||
ibdPlfgCRqORLWAymdgKDocDno5egYzdmgPNQ1VoF5T052R8NuqSwmKxoLa2Fi0tLXD6ugVyaXya5eHW
|
||||
uBJVoQS6NyfR6SgaGhrgdrth8/oFci5ybZPmsdlssNvtzJrT6WQKFK2trXC5XIzg8XjQ1tbG4PV60eT0
|
||||
jZLAwHAgGDq/GgxFxP7hsHhkcFTsOn5W9B89JR7sGRJ9XSdEr79fdLcfFrOWxayquM/dITY5fKuWJoeJ
|
||||
0O+8E/wCTNYVG3agVjIAAAAASUVORK5CYII=
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAmlJREFUOE+lVN1L
|
||||
k1EcPv9Ft06mzOF0m27qdHOb040cRpubc3PEyKQhTktbVuJAWkUKUr5FkWXSh5pObKTmJK1WYFdjBnVR
|
||||
7MXogwIvkurCi552DpwoCBK8eC6f3/PFOQQA2Q3IjVv3ri6vJrdXn61h5ekaEo+fYz7xBPcXHmE6voQ7
|
||||
M/MYm5jDlZvTuHjtLgYvjSM6PIq+s8J2e3d/iGTJP1/u24t3sT0wzxnw6s3Gf/H67QY+fdlE6NTgCFlN
|
||||
vsDX5Yf48V7Agw9xfPy8uSNsffuO4PEzAqGWVSoV1Go1SkpKUFpaCo1GA61Wi7KyMlRUVKCyshJVVVXQ
|
||||
6/Worq6GyWRCTU0NWrsiAllaSTJSTk4OJBIJcnNzIZVKkZeXh/z8fMhkMsjlchQWFkKhUKC4uJgJ1tXV
|
||||
oTsyLBBaGD+QSqUwOTm54wPZDgQSX1xhNrliJpNBT0/PP1VpTB6xvr4eh8NRgczEEyxbQUEB0uk0YrEY
|
||||
ioqKflvlJN5JeXk5dDodGhoacLCzXyATswswm82MoFQqWT5eJiVRcBItk4pROBwOHGjvFcj4VBxWq/Uv
|
||||
Em+fKvEFDAYDW8BoNLIVXC4XfG3dAhm9PQuah6rQLijpz8n4bNQlhcViQW1tLZqamuAOhARyeWyK5eHW
|
||||
uBJVoQS6NyfR6ShsNhu8Xi+c/qBAzo9c36J5nE4nGhsbmTW3280UKDweD5qbmxnB5/OhpaWFwe/3w+4O
|
||||
DJHO3oHOvuiF9b7oiBgeGBaP9g+JHSfOicFjp8VDXREx0HFS9AfDorf1iJi1LGZVxf3eNtHuCqxb7C7j
|
||||
rp4y/QZ+AXhAQe1Sf9VzAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenToolsOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgVJREFUOE+Vk8tv
|
||||
EmEUxXHhX2L8U4waY4wrVy5lK0YXkqZpYIBhkEccCk6dIgttsHZaYyi2jKgjb5NR0pGHL2iKFAQtrhoX
|
||||
mDnemQWa2EKd5Mu3ub/znXvunWMALNO+eDxu03XdSrUn6bZYrdbjY8YQmHRisZhNFMX9TqeD4XCIaDRK
|
||||
5X+YibBRSHC93W6j1+shnU4jHA7/n4AgCCPj9UqlAp7ns4ZoMBiE3++Hz+cbTXVAln81m00UCgWEQqFX
|
||||
gUAgJ0kSGo0GWJadLBCJRM6QZb1araJcLiOTyUCWZWSzWeTzebjd7vqBDm6tfuG9iY8VsjwqlUpQVRXG
|
||||
XSwWkcvloCgKXC7XvtPptP0jwC3v8IvpHoSnXfiX30PTNKRSKXAcpxuW6dURwzB1h8NhM1fg75GwBrzR
|
||||
RabyA/LbIfxrbcyIGrxe70+Px3PioHGPBdyJHX6B4GcEJpQ+7j//imT5OxwPtnGZ014ftiumALO0zQvr
|
||||
Xchvhlh62Ud0fRcxamOt+A32eAsXmdqjQwXmCJ5PdrGpEvyij/nkLkRyspof4Oa9Fi443kmTNtVijzex
|
||||
oe6ZlvknHdyl8KTcADcWWzg/Nxk2Q7x65xP1ugdxk5KnNlYIvk7w2dmtx9P+E1Pgyu0PqhHUSnaAh8oA
|
||||
1xY+4/TM0eDxGC+xtRoFhXOzWzhlPzpsCPwGZiza7bmUpcQAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenTools.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDQAA
|
||||
Cw0B7QfALAAAAtpJREFUOE91Ud1P0mEYfbvor8itudZFV/0JXbXmWmuurS66aF7YbbRqydAMkTENUH4Q
|
||||
gnzYhvgxSUpA5EMlQHCTNFCwZup0KmFJV16RnJ4Hw7W2ftvZ+9vzvOc85znvud7eXvHXVzk5ORHVanWD
|
||||
zkGq93OvoaFBRrWHAC7TKUql0vkzjtVqFVqttg6sr68jmUyiu7v7WKlUyhwOh8xmsx3v7e2hXC7DbDaD
|
||||
6qIOwQJUFHq9ngGPx4N4PI5YLAaVSlUgcmF3dxfFYhGhUAhGo5Hrog4WqLAqN3Q6nSAkwuEwEokE1Gp1
|
||||
xWKxVHj6ysoKJEmKU602iFyD1q8ImlBha6zOF/r6+j5Eo1GkUiloNBoW/7W5uYmFhQVwjwewS16V+8Ju
|
||||
txd4AlvkKXxxcXER6XQaPT09VYPBUF1bW6vVWJjd8YqcE7kpCKfTWQuJ92QhnsaETCaDQCDANvFsIIu2
|
||||
wU81V7wa58Mhd3V1yQSlzGCRAu87YDZXOQ92kMvloLDloBzehnxoCy2qSJVz4XD5hW4rV0VdgLMQGG2V
|
||||
EHyBnTkXTEYJ2vHP0E7uwrf4A5Op72hzbuFW56qHIOo4E4C7RcJ0O7A8Bsz3wzmxBMv0AcLLZbhmv8ER
|
||||
KuJt8hBP7Vto6sh6CYJRE4D7gQS/AsiMAHN6wNeO2akI7ESKrvzEaKwEs38ftuABPIlDPCGRG4qslyAE
|
||||
XPcl+OREdgOzOmCK/qdVQMKKiGsEdiJFyIV7vgSTbx+D5GqCRB5bv+K6POsVcNwBloaB6Cvg3XMg8JLI
|
||||
FsB+F+i45NGM70hWEgl/JJG5EqT3e7D4DzAWO8TNjiwEXjcB6TdAkKb6O4H4AGAlUUWjVz26I/5AYtJM
|
||||
5jQP20wRE/FDNKvyJGC4lsFwyykxZgIszYD8olfl3hb/QDL5DhDMHNGrHNWe9p4mnz8NUX01D+UVstxI
|
||||
5AveTiL/B5J8aBOPBjbQaviSIYjfmuK35PAW5YUAAAAASUVORK5CYII=
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAftJREFUOE+Vk81v
|
||||
0mAcx/lf/FuMGmOMJ08ePYvRg2RZllKgFAvEMrDYwg664BybMQw3KmpteTOpklVefINlyEDQ1dPioWbf
|
||||
PeUwNW50Hppe+vn8vr/v89QFwOX0pNNptyRJLVEUrWQyaf35vSOcSqXcBNzr9/swTROJRILwv4c6Cgjc
|
||||
6vV6GA6HKBQKiMVi/ycQBMGyp9frdfA8r9rTI5EIOI5DKBSyHBOQyL86nQ7K5TKi0eircDisZbNZtNtt
|
||||
MAwzXRCPx8+SyPuNRgO1Wg3FYhGyLENVVZRKJfj9/taRCW6vfOGDmY91EtmqVqvQdR32u1KpQNM0KIoC
|
||||
n8+35/V63f8I2KVtXioMITwdgFt6D8MwkM/nwbLsvh2ZTLVomm5RFOW2+/hLwNjw+gDF+g/Ib01wqz3M
|
||||
iAaCweDPQCBw6qj7cijwZ7b5JIGfETCjjHD/+Vfkat9BPdjCFdZ4fdxlmwjoxS1eWBtAfmNi8eUIibUd
|
||||
pMgaq5Vv8Cx0cYluPjpWMEfg+dwAGzqBX4wwn9uBSJKslMa4le7iIvUuO+2quzwLHazru5PI/JM+7pHy
|
||||
stoYN6UuLsxNhyclXrv7iey6C3GDNE/WWCbwDQKfm9187PSTTQRX73zQ7aKW1TEeKmNcT37GmZmTwYfH
|
||||
eJlpNklROD+7idOek8O24AByavlRgSfdiAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenInfoHelp.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAArRJREFUOE+lk+1P
|
||||
kmEUh+tf0T+htZqrVav1rbbGhz70wan5CjS1XC2D5Swd5jRLSs1Mp4KaOqeiwJOACKKJ8iYIPJjIm/Iy
|
||||
EB541Gz7BSxBW2tt3dt1b/d2zrWdc59zFsCZ/zopwUlU5GGu0n7AUVj3SdkGTX0xxymJiSJnDVHOtG4v
|
||||
9/f4U8lyK82YsyR8Dv8hNndp2L1UGsdOAhZPAqNLQd/wop9xUpIREOtxhtgYi28F9qH/FoZw3g3euBUN
|
||||
oxvoJjahsQRh81H4JHPHu4ntjCQtEOmjOVNrEe+mn8aiNYS6ZFIX4YA7RMMVSmB8yYNaoRHSNR/Mrija
|
||||
pkhvy4QtJ92/1DW2HOSuu+NYdUTAHTLjca8eiYOjJD9+cYS6IQNqB3RYMAegXA+gXmjkZgT98z7Slqy1
|
||||
h9hCTa8O1T2rcAcTmF7xQG7aAZ2UyU1eMDtUaJu2wOgM40mPlswIOiVO2u6NgSswoOqjFqwuTTJYjRmt
|
||||
C2HqALthGn1zNpS1K1H1QQ2Law8svprOCFonbLTNE8PTQQOYnWpUvFeh/J0KMfo7tgMU2HwliltluJ+E
|
||||
zVfA7I6goFmeFbwQmkjTdgR8kQ2sDg3K+QsofTuPktfyNEWvCBQ1SVDYJEaDcAVaRwB368XZEpL1cCVa
|
||||
D9SWAKo6NZnEUHQfgT0a+bzZNEU8EYg1FwTJcm7VTmabyOYv5lS8WfAuWwOQrrrBbFegsFmK9gldmlRy
|
||||
QeMkRhR2KAwe3KwZ915/OJb9xlQz8nlzjHuNRFxl3oHc6MVLwTJKW8QobprB8z41pFonZHo3rlZ+jl9+
|
||||
MHx6kI5H8w5XxLj9bMrXT2zgq90PgzOUZsm6i26RCXksoe9iheDPo3wsufFoLPda9SjnSuUIeYk9ROUx
|
||||
hdSF8kHyfNkA51xJ/9+X6fdN+5f3T6xF2MGyA9nXAAAAAElFTkSuQmCC
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAq5JREFUOE+lk99P
|
||||
UmEcxv1b9E9oreZq1Wrd1da46KILp+ZPoKnlahksZ+kwp1lSamY6FdTUORUFTgIiiCaKgCBwMJFfyoGB
|
||||
cOCo2faELCGrdVEXn7v3+bx73vf7zQKQ9T/8FtaQhzlqxwFPZdsnFRsM/ckSp2VmmpwxRnlThr2cXy87
|
||||
JVDaGNasNeF3Bg6xucvA4aNTOHcSsHoTGFkM+ocWAqyfJWkBsR5nSU2x+Ba1j7UvYYjnPBCM2VA/soEu
|
||||
YhM6axB2P40PCk+8i9hOS1ICyVo0e3I14tsMMFiwhVCbDHUSTnhCDNyhBMYWvagRmyBf9cPijqJ1kvQ1
|
||||
j9uzj7MpwehSkL/uiWPFGQF/0IKHPWtIHBwl+faDI9QOGlHTb8C8hYJ6nUKd2MRPC/rm/KQ92bWb2EJ1
|
||||
jwFV3SvwBBOYWvZCad4Bk5QpzT6w2zVonbLC5ArjUbeeTAs6ZC7G4YuBLzKi8r0enE5d8rAW03o3wvQB
|
||||
dsMMemftKG1To/KdFlb3HjhCLZMWtIzbGbs3hscDRrA7tCh/q0HZGw1izFdsUzS4QjWKWhS4m4QrVMHi
|
||||
iSC/SZkRPBObSfN2BEKJHZx2HcqE8yh5PYfil8oUhS8IFDbKUNAoRb14GXonhdt10kyFZB++TO+F1kqh
|
||||
skOXDoai+6D2GOQJZlIUCiQgVt0QJevcqJnIPCJXuJBd/mret2SjIF/xgN2mQkGTHG3jhhTH4fyGCQyr
|
||||
HFAZvbhePea7en80843Hj5EnmGXdaSDiGssOlCYfnouWUNIsRVHjNJ72aiHXu6BY8+Byxcf4xXtDpwfp
|
||||
ZDRv8SWsm08m/X3EBj47AjC6QikWbbvokpiRyxH7z5eL/jzKJ5JrD0ZzrlSN8C5VDJMXuIN0LltMnysb
|
||||
IM+W9vPOFPf9fZn+Za2/A9evBaJ0QokTAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenInfoWebsite.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA3FJREFUOE9Vkt9P
|
||||
W3UYxmucdy5e+S9wPWO4wMAayuxGoTLEDFnkp7QNtIemNBbKYjcPNVSwSJs5lCnbYIUVKIWtZb9aoF1Z
|
||||
V6GnrW1poVAmmwpV7JwCxhkev+fEGT3JJ3nOm/N+3nPxvACA999HudBQQN4pQi7hVcIhwq+EAA5wwVxw
|
||||
6db/FlgBS4uv/hDhKuGPu99ZsJS5g9mHC3CsLmAq4cZEYgRNs9XPpHdOzzTMVL78fO/58ktk0TeU/BRb
|
||||
u0Gs7sQQ3WFg3wjBmV7GUCyGK2EGY2EfTIEuVNsrIlVjZa9wf//PdcvlRBfST+ex/NSPeDaO0HYYI6k4
|
||||
xtNr6Aum0PMggV5PAPa4GyZ/ByqGRTOcgFzOJ/y5+ds8HFknJp44cXPHg5uPYvgquYLPo6ugnEFQN/zQ
|
||||
LzoxsHEewR/tEF8U/lV8QVDGCmzO9BdY+smJ0ew0rL8EEMhEYAzF0bO4AqkjCJnLBdXyANRpGqq1DgyH
|
||||
Tbj6wICizwpus4LNb3++gaHNizBmvibXY/Bnwmi5HYJ0egkfBBYhS2kgXpFCnJCgOqqA7q4a3pQFRw15
|
||||
P7CC3bUns+hMfgQq1YaB7+cwurGE6mvfQOH2omf1FuqSI+BH2iAMN+OkqwqK8ffBPL6OPDp3j0fdq9tb
|
||||
z87iw4gaikgfBh+6UDPqR81UFBVf3keL6z46InZQPgdqrXZUWs9ANnwazKNp5Ope2+c1z9U8Dm1PoS/W
|
||||
ie61OZxdcKPWcAm0oQeDg4PQnPsYpedsOE5PkaznZvquTvSPGPB625FtHinGdXvCDEf6MpT3aDR+ooHJ
|
||||
ZMLW1hbW19fh8XjQoe+G8mw34okkN/P5SB/IN4Kawk1eveOUkBTjWTTjRJ3pXajb1GCiUVRR7SgpFUMi
|
||||
kcBsNkOr1XK5pLQEGl0LJ2lVt+5yRaq89ta0cV4DSlcPWk9zgiaLB4XHhHC73WAYBl6vFzabDUVvCqC1
|
||||
SDkBTdP7nODtK8WHSTEi9bp3QCnlnKCWaoWg6BiEQiHKy8s52CwoEkD0XvEuK5DJZFlOwHL8fOHhAm2e
|
||||
t+SU6KDX1AvrxDgmJyfR398PlUqF9vZ2LrMz65g1azQas2KxOPGvgJXk5OS8mC97o/VE2Ym9BknDQZO8
|
||||
Cc3yZhQq+NmjynyG5H25XL7f2Nj4u0gk2uDz+Uf+BlXgloy7HfxbAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="mMenInfo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAArBJREFUOE+lk+1P
|
||||
UmEYxutf0T+hc/rS2vRDc202SNI+ZNYwTdRWugqzwSrFRHwDFLAhGGq+UL5BSYqQwJGMkJfQ1JMDM2hr
|
||||
qy+QtSyvHmiittbaOtt1trPzXL/7ue7nfg4COPBfTxKwV3ma5cwTqpAoVxFkjzV749kyTzxLNs9mydyi
|
||||
o3eZzN/X7zNz1Eu84/JArLzHjx57BCPMRkp6axh89XPQopkYLbby9kLSAFKVl9PiSzRPrMDijaF7KgKJ
|
||||
8TXuDC1BblqB0bGOhpEQ6IrxBH15PA1JAXKVwYyc1oVo0mx6EYOImG70BzDoeotB5zquG/wQ9gVgmFmD
|
||||
5KEfdKkxSpcMZaT6l3zlyBfEZVovzJ73qO0PQUgiXNX58PnrVkpVOg+quj0Q3vei/1kYZ5qegirsE6cB
|
||||
2a0eVm+NQGlica3Hh2qdF1VaD3rtazAQVXQxv6RxkVgBqKeWQRfo2DTgiITZHJt/h9peP6n0EpX33GQx
|
||||
Q/4D20QClRNlHbNEDlzSOGFkwqB4nZtpAC22b466N1JZk5XK1S5iciEU+YTEly2UtttR0mbDBSKBwobh
|
||||
OQLgKvYCrKzWykL6aBGVGjcEnU5cVM7iVfgjAXxDsWwaxSQ3v8mCmm4GSksQ9Mn23Qh0jUVcJLdj0BFB
|
||||
pYqBQO6AxbOO7z+2UxH8bz6gSGImMqHrcQgFN0cIoG23ifSV0QxaYIzeHvbBYF1FqdwGfvMUzkknUVRv
|
||||
wtm6cRTWjaFl2EuOd45sXxqludLdY0w2g+IP8A7l6xOiAQ/008sQap1ky09wvsGMapUNalMAwl4GNKc+
|
||||
Qcz7B2lnNKkCPY/K74qdvjUB5eQiHjhZolW0m4PIqzWC4jTEaG7jn0d5B0KfUmdSvA4RladgKW5TnOI0
|
||||
xklFlkh0mFv/98v0+037l++fDRyfGvO8afwAAAAASUVORK5CYII=
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA2ZJREFUOE9dk91P
|
||||
k2cYxptsO5vZf8GxZvEAAzYUV6HQMcSImPEpbQPtCynNCmWx6ksXKlhGiRsTJypYsEApYItfLdBarBX6
|
||||
trUtLRRah26DbqzGCSxz8fLpm2imB7/kyp37/j0n18MBwPk/Da7qbMIIIUF4SfiHsEmYopxVeR/uvzsm
|
||||
Cx8TrqcP7v1iwGLyLmaezMOyMo+JiB1jkSHUzZS/Et89MV0zXfrpWxErIEefEFwD0fPY2PZiZSuE4BYD
|
||||
c8IHa3wJA6EQrvkZjPhd0HvaUW4uCZSNFH2Wvn0rMFyNtCP+Yg5LL9wIp8LwbfoxFAtjNL6Kbm8MnQ8j
|
||||
6HJ4YA7boXe3omRQMM0KyMtZhH/X/56DJWXF2HMrbm05cOtpCD9Hl/FDcAWU1QvqphuaBSv6Ehfg/d0M
|
||||
4SX+f/k/8orSApM1/hMW/7BiODUJ418eeJIB6HxhdC4sQ2zxQmKzQb7UB0Wchny1FYN+Pa4/1CL3++w7
|
||||
acH64z9vYmD9EnTJy+T1ENxJPxru+CCeXMQ3ngVIYkoIl8UQRkQoD8qgvqeAM2bAQW3mb2nB9urzGbRF
|
||||
z4KKNaPv11kMJxZRfuMRZHYnOlduoyo6BG6gGXx/Pb6ylUE2ehLMsylk0vt3ONT9qp211AxOBRSQBbrR
|
||||
/8SGimE3KiaCKLn4AA22B2gNmEG5LKg0mlFq/BaSwRNgnk5iv3rfLqd+tuKZb3MC3aE2dKzO4vS8HZXa
|
||||
K6C1nejv74fyzHcoPGPCYXqCZA0707S3oXdIi8+b925ySDGmzJEeWOJX0XifRu05JfR6PTY2NrC2tgaH
|
||||
w4FWTQcaT3cgHImyM5eL9IHs8Cpy1jnVlmN8UoxXwaQVVfrjUDQrwASDKKNaUFAohEgkQk9PD1QqFZsL
|
||||
CgugVDewkiZF0zZbpNIbX07q5pSg1NWgNTQrqDM4kHOID7vdDoZh4HQ6YTKZkPsFDyqDmBXQNL3LCo5c
|
||||
y99DihGoVh8F1ShlBZVUE3i5h8Dn81FcXMySzrxcHgRf52+nBRKJJPXuMx2+kLMnW5XpLDgmeN2l74Jx
|
||||
bBTj4+Po7e2FXC5HS0sLm9Mz44gxpdPpUkKhMPLeV87IyPgoS3KgKa8ob6dGVPO6TlqHemk9cmTc1MHG
|
||||
LIbkXalUultbW/tSIBAkuFzu3jfA3LOfi8khbAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="tsQuickConnect.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>651, 5</value>
|
||||
<value>521, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsExtAppsToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>348, 8</value>
|
||||
<value>374, 17</value>
|
||||
</metadata>
|
||||
<metadata name="cMenExtAppsToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>482, 8</value>
|
||||
<value>17, 56</value>
|
||||
</metadata>
|
||||
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>184, 56</value>
|
||||
</metadata>
|
||||
<metadata name="tmrShowUpdate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>102, 8</value>
|
||||
<value>112, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tmrAutoSave.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>233, 8</value>
|
||||
<value>252, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>37</value>
|
||||
<value>155</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -1,35 +1,58 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports Crownwood
|
||||
Imports mRemoteNG.App.Native
|
||||
Imports PSTaskDialog
|
||||
|
||||
Public Class frmMain
|
||||
Public prevWindowsState As FormWindowState
|
||||
Private _previousWindowState As FormWindowState
|
||||
Public Property PreviousWindowState As FormWindowState
|
||||
Get
|
||||
Return _previousWindowState
|
||||
End Get
|
||||
Set(value As FormWindowState)
|
||||
_previousWindowState = value
|
||||
End Set
|
||||
End Property
|
||||
Public Shared Event clipboardchange()
|
||||
Private fpChainedWindowHandle As IntPtr
|
||||
|
||||
#Region "Properties"
|
||||
Private _IsClosing As Boolean = False
|
||||
Public ReadOnly Property IsClosing() As Boolean
|
||||
Get
|
||||
Return _IsClosing
|
||||
End Get
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Startup & Shutdown"
|
||||
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
'insert enable edition code here
|
||||
App.Editions.Spanlink.Enabled = True
|
||||
Startup.CheckCompatibility()
|
||||
|
||||
ApplyLanguage()
|
||||
Startup.CreateLogger()
|
||||
|
||||
' Create gui config load and save objects
|
||||
Dim SettingsLoad As New Config.Settings.Load(Me)
|
||||
|
||||
' Load GUI Configuration
|
||||
SettingsLoad.Load()
|
||||
|
||||
Debug.Print("---------------------------" & vbNewLine & "[START] - " & Now)
|
||||
|
||||
Startup.ParseCommandLineArgs()
|
||||
|
||||
ApplyLanguage()
|
||||
|
||||
sL = New Config.Settings.Load(Me)
|
||||
sS = New Config.Settings.Save(Me)
|
||||
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
|
||||
|
||||
Startup.CreateLogger()
|
||||
|
||||
sL.Load()
|
||||
|
||||
mC = New Messages.Collector(Windows.errorsForm)
|
||||
MessageCollector = New Messages.Collector(Windows.errorsForm)
|
||||
|
||||
Connection.Protocol.RDP.Resolutions.AddResolutions()
|
||||
Connection.Protocol.PuttyBase.BorderSize = New Size(SystemInformation.FrameBorderSize.Width, SystemInformation.CaptionHeight + SystemInformation.FrameBorderSize.Height) 'Size.Subtract(Me.Size, Me.ClientSize)
|
||||
|
||||
wL = New UI.Window.List
|
||||
WindowList = New UI.Window.List
|
||||
|
||||
Startup.GetConnectionIcons()
|
||||
Startup.GetPuttySessions()
|
||||
@@ -38,82 +61,139 @@ Public Class frmMain
|
||||
|
||||
Tree.Node.TreeView = Windows.treeForm.tvConnections
|
||||
|
||||
'insert new edition code here
|
||||
Dim edSpanlink As New App.Editions.Spanlink
|
||||
|
||||
'LoadCredentials()
|
||||
LoadConnections()
|
||||
|
||||
If My.Settings.FirstStart Then
|
||||
Windows.Show(UI.Window.Type.About)
|
||||
If Not IsConnectionsFileLoaded Then
|
||||
Application.Exit()
|
||||
Return
|
||||
End If
|
||||
|
||||
If My.Settings.StartupComponentsCheck Then
|
||||
Windows.Show(UI.Window.Type.ComponentsCheck)
|
||||
End If
|
||||
|
||||
#If Not PORTABLE Then
|
||||
If Not My.Settings.CheckForUpdatesAsked Then
|
||||
Dim CommandButtons() As String = {My.Language.strAskUpdatesCommandRecommended, My.Language.strAskUpdatesCommandCustom, My.Language.strAskUpdatesCommandAskLater}
|
||||
cTaskDialog.ShowTaskDialogBox(Me, My.Application.Info.ProductName, My.Language.strAskUpdatesMainInstruction, String.Format(My.Language.strAskUpdatesContent, My.Application.Info.ProductName), "", "", "", "", String.Join("|", CommandButtons), eTaskDialogButtons.None, eSysIcons.Question, eSysIcons.Question)
|
||||
If cTaskDialog.CommandButtonResult = 0 Or cTaskDialog.CommandButtonResult = 1 Then
|
||||
My.Settings.CheckForUpdatesAsked = True
|
||||
End If
|
||||
If cTaskDialog.CommandButtonResult = 1 Then
|
||||
Windows.ShowUpdatesTab()
|
||||
End If
|
||||
End If
|
||||
|
||||
Startup.UpdateCheck()
|
||||
Startup.AnnouncmentCheck()
|
||||
Startup.AnnouncementCheck()
|
||||
#Else
|
||||
mMenInfoAnnouncements.Visible = False
|
||||
mMenToolsUpdate.Visible = False
|
||||
mMenInfoSep2.Visible = False
|
||||
#End If
|
||||
|
||||
Startup.CreateSQLUpdateHandlerAndStartTimer()
|
||||
|
||||
AddSysMenuItems()
|
||||
AddHandler Microsoft.Win32.SystemEvents.DisplaySettingsChanged, AddressOf DisplayChanged
|
||||
|
||||
Me.Opacity = 1
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
mMenFile.Text = Language.Base.Menu_File
|
||||
mMenFileNew.Text = Language.Base.Menu_NewConnections
|
||||
mMenFileLoad.Text = Language.Base.Menu_OpenConnections
|
||||
mMenFileSave.Text = Language.Base.Menu_SaveConnections
|
||||
mMenFileSaveAs.Text = Language.Base.Menu_SaveConnectionsAs
|
||||
mMenFileExit.Text = Language.Base.Menu_Exit
|
||||
mMenView.Text = Language.Base.Menu_View
|
||||
mMenViewAddConnectionPanel.Text = Language.Base.Menu_AddConnectionPanel
|
||||
mMenViewConnectionPanels.Text = Language.Base.Menu_ConnectionPanels
|
||||
mMenViewConnections.Text = Language.Base.Menu_Connections
|
||||
mMenViewConfig.Text = Language.Base.Menu_Config
|
||||
mMenViewSessions.Text = Language.Base.Menu_Sessions
|
||||
mMenViewErrorsAndInfos.Text = Language.Base.Menu_ErrorsAndInfos
|
||||
mMenViewScreenshotManager.Text = Language.Base.Menu_ScreenshotManager
|
||||
mMenViewJumpTo.Text = Language.Base.Menu_JumpTo
|
||||
mMenViewJumpToConnectionsConfig.Text = Language.Base.Menu_ConnectionsConfig
|
||||
mMenViewJumpToSessionsScreenshots.Text = Language.Base.Menu_SessionsScreenshots
|
||||
mMenViewJumpToErrorsInfos.Text = Language.Base.Menu_ErrorsInfos
|
||||
mMenViewQuickConnectToolbar.Text = Language.Base.Menu_QuickyToolbar
|
||||
mMenViewExtAppsToolbar.Text = Language.Base.Menu_ExternalApplicationsToolbar
|
||||
mMenViewFullscreen.Text = Language.Base.Menu_FullScreenKioskMode
|
||||
mMenTools.Text = Language.Base.Menu_Tools
|
||||
mMenToolsSSHTransfer.Text = Language.Base.Menu_SSHFileTransfer
|
||||
mMenToolsExternalApps.Text = Language.Base.Menu_ExternalApplications
|
||||
mMenToolsPortScan.Text = Language.Base.Menu_PortScan
|
||||
mMenToolsUpdate.Text = Language.Base.Menu_Update
|
||||
mMenToolsOptions.Text = Language.Base.Menu_Options
|
||||
mMenInfo.Text = Language.Base.Menu_Info
|
||||
mMenInfoHelp.Text = Language.Base.Menu_Help
|
||||
mMenInfoDonate.Text = Language.Base.Menu_Donate
|
||||
mMenInfoWebsite.Text = Language.Base.Menu_Website
|
||||
mMenInfoAbout.Text = Language.Base.Menu_About
|
||||
lblQuickConnect.Text = Language.Base.Toolbar_Quicky
|
||||
btnQuickyPlay.Text = Language.Base.Toolbar_Play
|
||||
mMenQuickyCon.Text = Language.Base.Menu_Connections
|
||||
cMenToolbarShowText.Text = Language.Base.Toolbar_ShowText
|
||||
mMenFile.Text = My.Language.strMenuFile
|
||||
mMenFileNew.Text = My.Language.strMenuNewConnectionFile
|
||||
mMenFileNewConnection.Text = My.Language.strNewConnection
|
||||
mMenFileNewFolder.Text = My.Language.strNewFolder
|
||||
mMenFileLoad.Text = My.Language.strMenuOpenConnectionFile
|
||||
mMenFileSave.Text = My.Language.strMenuSaveConnectionFile
|
||||
mMenFileSaveAs.Text = My.Language.strMenuSaveConnectionFileAs
|
||||
mMenFileImportExport.Text = My.Language.strImportExport
|
||||
ImportFromActiveDirectoryToolStripMenuItem.Text = My.Language.strImportAD
|
||||
ImportFromPortScanToolStripMenuItem.Text = My.Language.strImportPortScan
|
||||
ImportFromRDPFileToolStripMenuItem.Text = My.Language.strImportRDPFiles
|
||||
ImportFromXMLFileToolStripMenuItem.Text = My.Language.strImportmRemoteXML
|
||||
ExportToXMLFileToolStripMenuItem.Text = My.Language.strExportmRemoteXML
|
||||
mMenFileExit.Text = My.Language.strMenuExit
|
||||
|
||||
mMenView.Text = My.Language.strMenuView
|
||||
mMenViewAddConnectionPanel.Text = My.Language.strMenuAddConnectionPanel
|
||||
mMenViewConnectionPanels.Text = My.Language.strMenuConnectionPanels
|
||||
mMenViewConnections.Text = My.Language.strMenuConnections
|
||||
mMenViewConfig.Text = My.Language.strMenuConfig
|
||||
mMenViewSessions.Text = My.Language.strMenuSessions
|
||||
mMenViewErrorsAndInfos.Text = My.Language.strMenuNotifications
|
||||
mMenViewScreenshotManager.Text = My.Language.strMenuScreenshotManager
|
||||
mMenViewJumpTo.Text = My.Language.strMenuJumpTo
|
||||
mMenViewJumpToConnectionsConfig.Text = My.Language.strMenuConnectionsAndConfig
|
||||
mMenViewJumpToSessionsScreenshots.Text = My.Language.strMenuSessionsAndScreenshots
|
||||
mMenViewJumpToErrorsInfos.Text = My.Language.strMenuNotifications
|
||||
mMenViewResetLayout.Text = My.Language.strMenuResetLayout
|
||||
mMenViewQuickConnectToolbar.Text = My.Language.strMenuQuickConnectToolbar
|
||||
mMenViewExtAppsToolbar.Text = My.Language.strMenuExternalToolsToolbar
|
||||
mMenViewFullscreen.Text = My.Language.strMenuFullScreen
|
||||
|
||||
mMenTools.Text = My.Language.strMenuTools
|
||||
mMenToolsSSHTransfer.Text = My.Language.strMenuSSHFileTransfer
|
||||
mMenToolsExternalApps.Text = My.Language.strMenuExternalTools
|
||||
mMenToolsPortScan.Text = My.Language.strMenuPortScan
|
||||
mMenToolsComponentsCheck.Text = My.Language.strComponentsCheck
|
||||
mMenToolsUpdate.Text = My.Language.strMenuCheckForUpdates
|
||||
mMenToolsOptions.Text = My.Language.strMenuOptions
|
||||
|
||||
mMenInfo.Text = My.Language.strMenuHelp
|
||||
mMenInfoHelp.Text = My.Language.strMenuHelpContents
|
||||
mMenInfoForum.Text = My.Language.strMenuSupportForum
|
||||
mMenInfoBugReport.Text = My.Language.strMenuReportBug
|
||||
mMenInfoDonate.Text = My.Language.strMenuDonate
|
||||
mMenInfoWebsite.Text = My.Language.strMenuWebsite
|
||||
mMenInfoAbout.Text = My.Language.strMenuAbout
|
||||
mMenInfoAnnouncements.Text = My.Language.strMenuAnnouncements
|
||||
|
||||
lblQuickConnect.Text = My.Language.strLabelConnect
|
||||
btnQuickyPlay.Text = My.Language.strMenuConnect
|
||||
mMenQuickyCon.Text = My.Language.strMenuConnections
|
||||
|
||||
cMenToolbarShowText.Text = My.Language.strMenuShowText
|
||||
|
||||
ToolStripButton1.Text = My.Language.strConnect
|
||||
ToolStripButton2.Text = My.Language.strScreenshot
|
||||
ToolStripButton3.Text = My.Language.strRefresh
|
||||
|
||||
ToolStripSplitButton1.Text = My.Language.strSpecialKeys
|
||||
ToolStripMenuItem1.Text = My.Language.strKeysCtrlAltDel
|
||||
ToolStripMenuItem2.Text = My.Language.strKeysCtrlEsc
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
||||
If My.Settings.ConfirmExit And wL.Count > 0 Then
|
||||
If MsgBox(Language.Base.UnclosedConnectionPanels, MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.No Then
|
||||
e.Cancel = True
|
||||
Exit Sub
|
||||
If WindowList IsNot Nothing Then
|
||||
If My.Settings.ConfirmExit And WindowList.Count > 0 Then
|
||||
Dim result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.ProductName, My.Language.strConfirmExitMainInstruction, "", "", "", My.Language.strCheckboxDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
If cTaskDialog.VerificationChecked Then
|
||||
My.Settings.ConfirmExit = False
|
||||
End If
|
||||
If result = DialogResult.No Then
|
||||
e.Cancel = True
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
App.Runtime.Shutdown.BeforeQuit()
|
||||
Shutdown.BeforeQuit()
|
||||
|
||||
_IsClosing = True
|
||||
|
||||
If WindowList IsNot Nothing Then
|
||||
For Each window As UI.Window.Base In WindowList
|
||||
window.Close()
|
||||
Next
|
||||
End If
|
||||
|
||||
Debug.Print("[END] - " & Now)
|
||||
End
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Timer"
|
||||
Private tmrRuns As Integer = 0
|
||||
Private Sub tmrShowUpdate_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrShowUpdate.Tick
|
||||
If tmrRuns = 5 Then
|
||||
@@ -121,14 +201,12 @@ Public Class frmMain
|
||||
End If
|
||||
|
||||
If App.Runtime.IsUpdateAvailable Then
|
||||
If My.Settings.CheckForUpdatesOnStartup Then
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Update)
|
||||
Me.tmrShowUpdate.Enabled = False
|
||||
End If
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Update)
|
||||
Me.tmrShowUpdate.Enabled = False
|
||||
End If
|
||||
|
||||
If App.Runtime.IsAnnouncmentAvailable Then
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Announcment)
|
||||
If App.Runtime.IsAnnouncementAvailable Then
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Announcement)
|
||||
Me.tmrShowUpdate.Enabled = False
|
||||
End If
|
||||
|
||||
@@ -136,50 +214,46 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Sub tmrAutoSave_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrAutoSave.Tick
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "Doing AutoSave", True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, "Doing AutoSave", True)
|
||||
App.Runtime.SaveConnections()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Ext Apps Toolbar"
|
||||
Private Sub cMenToolbarShowText_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cMenToolbarShowText.Click
|
||||
SwitchToolbarText(Not cMenToolbarShowText.Checked)
|
||||
SwitchToolBarText(Not cMenToolbarShowText.Checked)
|
||||
End Sub
|
||||
|
||||
Public Sub AddExtAppsToToolbar()
|
||||
Public Sub AddExternalToolsToToolBar()
|
||||
Try
|
||||
'clean up
|
||||
tsExtAppsToolbar.Items.Clear()
|
||||
For Each item As ToolStripItem In tsExternalTools.Items
|
||||
item.Dispose()
|
||||
Next
|
||||
tsExternalTools.Items.Clear()
|
||||
|
||||
'add ext apps
|
||||
For Each extA As Tools.ExternalApp In ExtApps
|
||||
Dim nItem As New ToolStripButton
|
||||
nItem.Text = extA.DisplayName
|
||||
nItem.Image = extA.Image
|
||||
Dim button As ToolStripButton
|
||||
For Each tool As Tools.ExternalTool In ExternalTools
|
||||
button = tsExternalTools.Items.Add(tool.DisplayName, tool.Image, AddressOf tsExtAppEntry_Click)
|
||||
|
||||
If cMenToolbarShowText.Checked = True Then
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
button.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
Else
|
||||
If nItem.Image IsNot Nothing Then
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.Image
|
||||
If button.Image IsNot Nothing Then
|
||||
button.DisplayStyle = ToolStripItemDisplayStyle.Image
|
||||
Else
|
||||
nItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
button.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
End If
|
||||
End If
|
||||
|
||||
nItem.Tag = extA
|
||||
|
||||
AddHandler nItem.Click, AddressOf tsExtAppEntry_Click
|
||||
|
||||
tsExtAppsToolbar.Items.Add(nItem)
|
||||
button.Tag = tool
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddExtAppsToToolbar failed (frmMain)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, String.Format(My.Language.strErrorAddExternalToolsToToolBarFailed, ex.Message), True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub tsExtAppEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
Dim extA As Tools.ExternalApp = sender.Tag
|
||||
Dim extA As Tools.ExternalTool = sender.Tag
|
||||
|
||||
If Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Connection Then
|
||||
extA.Start(Tree.Node.SelectedNode.Tag)
|
||||
@@ -188,9 +262,9 @@ Public Class frmMain
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub SwitchToolbarText(ByVal Show As Boolean)
|
||||
For Each tItem As ToolStripButton In tsExtAppsToolbar.Items
|
||||
If Show = True Then
|
||||
Public Sub SwitchToolBarText(ByVal show As Boolean)
|
||||
For Each tItem As ToolStripButton In tsExternalTools.Items
|
||||
If show = True Then
|
||||
tItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
|
||||
Else
|
||||
If tItem.Image IsNot Nothing Then
|
||||
@@ -201,19 +275,71 @@ Public Class frmMain
|
||||
End If
|
||||
Next
|
||||
|
||||
cMenToolbarShowText.Checked = Show
|
||||
cMenToolbarShowText.Checked = show
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Menu"
|
||||
#Region "File"
|
||||
Private Sub mMenFile_DropDownOpening(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFile.DropDownOpening
|
||||
Select Case Tree.Node.GetNodeType(mRemoteNG.Tree.Node.SelectedNode)
|
||||
Case Tree.Node.Type.Root
|
||||
mMenFileImportExport.Enabled = True
|
||||
mMenFileDelete.Enabled = False
|
||||
mMenFileRename.Enabled = True
|
||||
mMenFileDuplicate.Enabled = False
|
||||
mMenFileDelete.Text = My.Language.strMenuDelete
|
||||
mMenFileRename.Text = My.Language.strMenuRenameFolder
|
||||
mMenFileDuplicate.Text = My.Language.strMenuDuplicate
|
||||
Case Tree.Node.Type.Container
|
||||
mMenFileImportExport.Enabled = True
|
||||
mMenFileDelete.Enabled = True
|
||||
mMenFileRename.Enabled = True
|
||||
mMenFileDuplicate.Enabled = True
|
||||
mMenFileDelete.Text = My.Language.strMenuDeleteFolder
|
||||
mMenFileRename.Text = My.Language.strMenuRenameFolder
|
||||
mMenFileDuplicate.Text = My.Language.strMenuDuplicateFolder
|
||||
Case Tree.Node.Type.Connection
|
||||
mMenFileImportExport.Enabled = False
|
||||
mMenFileDelete.Enabled = True
|
||||
mMenFileRename.Enabled = True
|
||||
mMenFileDuplicate.Enabled = True
|
||||
mMenFileDelete.Text = My.Language.strMenuDeleteConnection
|
||||
mMenFileRename.Text = My.Language.strMenuRenameConnection
|
||||
mMenFileDuplicate.Text = My.Language.strMenuDuplicateConnection
|
||||
Case Else
|
||||
mMenFileImportExport.Enabled = False
|
||||
mMenFileDelete.Enabled = False
|
||||
mMenFileRename.Enabled = False
|
||||
mMenFileDuplicate.Enabled = False
|
||||
mMenFileDelete.Text = My.Language.strMenuDelete
|
||||
mMenFileRename.Text = My.Language.strMenuRename
|
||||
mMenFileDuplicate.Text = My.Language.strMenuDuplicate
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileNewConnection_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileNewConnection.Click
|
||||
App.Runtime.Windows.treeForm.AddConnection()
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileNewFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileNewFolder.Click
|
||||
App.Runtime.Windows.treeForm.AddFolder()
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileNew.Click
|
||||
NewConnections()
|
||||
Dim lD As SaveFileDialog = Tools.Controls.ConnectionsSaveAsDialog
|
||||
If lD.ShowDialog = System.Windows.Forms.DialogResult.OK Then
|
||||
NewConnections(lD.FileName)
|
||||
Else
|
||||
Exit Sub
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileLoad.Click
|
||||
If App.Runtime.ConnectionsFileLoaded Then
|
||||
Select Case MsgBox(Language.Base.SaveConnectionsFileBeforeOpeningAnother, MsgBoxStyle.YesNoCancel Or MsgBoxStyle.Question)
|
||||
If App.Runtime.IsConnectionsFileLoaded Then
|
||||
Select Case MsgBox(My.Language.strSaveConnectionsFileBeforeOpeningAnother, MsgBoxStyle.YesNoCancel Or MsgBoxStyle.Question)
|
||||
Case MsgBoxResult.Yes
|
||||
App.Runtime.SaveConnections()
|
||||
Case MsgBoxResult.Cancel
|
||||
@@ -229,12 +355,27 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileSaveAs.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.SaveAs)
|
||||
SaveConnectionsAs()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileExit.Click
|
||||
App.Runtime.Shutdown.Quit()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileDelete.Click
|
||||
Tree.Node.DeleteSelectedNode()
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileRename_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileRename.Click
|
||||
Tree.Node.StartRenameSelectedNode()
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenFileDuplicate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenFileDuplicate.Click
|
||||
Tree.Node.CloneNode(Tree.Node.SelectedNode)
|
||||
SaveConnectionsBG()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "View"
|
||||
@@ -245,17 +386,23 @@ Public Class frmMain
|
||||
Me.mMenViewSessions.Checked = Not Windows.sessionsForm.IsHidden
|
||||
Me.mMenViewScreenshotManager.Checked = Not Windows.screenshotForm.IsHidden
|
||||
|
||||
Me.mMenViewExtAppsToolbar.Checked = tsExtAppsToolbar.Visible
|
||||
Me.mMenViewExtAppsToolbar.Checked = tsExternalTools.Visible
|
||||
Me.mMenViewQuickConnectToolbar.Checked = tsQuickConnect.Visible
|
||||
|
||||
Me.mMenViewConnectionPanels.DropDownItems.Clear()
|
||||
|
||||
For i As Integer = 0 To wL.Count - 1
|
||||
Dim tItem As New ToolStripMenuItem(wL(i).Text, wL(i).Icon.ToBitmap, AddressOf ConnectionPanelMenuItem_Click)
|
||||
tItem.Tag = wL(i)
|
||||
For i As Integer = 0 To WindowList.Count - 1
|
||||
Dim tItem As New ToolStripMenuItem(WindowList(i).Text, WindowList(i).Icon.ToBitmap, AddressOf ConnectionPanelMenuItem_Click)
|
||||
tItem.Tag = WindowList(i)
|
||||
|
||||
Me.mMenViewConnectionPanels.DropDownItems.Add(tItem)
|
||||
Next
|
||||
|
||||
If Me.mMenViewConnectionPanels.DropDownItems.Count > 0 Then
|
||||
Me.mMenViewConnectionPanels.Enabled = True
|
||||
Else
|
||||
Me.mMenViewConnectionPanels.Enabled = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ConnectionPanelMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
@@ -333,16 +480,22 @@ Public Class frmMain
|
||||
Windows.errorsForm.Activate()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewResetLayout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewResetLayout.Click
|
||||
If MsgBox(My.Language.strConfirmResetLayout, MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
App.Runtime.Startup.SetDefaultLayout()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewAddConnectionPanel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewAddConnectionPanel.Click
|
||||
AddPanel()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewExtAppsToolbar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewExtAppsToolbar.Click
|
||||
If mMenViewExtAppsToolbar.Checked = False Then
|
||||
tsExtAppsToolbar.Visible = True
|
||||
tsExternalTools.Visible = True
|
||||
mMenViewExtAppsToolbar.Checked = True
|
||||
Else
|
||||
tsExtAppsToolbar.Visible = False
|
||||
tsExternalTools.Visible = False
|
||||
mMenViewExtAppsToolbar.Checked = False
|
||||
End If
|
||||
End Sub
|
||||
@@ -411,7 +564,7 @@ Public Class frmMain
|
||||
Try
|
||||
btnQuickyPlay.DropDownItems.Clear()
|
||||
|
||||
For Each fI As FieldInfo In GetType(mRemote.Connection.Protocol.Protocols).GetFields
|
||||
For Each fI As FieldInfo In GetType(mRemoteNG.Connection.Protocol.Protocols).GetFields
|
||||
If fI.Name <> "value__" And fI.Name <> "NONE" And fI.Name <> "IntApp" Then
|
||||
Dim nBtn As New ToolStripMenuItem
|
||||
nBtn.Text = fI.Name
|
||||
@@ -420,29 +573,29 @@ Public Class frmMain
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "CreateButtons (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "CreateButtons (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub QuickyProtocolButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Try
|
||||
Dim conI As Connection.Info = CreateQuicky(QuickyText, Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.Protocols), sender.Text))
|
||||
Dim conI As Connection.Info = CreateQuicky(QuickyText, Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.Protocols), sender.Text))
|
||||
|
||||
If conI.Port = 0 Then
|
||||
conI.SetDefaultPort()
|
||||
|
||||
If mRemote.Connection.QuickConnect.History.Exists(conI.Hostname) = False Then
|
||||
mRemote.Connection.QuickConnect.History.Add(conI.Hostname)
|
||||
If mRemoteNG.Connection.QuickConnect.History.Exists(conI.Hostname) = False Then
|
||||
mRemoteNG.Connection.QuickConnect.History.Add(conI.Hostname)
|
||||
End If
|
||||
Else
|
||||
If mRemote.Connection.QuickConnect.History.Exists(conI.Hostname) = False Then
|
||||
mRemote.Connection.QuickConnect.History.Add(conI.Hostname & ":" & conI.Port)
|
||||
If mRemoteNG.Connection.QuickConnect.History.Exists(conI.Hostname) = False Then
|
||||
mRemoteNG.Connection.QuickConnect.History.Add(conI.Hostname & ":" & conI.Port)
|
||||
End If
|
||||
End If
|
||||
|
||||
App.Runtime.OpenConnection(conI, mRemote.Connection.Info.Force.DoNotJump)
|
||||
App.Runtime.OpenConnection(conI, mRemoteNG.Connection.Info.Force.DoNotJump)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "QuickyProtocolButton_Click (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "QuickyProtocolButton_Click (frmMain) failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -475,7 +628,11 @@ Public Class frmMain
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Help)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenInfoBugReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
Private Sub mMenInfoForum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoForum.Click
|
||||
App.Runtime.GoToForum()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenInfoBugReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoBugReport.Click
|
||||
App.Runtime.GoToBugs()
|
||||
End Sub
|
||||
|
||||
@@ -487,8 +644,8 @@ Public Class frmMain
|
||||
App.Runtime.GoToDonate()
|
||||
End Sub
|
||||
|
||||
Private Sub mMenInfoAnnouncments_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoAnnouncments.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Announcment)
|
||||
Private Sub mMenInfoAnnouncements_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoAnnouncements.Click
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Announcement)
|
||||
End Sub
|
||||
|
||||
Private Sub mMenInfoAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfoAbout.Click
|
||||
@@ -527,68 +684,101 @@ Public Class frmMain
|
||||
End If
|
||||
|
||||
AddHandler tMenItem.MouseDown, AddressOf ConMenItem_MouseDown
|
||||
|
||||
tMenItem.Dispose()
|
||||
Next
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodeToMenu failed" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, "AddNodeToMenu failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub ConMenItem_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
|
||||
If e.Button = MouseButtons.Left Then
|
||||
If TypeOf sender.Tag Is mRemote.Connection.Info Then
|
||||
If TypeOf sender.Tag Is mRemoteNG.Connection.Info Then
|
||||
App.Runtime.OpenConnection(sender.Tag)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Window Overrides and DockPanel Stuff"
|
||||
Private Sub frmMain_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
|
||||
If Me.WindowState = FormWindowState.Minimized Then
|
||||
If My.Settings.MinimizeToTray Then
|
||||
If App.Runtime.SysTrayIcon Is Nothing Then
|
||||
App.Runtime.SysTrayIcon = New Tools.Controls.SysTrayIcon()
|
||||
If App.Runtime.NotificationAreaIcon Is Nothing Then
|
||||
App.Runtime.NotificationAreaIcon = New Tools.Controls.NotificationAreaIcon()
|
||||
End If
|
||||
Me.Hide()
|
||||
End If
|
||||
Else
|
||||
prevWindowsState = Me.WindowState
|
||||
PreviousWindowState = Me.WindowState
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region "Window Overrides and DockPanel Stuff"
|
||||
Private Msg13 As Boolean = False
|
||||
Private Msg71 As Boolean = False
|
||||
Private _inMouseActivate As Boolean = False
|
||||
Private _inSizeMove As Boolean = False
|
||||
|
||||
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
|
||||
Try
|
||||
#If Config = "Debug" Then
|
||||
'Debug.Print(m.Msg)
|
||||
#End If
|
||||
|
||||
If m.Msg = 13 Then
|
||||
Msg13 = True
|
||||
ElseIf m.Msg = 71 Then
|
||||
If Msg13 Then
|
||||
ActivateConnection()
|
||||
End If
|
||||
Select Case m.Msg
|
||||
Case WM_MOUSEACTIVATE
|
||||
_inMouseActivate = True
|
||||
Case WM_ACTIVATEAPP
|
||||
_inMouseActivate = False
|
||||
Case WM_ACTIVATE
|
||||
' Ingore this message if it wasn't triggered by a click
|
||||
If Not LOWORD(m.WParam) = WA_CLICKACTIVE Then Exit Select
|
||||
|
||||
Msg13 = False
|
||||
Msg71 = True
|
||||
ElseIf m.Msg = 28 Then
|
||||
If Msg71 Then
|
||||
ActivateConnection()
|
||||
End If
|
||||
Else
|
||||
Msg13 = False
|
||||
Msg71 = False
|
||||
End If
|
||||
Dim control As Control = FromChildHandle(WindowFromPoint(MousePosition))
|
||||
If Not IsNothing(control) Then
|
||||
' Let ComboBoxes get focus but don't simulate a mouse event
|
||||
If TypeOf control Is ComboBox Then Exit Select
|
||||
|
||||
If m.Msg = Tools.SystemMenu.Flags.WM_SYSCOMMAND Then
|
||||
For i As Integer = 0 To SysMenSubItems.Length - 1
|
||||
If SysMenSubItems(i) = m.WParam Then
|
||||
Screens.SendFormToScreen(Screen.AllScreens(i))
|
||||
Exit For
|
||||
If control.CanSelect Or TypeOf control Is MenuStrip Or TypeOf control Is ToolStrip Or TypeOf control Is Magic.Controls.InertButton Then
|
||||
' Simulate a mouse event since one wasn't generated by Windows
|
||||
Dim clientMousePosition As Point = control.PointToClient(MousePosition)
|
||||
SendMessage(control.Handle, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(clientMousePosition.X, clientMousePosition.Y))
|
||||
|
||||
control.Focus()
|
||||
Exit Select
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
' This handles activations from clicks that did not start a size/move operation
|
||||
ActivateConnection()
|
||||
Case WM_ENTERSIZEMOVE
|
||||
_inSizeMove = True
|
||||
Case WM_EXITSIZEMOVE
|
||||
_inSizeMove = False
|
||||
|
||||
' This handles activations from clicks that started a size/move operation
|
||||
ActivateConnection()
|
||||
Case WM_WINDOWPOSCHANGED
|
||||
' Ignore this message if the window wasn't activated
|
||||
Dim windowPos As WINDOWPOS = Marshal.PtrToStructure(m.LParam, GetType(WINDOWPOS))
|
||||
If (Not (windowPos.flags And SWP_NOACTIVATE) = 0) Then Exit Select
|
||||
|
||||
' This handles all other activations
|
||||
If Not _inMouseActivate And Not _inSizeMove Then ActivateConnection()
|
||||
Case WM_SYSCOMMAND
|
||||
For i As Integer = 0 To SysMenSubItems.Length - 1
|
||||
If SysMenSubItems(i) = m.WParam Then
|
||||
Screens.SendFormToScreen(Screen.AllScreens(i))
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Case WM_DRAWCLIPBOARD
|
||||
SendMessage(fpChainedWindowHandle, m.Msg, m.LParam, m.WParam)
|
||||
RaiseEvent clipboardchange()
|
||||
Case WM_CHANGECBCHAIN
|
||||
'Send to the next window
|
||||
SendMessage(fpChainedWindowHandle, m.Msg, m.LParam, m.WParam)
|
||||
fpChainedWindowHandle = m.LParam
|
||||
End Select
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
|
||||
@@ -619,25 +809,21 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private SysMenSubItems(50) As Integer
|
||||
Private Sub ResetSysMenuItems()
|
||||
SysMenu.Reset()
|
||||
Private Shared Sub ResetSysMenuItems()
|
||||
SystemMenu.Reset()
|
||||
End Sub
|
||||
|
||||
Private Sub AddSysMenuItems()
|
||||
SysMenu = New Tools.SystemMenu(Me.Handle)
|
||||
Dim popMen As IntPtr = SysMenu.CreatePopupMenuItem()
|
||||
SystemMenu = New Tools.SystemMenu(Me.Handle)
|
||||
Dim popMen As IntPtr = SystemMenu.CreatePopupMenuItem()
|
||||
|
||||
For i As Integer = 0 To Screen.AllScreens.Length - 1
|
||||
SysMenSubItems(i) = 200 + i
|
||||
SysMenu.AppendMenuItem(popMen, Tools.SystemMenu.Flags.MF_STRING, SysMenSubItems(i), Language.Base.Screen & " " & i + 1)
|
||||
SystemMenu.AppendMenuItem(popMen, Tools.SystemMenu.Flags.MF_STRING, SysMenSubItems(i), My.Language.strScreen & " " & i + 1)
|
||||
Next
|
||||
|
||||
SysMenu.InsertMenuItem(SysMenu.SystemMenuHandle, 0, Tools.SystemMenu.Flags.MF_POPUP Or Tools.SystemMenu.Flags.MF_BYPOSITION, popMen, Language.Base.SendTo)
|
||||
SysMenu.InsertMenuItem(SysMenu.SystemMenuHandle, 1, Tools.SystemMenu.Flags.MF_BYPOSITION Or Tools.SystemMenu.Flags.MF_SEPARATOR, IntPtr.Zero, Nothing)
|
||||
SystemMenu.InsertMenuItem(SystemMenu.SystemMenuHandle, 0, Tools.SystemMenu.Flags.MF_POPUP Or Tools.SystemMenu.Flags.MF_BYPOSITION, popMen, My.Language.strSendTo)
|
||||
SystemMenu.InsertMenuItem(SystemMenu.SystemMenuHandle, 1, Tools.SystemMenu.Flags.MF_BYPOSITION Or Tools.SystemMenu.Flags.MF_SEPARATOR, IntPtr.Zero, Nothing)
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Private Sub mMenInfovRD08_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenInfovRD08.Click
|
||||
Process.Start("http://software.visionapp.com/vrd")
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
277
mRemoteV1/Forms/frmOptions.resx
Normal file
@@ -0,0 +1,277 @@
|
||||
<?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="imgListPages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="imgListPages.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABk
|
||||
IgAAAk1TRnQBSQFMAgEBBwEAAQgBAQEIAQEBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIB4AAeIB7wH0Af8BqAHJAdcB/wFwAaQBtgH/AVMBhgGcAf8BPgFlAYoB/wE5
|
||||
AWABhwH/ATkBagGVAf8BTAGOAasB/wGPAbcBzQH/Ad0B6gHxAf8MAANXAbcDnwH/A5oB/wOWAf8DkQH/
|
||||
A40B/wOJAf8DhAH/A4AB/wNbAf8DVwH/A1MB/wNQAf8DTAH/A0kB/wNXAbcYAAMNARIDVgG2A1YBtgMN
|
||||
ARFgAAGtAc8B3wH/AUsBkQGtAf8BUAGjAb8B/wFsAcAB1AH/AZUB2QHmAf8BgQHbAfAB/wFEAcYB7AH/
|
||||
ARgBqgHdAf8BCgGSAccB/wEWAYABrAH/AS0BZQGSAf8BnQG/AdEB/wgAA6gB/wPpAf8D0wH/A9IB/wPR
|
||||
Af8D0AH/A84B/wPNAf8DzQH/A8sB/wPLAf8DygH/A8kB/wPIAf8D4gH/A0kB/xgAA14B2QPkAf8D4wH/
|
||||
A1gBwWAAAU4BhAGbAf8BOAG9AecB/wFbAdMB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUQBygHw
|
||||
Af8BEgG2Ae0B/wEAAacB6AH/AQABoQHhAf8BAAGWAdIB/wExAVIBbgH/CAADrQH/A9YB/wO6Af8DuAH/
|
||||
A7UB/wOzAf8DsQH/A7AB/wOtAf8DqwH/A6oB/wOoAf8DpwH/A6YB/wPIAf8DTQH/CAADCwEPA1QBrQM6
|
||||
AWEDPwFuA3QB+AHiAeEB3wH/AeEB4AHfAf8DXwHzAzwBZwM8AWYDUwGtAwsBD1AAAVEBhwGeAf8BNwHE
|
||||
AfAB/wFdAdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/AUQBygHwAf8BEgG2Ae0B/wEAAagB6AH/
|
||||
AQABoQHhAf8BAAGcAdoB/wEyAVMBcAH/CAADsQH/A9kB/wO9Af8DugH/A7gB/wO2Af8DtQH/A7MB/wOw
|
||||
Af8DrwH/A60B/wOrAf8DqQH/A6gB/wPKAf8DUQH/CAADWgHFBP8CnwGeAf4CngGdAf4C5wHmAf8B1gHV
|
||||
AdMB/wHXAdYB1AH/AeMB4gHgAf8BkwGSAZAB/gKqAakB/QHpAegB5gH/A1gBwVAAAVMBiQGgAf8BNwHE
|
||||
Ae8B/wFcAdQB8QH/AY0B4wH0Af8BogHrAfYB/wGCAd8B8wH/AUUBygHwAf8BEgG2Ae0B/wEAAagB6AH/
|
||||
AQABoQHhAf8BAAGcAdoB/wE0AVYBcgH/CAADtgH/A90B/wPBAf8DvQH/A7wB/wO6Af8DuAH/A7UB/wO0
|
||||
Af8DsgH/A7AB/wOtAf8DrAH/A6wB/wPPAf8DVQH/CAADZAHnAvkB9wH/Au8B7gH/AtsB2gH/AcoCyQH/
|
||||
AckByAHGAf8ByQHIAccB/wHJAcgBxwH/AssByQH/AeYB5QHkAf8B5QHkAeIB/wNlAeVQAAFVAYwBogH/
|
||||
ATkBxgHwAf8BXgHUAfEB/wGMAeMB9AH/AaIB6wH2Af8BggHfAfQB/wFFAcoB8AH/ARIBtgHtAf8BAAGo
|
||||
AegB/wEAAaIB4gH/AQABmwHbAf8BNgFZAYAB/wgAA1oBvQPaAf8DyAH/A8AB/wO/Af8DvQH/A7oB/wO4
|
||||
Af8DtwH/A7UB/wOzAf8DsAH/A68B/wOzAf8DwgH/A1oBvQgAA04BlQH2AfUB9AH/AeYB5QHkAf8BvwG+
|
||||
Ab0B/wLrAeoB/wHUAdMB0gH/AdYB1QHUAf8B4gLhAf8CtAGzAf8B1wHWAdQB/wHiAeEB3wH/A0oBjVAA
|
||||
AVgBjwGlAf8BOgHGAfAB/wFeAdQB8gH/AY0B4wH0Af8BogHrAfYB/wGDAd8B9AH/AUQBygHwAf8BEgG2
|
||||
Ae0B/wEAAacB6AH/AQABoQHiAf8BAAGcAdsB/wE4AVwBgwH/CAADWgG9A+MB/wPnAf8D4QH/A+AB/wPg
|
||||
Af8D3wH/A98B/wPeAf8D3QH/A90B/wPcAf8D2wH/A+AB/wPQAf8DWgG9AwsBDwNVAbUDZAHnAeQB4wHi
|
||||
Af8B0QHQAc8B/wLwAe8B/wOuAf8DZAHxA2cB8gKsAasB/wLoAecB/wLLAcoB/wHgAd8B3QH/A2EB5ANV
|
||||
AbUDCwEPSAABWQGSAagB/wE6AcUB8AH/AV8B1AHyAf8BjQHjAfQB/wGiAesB9gH/AYIB3wH0Af8BRAHK
|
||||
AfAB/wESAbYB7QH/AQABpwHoAf8BAAGhAeEB/wEAAZwB2wH/AToBXwGGAf8IAAMpAT8DzgH/A+wB/wPe
|
||||
Af8D2AH/A9IB/wPMAf8DyAH/A8cB/wPIAf8DywH/A9AB/wPdAf8D6AH/A6QB/wMrAUIDPwFtAuQB4wH/
|
||||
AdgB1gHVAf8B0gHRAdAB/wHFAcQBwwH/Ae0B7AHrAf8DVwG6CAADXAHNAegB5wHmAf8BtgG1AbQB/wHW
|
||||
AdUB0wH/AeIB4QHgAf8C4AHfAf8DPAFmSAABXAGVAasB/wE6AcUB8AH/AV8B1AHyAf8BjQHjAfQB/wGi
|
||||
AesB9gH/AYMB3wH0Af8BRQHLAfAB/wESAbUB7QH/AQABpwHoAf8BAAGhAeIB/wEAAZwB2gH/AT0BYgGI
|
||||
Af8MAANaAb0D4wH/A9sB/wPiAf8BtwHQAbgB/wFDAa0BRwH/AVUBqgFDAf8BTwGvAUcB/wE1AaUBQQH/
|
||||
AawBxQGsAf8DwgH/A9EB/wPTAf8DWgG9BAADQgF2AewB6wHoAf8B2gHZAdcB/wHUAdMB0QH/AcYBxQHE
|
||||
Af8B3gLcAf8DRgF+CAADUAGaAd0B3AHbAf8ByAHGAcUB/wLiAeEB/wLhAd8B/wHuAe0B7AH/Az8Bb0gA
|
||||
AV4BmAGuAf8BOgHFAfAB/wFfAdQB8QH/AY0B4wH0Af8BogHrAfYB/wGDAd8B9AH/AUUBygHwAf8BEgG2
|
||||
Ae0B/wEAAagB6QH/AQABoQHhAf8BAAGcAdoB/wE/AWQBigH/DAADKQE/A9EB/wPzAf8BxwHeAcoB/wFD
|
||||
AckBhQH/AbMB3AGkAf8B5wHHAVsB/wHcAb8BUgH/AVUBzAGPAf8BLgGtAUcB/wG4AdABuAH/A/EB/wOv
|
||||
Af8DKwFCBAADLwFKA2AB6wN7AfwB3gHdAdwB/wHLAsoB/wHmAuUB/wNhAeEDMgFQAzgBXANgAesC7gHs
|
||||
Af8BzALLAf8B5wHmAeUB/wN7AfwDYAHrAywBQ0gAAWEBmwGwAf8BOQHGAfAB/wFfAdQB8gH/AY0B4wH0
|
||||
Af8BogHrAfYB/wGDAd8B9AH/AUUBygHwAf8BEgG2Ae0B/wEAAagB6AH/AQABoQHhAf8BAAGcAdoB/wFC
|
||||
AWgBjgH/EAADWgG9A8QB/wFVAc4BiwH/AZkB5AGrAf8BsAHFATwB/wHqAbUBJwH/AeEBogEYAf8BpQGd
|
||||
AR8B/wGCAcUBjwH/ASgBmgE1Af8DoAH/A1oBvRAAA14BzgHhAeAB3gH/AdkB1wHWAf8BuAK3Af8B4QHg
|
||||
Ad8B/wOoAf0DqgH9AvYB9QH/AsABvwH/AeoB6QHoAf8C8wHyAf8DXAHJUAABZAGfAbMB/wE5AcYB8AH/
|
||||
AV0B1AHxAf8BjAHjAfQB/wGiAesB9gH/AYMB3wH0Af8BRQHKAfAB/wESAbYB7QH/AQABpwHoAf8BAAGh
|
||||
AeEB/wEAAZsB2gH/AUQBawGQAf8YAAFhAX0BbAH8AaIB6QGVAf8B1gHPAUgB/wHiAbMBJgH/AdEBuwEu
|
||||
Af8BwgGuASEB/wGCAb0BSwH/ASsBcgFXAfwYAANMAZEB4wHiAeAB/wLeAdwB/wHhAeAB3wH/AcwCywH/
|
||||
AcQBwwHCAf8CzwHOAf8C3gHdAf8C8AHvAf8C8AHvAf8C9gH1Af8DSAGHUAABZQGhAbUB/wFfAdUB9AH/
|
||||
AZoB6AH3Af8BtQHzAfoB/wHCAfgB/AH/AcMB+AH9Af8BwQH3Af0B/wGvAfAB+wH/AY8B4gH3Af8BXgHQ
|
||||
AfAB/wEyAbgB5QH/AUcBbgGTAf8YAAFjAX0BbQH8AaIB8AGfAf8B2AHtAa8B/wHeAcUBRwH/AbQB4gFE
|
||||
Af8BPwHnARgB/wFKAdcBSgH/ATIBdAFeAfwUAAMBAQIDXwHjAeUB5AHhAf8C7gHtAf8C7gHtAf8C6wHq
|
||||
Af8B4wHiAeEB/wLoAecB/wLqAekB/wLzAfIB/wL1AfQB/wH6AfkB+AH/A1wB31AAAWgBowG4Af8BxQH5
|
||||
Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/
|
||||
AcUB+QH9Af8BxQH5Af0B/wFJAXEBlQH/GAADYQHcAcgB9wHUAf8B2AH2AcoB/wHnAeMBqQH/AdsBzwFL
|
||||
Af8BrwHcAUcB/wGdAeoBqwH/A18B4BgAA0ABbwN/Af4DZAHnA18B8wHoAecB5gH/AecB5gHlAf8C7QHs
|
||||
Af8C+wH6Af8DZwHyA2QB5wN/Af4DPQFoUAABtwHXAeEB/wGMAb0BzAH/AZ0BzwHbAf8BrQHfAegB/wG5
|
||||
AewB8wH/AcIB9QH6Af8BwgH1AfoB/wG4AesB8QH/AakB2gHjAf8BlAHEAdEB/wFvAagBuAH/AakBxQHR
|
||||
Af8YAAMtAUUBYAF5AXAB+gHbAfgB6QH/AecB8gHYAf8B7QHlAbMB/wHfAdkBpgH/AV8BiAFfAfsDMgFQ
|
||||
IAADDwEUAwoBDgNTAaoB7wHuAe0B/wL0AfMB/wNSAaQDCAELAxEBF1gAAv4C/wHjAfEB9AH/AbkB1wHh
|
||||
Af8BlQG+AcwB/wFvAagBuwH/AWIBmwGwAf8BXgGYAa0B/wFnAaEBswH/AYwBsgHCAf8BsQHNAdcB/wHf
|
||||
AesB7wH/A/4B/xwAAy4BRwNeAdkBZwF9AWsB/AFnAXwBZwH8A14B3QMyAVAsAAMvAUoDXQHwA2IB7wMs
|
||||
AUNkAAMRARcDVgGzAVMBVAFTAay0AAMEAQUDEAEVAx8BLQMpAT8DLwFJAy4BSAMoAT0DHgErAw8BFAMD
|
||||
AQQQAAO3Af8BnAGoAZ4B/wEAAVYBMQH/ARsBkgFTAf8BAAFaATEB/wEDAUcBoAH/AQABRQGeAf8BAAFC
|
||||
AZsB/wEAAUABmQH/AQABPgGXAf8BAAE7AZQB/wEAAToBkwH/A0sB/wNLAf8cAANBAXIBTAJfAfMBWQJc
|
||||
Ac8BSwJMAZADIwEzXAADBQEHAx8BLAI+AT0BagJSAVABowFbAlkBxAFdAloB0wFdAloB0wFbAlkBwwFS
|
||||
AlEBoQM8AWYDHAEoAwQBBgwAAxUBHQNRAaIBIAGVAVcB/wGCAb4BqgH/AS8BpQGCAf8BEAGXAUkB/wET
|
||||
AZkBTgH/ARcBmQFSAf8BGwGdAVcB/wFVAaoB0gH/AVMBqAHRAf8BAAE8AZUB/yAAAyEBMAErATYBawH8
|
||||
AYYBrQHhAf8BXQGoAdwB/wE+AZIByQH/AQ8BUQGrAf8BVQJWAbEDHwEtUwABAQMSARgDPgFrAV0CWQHX
|
||||
AVkCKwH8AawBLAEDAf8B4QFMASAB/wHkAV4BNAH/AdMBSgEYAf8BowFAATcB/QFhAl4B2gI+AT0BagMP
|
||||
ARQIAAMYASIBUAFSAVABpANWAbMBTAGsAZ8B/wFTAbcBngH/AV0BuwGsAf8BXQG7Aa4B/wFeAbsBsAH/
|
||||
AYABvAGzAf8BFgGaAVoB/wEzAZUBxwH/AVYBqwHTAf8BAAE/AZgB/yAAAVQCVgGrAUwBnQHRAf8BmQG8
|
||||
AesB/wFQAaAB4wH/AZYBuQHqAf8BlAG4AeoB/wE/AZMBygH/AisBZwH8A0MBeFAAAxsBJgNZAdIBHAEG
|
||||
AQAB/wGKATsBIwH/AcoBhgFFAf8B9gG8AZwB/wH5AcwBtwH/AeMBoAFXAf8BsQFWATwB/wFYATIBEwH/
|
||||
AV4CWAHdAxwBKAgAAVUBVgFVAbEDVgGzA1YBswE7AaQBkQH/AU4BtgGbAf8BRwGyAZsB/wFJAbIBngH/
|
||||
AUsBswGhAf8BhQG/AbYB/wEdAZ4BggH/ATgBmQHJAf8BWgGtAdQB/wEAAUMBnAH/HAADHwEtASsBTAFv
|
||||
AfwBnQG/AewB/wFIAZwB4gH/AToBkwHfAf8BNwGRAd8B/wE+AZQB4AH/AZUBuAHqAf8BhgGtAeEB/wEo
|
||||
AYMBuwH/AUsCTAGQBAADnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOd
|
||||
Af8DnQH/A50B/wOdAf8DnQH/CAABUwJPAaUBMwEYAQAB/wFYAUMBLgH/AY8BVQFAAf8BrAGIAUoB/wHC
|
||||
AaMBiAH/AcEBpQGOAf8BswGYAYEB/wGRAVUBPwH/AVMBOgElAf8BQgEbAQAB/wFWAlUBsQgAAwgBCwNV
|
||||
AbIDVgGzAVUBsgGoAf8BXAG9AacB/wGHAcEBtQH/AYYBwQG2Af8BhwHBAbcB/wGIAcEBuQH/ASMBogGI
|
||||
Af8BPQGcAcsB/wFeAbAB1QH/AQIBRgGfAf8QAAMrAUIDSAGEAVUCVwG3AUwCXwHzAVUBpAHXAf8BoQHC
|
||||
Ae0B/wGfAcAB7QH/AZ0BvwHtAf8BUwGjAeQB/wE5AZIB3wH/ATcBkAHeAf8BWgGnAeYB/wGSAbYB6AH/
|
||||
ASIBXgG3Af8DNwFaA50B/wG6Ar0B/wHmAuwB/wHmAu0B/wHnAu0B/wHoAu4B/wHpAu8B/wHpAu8B/wHq
|
||||
Au8B/wHqAvAB/wHrAvAB/wHrAvEB/wHsAvEB/wHsAvEB/wG9Ar8B/wOdAf8EAAM5AV8BVAE0ARkB/wHD
|
||||
AbEBogH/AbYBnAGDAf8BpgFYASsB/wGoAVYBKAH/AcMBpAGHAf8B2AHGAbAB/wG9AakBiwH/AV4BPgEe
|
||||
Af8BOwEbAQAB/wExAQ0BAAH/ATgBEQEAAf8DMwFTCAADBgEIA1UBsgEuAaABigH/AZMByQG6Af8BPgGv
|
||||
AZcB/wEjAaIBgwH/ASQBowGHAf8BJgGkAYsB/wElAaoBkgH/ATMBwgHtAf8BgQG0AdcB/wEHAUoBowH/
|
||||
DAADTAGTAUMBlwHPAf8BWgGoAdkB/wGNAbQB4gH/AaMBxAHtAf8BpwHHAe4B/wFDAZcBzQH/ARMBVAGy
|
||||
Af8BPgGTAckB/wGfAcAB7QH/AVcBlgGjAf8BngGWAScB/wFbAZQBkQH/AY0BswHpAf8BWAGlAdgB/wFa
|
||||
Al4B2AQAA1wB6gHbAuIB/wHNAs8B/wPLAf8DzAH/A84B/wPPAf8D0AH/A9IB/wPTAf8D1QH/AdcC2AH/
|
||||
AecC7AH/A20B9wQAAyIBMQFWAlUBsQFGARoBAAH/AaoBhQE+Af8BsgFRAQ8B/wGtAS4BAAH/AboBSwED
|
||||
Af8B6gHVAb8B/wH9AfwB+gH/AdYBvgGmAf8BkAE+AQsB/wFBAQ8BAAH/AUIBHwEAAf8BOwEbAQAB/wNX
|
||||
AcUDHAEnCAADBAEGARQBlAFWAf8BTQG5AZ4B/wEoAaYBiQH/AVgBsQHVAf8BVAGtAdQB/wFQAasB0gH/
|
||||
AT4BugHkAf8BAAGZAUgB/wEGAY4BNwH/AQkBTwGaAf8MAAFIAmIB9gGuAc0B8AH/AbABzwHwAf8BmAG/
|
||||
AewB/wFdAa4B5wH/AaoBygHvAf8BHAFaAbgB/wQAARQBVQGzAf8BogHDAe0B/wGoAZcBEAH/AcQBtQE5
|
||||
Af8BrAGXAQUB/wE6AZMB3wH/AZgBuwHrAf8BAAFDAZ8B/wQAA1wB6gHZAuEB/wHLAswB/wPHAf8DyAH/
|
||||
A8oB/wPLAf8DzQH/A84B/wPQAf8D0QH/AdMC1AH/AeUC6wH/A20B9wQAAy4BRwNZAewBQQEPAQAB/wGZ
|
||||
AS4BAAH/AbgBRgEAAf8BwgFCAQAB/wHJAVQBAgH/AeYBvwGUAf8B7AHUAbYB/wHNAZwBQQH/AagBSwEL
|
||||
Af8BmQFMASAB/wGjAYwBUQH/AV4BRQEuAf8CUQE/AfcBNQI0AVUMAAE3AY4BxAH/ATEBrAGLAf8BLgGq
|
||||
AY8B/wFdAbUB2AH/AVkBsgHWAf8BVgGvAdUB/wFSAawB0wH/AQMBkAFBAf8BOAGoAYQB/wEAAVcBMgH/
|
||||
AxQBGwgAAVoCYAHeAagByQHtAf8BhAGnAe0B/wE3AUkB7QH/AUkBjgHpAf8BrQHNAfAB/wFMAZ0B0gH/
|
||||
AR0BWwG5Af8BRgGZAc4B/wGlAcUB7gH/AZUBmgFIAf8BrQGXAQUB/wGdAZcBLAH/AUUBmwHiAf8BmAG7
|
||||
AeoB/wFIAmIB9gQAA1wB6gHXAt8B/wHHAskB/wPCAf8DxAH/A8UB/wPIAf8DyQH/A8oB/wPMAf8DzQH/
|
||||
AdAC0QH/AeMC6gH/A20B9wQAAzkBXwJAASQB/QFTARoBAAH/Aa4BOAEAAf8BwAFAAQAB/wHnAZYBJQH/
|
||||
AegBsgFZAf8B5AGxAVkB/wHSAYkBGAH/Ab0BRQEAAf8BqAEzAQAB/wG4AY0BPAH/AdQBwwGyAf8BmAGE
|
||||
AU0B/wE6ARwBAAH/AT4CPQFqDAABPQGRAckB/wGkAcwB5AH/AYcBuwHbAf8BHgGhAVkB/wEYAZwBUwH/
|
||||
ARMBmgFPAf8BDgGWAUkB/wEqAaMBgQH/AYQBwAGrAf8BIQGWAVgB/wNRAaIDFQEdBAADUQGcAZIBuQHl
|
||||
Af8BTQFTAfYB/wGBAYQB9QH/Ah8B8AH/AZABuwHrAf8BrgHNAfAB/wGsAcwB8AH/AaoBygHwAf8BhQGy
|
||||
AekB/wE9AakBwQH/ASMBswGNAf8BNQGoAbYB/wFPAaEB5AH/AZcBugHoAf8DXQHtBAADXAHqAdYC3wH/
|
||||
AcMCxQH/A8AB/wPAAf8DwgH/A8MB/wPEAf8DxQH/A8gB/wPJAf8DzQH/AeAC6AH/A20B9wQAAzcBWgJN
|
||||
ASgB+gGDASUBAAH/AcsBTwEAAf8B5QGLARwB/wH+AbYBUQL/AeMBwgH/AfQBvAGFAf8B1gFWAQgB/wHF
|
||||
AU0BAAH/AboBQgEAAf8BrwFWARgB/wGuAYgBPAH/AZQBVQE8Af8BOwEdAQEB/wM8AWYMAAFCAZUBzQH/
|
||||
AagBzwHlAf8BjAG/Ad0B/wEkAaUBgQH/AY0BxQG4Af8BiQHDAbQB/wGGAcEBsQH/AYQBvwGvAf8BVgG5
|
||||
AZ8B/wFNAa0BoAH/A1YBswFQAVIBUAGkAxgBIgMjATMBKwFkAXoB/AGSAaQB9QH/ATgBOQH2Af8BMAGG
|
||||
AfQB/wEaAaYB+wH/ATsBqwHyAf8BXQGvAecB/wFaAa0B5wH/AVcBqgHmAf8BHgG2AYAB/wE/AcgBlwH/
|
||||
ARoBtwFZAf8BXAGsAecB/wGPAbUB4wH/AVoCXgHVBAADYAHWAccCzQH/AdsC5AH/AdsC5AH/AdsC5QH/
|
||||
AdwC5QH/AdwC5QH/Ad0C5gH/Ad0C5gH/Ad4C5wH/Ad8C6AH/AeAC6AH/Ac0C0wH/A18B4wQAAyYBOQFg
|
||||
AloB3gGOAS0BAAH/AewBngEyAf8B/gG/AYUC/wHMAaEC/wHfAbsB/wH+AcIBXgH/AeIBjgEoAf8B0wGE
|
||||
ARkB/wHKAVgBCwH/AbUBTwEJAf8BlwFAAQYB/wGBAT0BGAH/A1kB7AMuAUgMAAFGAZgB0AH/AasB0QHn
|
||||
Af8BkAHCAd8B/wErAakBiAH/AZEByQG7Af8BVQG6AaUB/wFRAbgBoQH/AU0BtgGeAf8BUQG4AZ0B/wE8
|
||||
AaUBkgH/A1YBswNWAbMBVQFWAVUBsQQAA0kBhwGGAa8B4QH/AbkB1wHzAf8BEQGmAf4B/wFLAb8C/wEK
|
||||
AaMC/wFFAb4B8AH/ARkBzgH7Af8BOQG+AfEB/wExAbMBoAH/ARoBtwFYAf8BJgGzAZAB/wGnAcgB7gH/
|
||||
AVYBpQHWAf8BTwJRAZwEAAMsAUMDWwHIA50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
|
||||
A50B/wNeAd0DMQFOBAADCQEMA0sBjgHAAU0BDAL/AbwBXgH/AfoBzgGnAf8B+AHbAb4C/wHiAcYC/wG+
|
||||
AYYB/wH0AawBVAH/AewBwgGaAf8B4gG1AYsB/wG4AVQBEgH/AZ0BQwELAf8BiAFDAR8B/wNPAaUDEAEV
|
||||
DAABSgGbAdMB/wGuAdQB6AH/AasB0wHoAf8BOAGxAZAB/wGbAc4BwAH/AZkBzQG9Af8BlgHLAbsB/wGV
|
||||
AcoBuQH/AYABvwGoAf8BVgGzAakB/wNWAbMDVQGyAwgBCwQAAwQBBgNRAZ8BhQGuAeEB/wE5AbIB+QH/
|
||||
AQoBowL/AR8BqQH7Af8BDwHTAf4B/wFLAeIC/wEKAdUC/wFeAbAB6AH/AVsBrQHnAf8BqQHKAe8B/wGl
|
||||
AcUB7QH/ASsBVgFxAfwDIQEwRAADEwEaAmQBUwHxAdgBngFRAf8B5wHTAcAB/wH8AfUB7gL/AfgB6wL/
|
||||
AeUBwgH/AfYBuQGCAf8B8gHSAbgB/wHuAdIBtgH/AcIBhgEtAf8BpwFVASYB/wJNASkB+gMdASkQAAFN
|
||||
AZ0B1QH/AUsBmwHTAf8BSAGaAdIB/wEoAaEBjAH/ASMBnwGKAf8BIAGdAYUB/wEcAZkBgAH/ATUBpQGS
|
||||
Af8BXgG4AbEB/wEvAaEBiwH/A1UBsgMGAQgQAANCAXUBXwJiAfYBjgG2AeMB/wG5AdcB8wH/ATwB1QH7
|
||||
Af8BCQHVAv8BIAHRAfsB/wGzAdIB8gH/AbEB0AHxAf8BkgG4AeIB/wFBAZUBzAH/A0oBikwAAzUBVwGp
|
||||
AUEBEwH/AcoBuAGoBv8B/gH8Av8B9gHiAf8B+wHFAaAB/wHkAbkBlQH/AdsBrAFcAf8BwwGOATsB/wGT
|
||||
AUMBFwH/AT4CPQFqMAABUwJUAawDVgGzA1YBswMEAQYYAAMWAR4DVAGuAVUBowHcAf8BkQG4AeQB/wGo
|
||||
AcoB7AH/AaUBxwHsAf8BjQG1AeIB/wFHAZoB0gH/AVoCXwHbAzEBTlQAAzIBUQJkAVkB7AHQAbIBlQH/
|
||||
AewB4AHZAf8B5gHVAcQB/wHTAbABlAH/AdMBpgFWAf8BywGPATQB/wFnAWUBWQHyAToCOQFgNAABUwJU
|
||||
AawDVgGzAwQBBiQAAysBQgNMAZABWwJdAdIBWQJcAc8DTgGZAy0BRWAAAxEBFwNEAXoCWgFXAcUCZQFe
|
||||
AeUCYQFYAeYCXAFZAckCSAFHAYMDFQEdEAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEB
|
||||
FgAD/wEAAeABBwIAAfwBPwIAAcABAwIAAfwBPwIAAcABAwIAAcABAwIAAcABAwIAAcABAwIAAcABAwIA
|
||||
AcABAwIAAcABAwIAAcABAwIAAcABAwYAAcABAwIAAQEBgAIAAcABAwGAAgEBgAIAAcABAwGAAQEEAAHA
|
||||
AQMBwAEDAcABAwIAAcABAwHwAQ8BwAEDAgABwAEDAfABDwGAAQMCAAHAAQMB8AEPAcABAwIAAcABAwHw
|
||||
AQ8B8AEPAgABwAEDAfgBHwH8AT8CAAHjBf8B4AEHAYABAQH8AR8C/wHAAQMBgAEHAfgBBwL/AYABAwEA
|
||||
AQcB+AEDAv8BwAEDAQABBwHwAQECAAHAAQMBAAEHAYADAAGAAQEBgAEHAgABgAEBAgABwAEHAQEBAAGA
|
||||
AQECAAHgAQMCAAGAAQECAAHgAQECAAGAAQECAAHgAwABgAEBAgAB4AEAAYABAAGAAQECAAHgAQABgAEA
|
||||
Av8BgAEBAeABAQHgAQEC/wHAAQMB/wHDAfABAwL/AeABBwH/AccB/AEPAv8B8AEPCw==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
1902
mRemoteV1/Forms/frmOptions.vb
Normal file
43
mRemoteV1/Forms/frmPassword.Designer.vb
generated
@@ -31,8 +31,6 @@ Partial Class frmPassword
|
||||
Me.lblStatus = New System.Windows.Forms.Label
|
||||
Me.pbLock = New System.Windows.Forms.PictureBox
|
||||
Me.pnlImage = New System.Windows.Forms.Panel
|
||||
Me.txtSnake = New System.Windows.Forms.TextBox
|
||||
Me.lblTips = New System.Windows.Forms.Label
|
||||
CType(Me.pbLock, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.pnlImage.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
@@ -66,7 +64,7 @@ Partial Class frmPassword
|
||||
Me.lblPassword.Name = "lblPassword"
|
||||
Me.lblPassword.Size = New System.Drawing.Size(56, 13)
|
||||
Me.lblPassword.TabIndex = 2
|
||||
Me.lblPassword.Text = Language.Base.Password
|
||||
Me.lblPassword.Text = My.Language.strLabelPassword
|
||||
'
|
||||
'lblVerify
|
||||
'
|
||||
@@ -75,7 +73,7 @@ Partial Class frmPassword
|
||||
Me.lblVerify.Name = "lblVerify"
|
||||
Me.lblVerify.Size = New System.Drawing.Size(36, 13)
|
||||
Me.lblVerify.TabIndex = 3
|
||||
Me.lblVerify.Text = Language.Base.Verify
|
||||
Me.lblVerify.Text = My.Language.strLabelVerify
|
||||
'
|
||||
'btnOK
|
||||
'
|
||||
@@ -85,7 +83,7 @@ Partial Class frmPassword
|
||||
Me.btnOK.Name = "btnOK"
|
||||
Me.btnOK.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnOK.TabIndex = 4
|
||||
Me.btnOK.Text = Language.Base.Button_OK
|
||||
Me.btnOK.Text = My.Language.strButtonOK
|
||||
Me.btnOK.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btnCancel
|
||||
@@ -97,7 +95,7 @@ Partial Class frmPassword
|
||||
Me.btnCancel.Name = "btnCancel"
|
||||
Me.btnCancel.Size = New System.Drawing.Size(69, 23)
|
||||
Me.btnCancel.TabIndex = 5
|
||||
Me.btnCancel.Text = Language.Base.Button_Cancel
|
||||
Me.btnCancel.Text = My.Language.strButtonCancel
|
||||
Me.btnCancel.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lblStatus
|
||||
@@ -109,13 +107,13 @@ Partial Class frmPassword
|
||||
Me.lblStatus.Name = "lblStatus"
|
||||
Me.lblStatus.Size = New System.Drawing.Size(189, 14)
|
||||
Me.lblStatus.TabIndex = 6
|
||||
Me.lblStatus.Text = Language.Base.Status
|
||||
Me.lblStatus.Text = "Status"
|
||||
Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.TopRight
|
||||
Me.lblStatus.Visible = False
|
||||
'
|
||||
'pbLock
|
||||
'
|
||||
Me.pbLock.Image = Global.mRemote.My.Resources.Resources.Lock
|
||||
Me.pbLock.Image = Global.mRemoteNG.My.Resources.Resources.Lock
|
||||
Me.pbLock.Location = New System.Drawing.Point(7, 8)
|
||||
Me.pbLock.Name = "pbLock"
|
||||
Me.pbLock.Size = New System.Drawing.Size(64, 64)
|
||||
@@ -131,29 +129,6 @@ Partial Class frmPassword
|
||||
Me.pnlImage.Size = New System.Drawing.Size(100, 100)
|
||||
Me.pnlImage.TabIndex = 8
|
||||
'
|
||||
'txtSnake
|
||||
'
|
||||
Me.txtSnake.BackColor = System.Drawing.SystemColors.Control
|
||||
Me.txtSnake.BorderStyle = System.Windows.Forms.BorderStyle.None
|
||||
Me.txtSnake.Location = New System.Drawing.Point(9, 143)
|
||||
Me.txtSnake.Name = "txtSnake"
|
||||
Me.txtSnake.ReadOnly = True
|
||||
Me.txtSnake.Size = New System.Drawing.Size(100, 13)
|
||||
Me.txtSnake.TabIndex = 9
|
||||
Me.txtSnake.TabStop = False
|
||||
'
|
||||
'lblTips
|
||||
'
|
||||
Me.lblTips.ForeColor = System.Drawing.Color.White
|
||||
Me.lblTips.Location = New System.Drawing.Point(129, 6)
|
||||
Me.lblTips.Name = "lblTips"
|
||||
Me.lblTips.Size = New System.Drawing.Size(150, 118)
|
||||
Me.lblTips.TabIndex = 10
|
||||
Me.lblTips.Text = "Enter: Start/Pause" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Up/Down: Change difficulty" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Arrow Keys: Steer the snake" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Esc:" & _
|
||||
" Quit (at any time)" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Have Fun! =)"
|
||||
Me.lblTips.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
Me.lblTips.Visible = False
|
||||
'
|
||||
'frmPassword
|
||||
'
|
||||
Me.AcceptButton = Me.btnOK
|
||||
@@ -165,13 +140,11 @@ Partial Class frmPassword
|
||||
Me.Controls.Add(Me.txtVerify)
|
||||
Me.Controls.Add(Me.txtPassword)
|
||||
Me.Controls.Add(Me.lblStatus)
|
||||
Me.Controls.Add(Me.txtSnake)
|
||||
Me.Controls.Add(Me.lblVerify)
|
||||
Me.Controls.Add(Me.lblPassword)
|
||||
Me.Controls.Add(Me.pnlImage)
|
||||
Me.Controls.Add(Me.btnCancel)
|
||||
Me.Controls.Add(Me.btnOK)
|
||||
Me.Controls.Add(Me.lblTips)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
@@ -179,7 +152,7 @@ Partial Class frmPassword
|
||||
Me.ShowIcon = False
|
||||
Me.ShowInTaskbar = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = Language.Base.Security
|
||||
Me.Text = My.Language.strTitlePassword
|
||||
CType(Me.pbLock, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.pnlImage.ResumeLayout(False)
|
||||
Me.pnlImage.PerformLayout()
|
||||
@@ -196,6 +169,4 @@ Partial Class frmPassword
|
||||
Friend WithEvents lblStatus As System.Windows.Forms.Label
|
||||
Friend WithEvents pbLock As System.Windows.Forms.PictureBox
|
||||
Friend WithEvents pnlImage As System.Windows.Forms.Panel
|
||||
Friend WithEvents txtSnake As System.Windows.Forms.TextBox
|
||||
Friend WithEvents lblTips As System.Windows.Forms.Label
|
||||
End Class
|
||||
|
||||
@@ -29,12 +29,12 @@
|
||||
|
||||
|
||||
|
||||
Public Sub New(Optional ByVal UserAndPass As Boolean = False, Optional ByVal Title As String = "Security")
|
||||
Public Sub New(Optional ByVal UserAndPass As Boolean = False, Optional ByVal title As String = "Security")
|
||||
' This call is required by the Windows Form Designer.
|
||||
InitializeComponent()
|
||||
|
||||
' Add any initialization after the InitializeComponent() call.
|
||||
Me.Text = Title
|
||||
Me.Text = title
|
||||
|
||||
If UserAndPass = True Then
|
||||
_UserAndPass = True
|
||||
@@ -86,12 +86,12 @@
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyLanguage()
|
||||
lblPassword.Text = Language.Base.Password
|
||||
lblVerify.Text = Language.Base.Verify
|
||||
btnOK.Text = Language.Base.Button_OK
|
||||
btnCancel.Text = Language.Base.Button_Cancel
|
||||
lblStatus.Text = Language.Base.Status
|
||||
Text = Language.Base.Security
|
||||
lblPassword.Text = My.Language.strLabelPassword
|
||||
lblVerify.Text = My.Language.strLabelVerify
|
||||
btnOK.Text = My.Language.strButtonOK
|
||||
btnCancel.Text = My.Language.strButtonCancel
|
||||
lblStatus.Text = "Status"
|
||||
Text = My.Language.strTitlePassword
|
||||
End Sub
|
||||
|
||||
Private Sub txtPassword_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtPassword.GotFocus
|
||||
@@ -107,33 +107,4 @@
|
||||
Me.txtVerify.SelectionLength = Me.txtVerify.TextLength
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub txtPassword_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPassword.TextChanged
|
||||
If txtPassword.Text = "ijustwannaplay" Then
|
||||
pbLock.Visible = False
|
||||
btnOK.Visible = False
|
||||
btnCancel.Visible = False
|
||||
txtPassword.Visible = False
|
||||
txtVerify.Visible = False
|
||||
lblPassword.Visible = False
|
||||
lblStatus.Visible = False
|
||||
lblVerify.Visible = False
|
||||
AcceptButton = Nothing
|
||||
CancelButton = Nothing
|
||||
BackColor = Color.DimGray
|
||||
Me.Text = "SnakeFX Lite"
|
||||
pnlImage.Top = (Me.ClientSize.Height / 2) - (Me.pnlImage.Height / 2)
|
||||
lblTips.Visible = True
|
||||
|
||||
Easter.Snake.Game.CreatePicBox(pnlImage)
|
||||
Easter.Snake.Game.Mode = Easter.Snake.Game.GameMode.Welcome
|
||||
Easter.Snake.Game.SetupGame()
|
||||
txtSnake.Focus()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub txtSnake_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtSnake.KeyDown
|
||||
Easter.Snake.Game.CheckKeyPress(e)
|
||||
End Sub
|
||||
End Class
|
||||
@@ -16,27 +16,27 @@
|
||||
<p>
|
||||
<span class="heading1">Steps to configure your SQL Server</span></p>
|
||||
<ul>
|
||||
<li>Create a new Database called "mRemote" on your SQL Server.</li>
|
||||
<li>Create a new Database called "mRemoteNG" on your SQL Server.</li>
|
||||
<li>Run the SQL Script below on the newly created Database.</li>
|
||||
<li>Give the users that you want to grant access to the mRemote Connections Database
|
||||
Read/Write permissions on the Database.</li>
|
||||
</ul>
|
||||
<p class="heading1">
|
||||
Steps to configure mRemote for SQL</p>
|
||||
Steps to configure mRemoteNG for SQL</p>
|
||||
<ul>
|
||||
<li>Start mRemote if it's not already running.</li>
|
||||
<li>Start mRemoteNG if it's not already running.</li>
|
||||
<li>Go to Options - Connections.</li>
|
||||
<li>Check the box that says "Use SQL Server to load & save connections".</li>
|
||||
<li>Fill in your SQL Server hostname or ip address.</li>
|
||||
<li>If you do not use your Windows logon info to authenticate against the SQL Server
|
||||
fill in the correct Username and Password.</li>
|
||||
<li>Click OK to apply the changes. The main window title should now change to
|
||||
"mRemote | SQL Server".</li>
|
||||
"mRemoteNG | SQL Server".</li>
|
||||
<li>Now click on File - Save to update the tables on your SQL Server with the data
|
||||
from the loaded connections xml file. (Do not click File - New, this doesn't
|
||||
work yet)</li>
|
||||
<li>You should now be able to do everything you were able to do with the XML storage
|
||||
plus see the changes live on another mRemote instance that is connected to the
|
||||
plus see the changes live on another mRemoteNG instance that is connected to the
|
||||
same Database.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[PuttySession] [varchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[Port] [int] NOT NULL ,
|
||||
[ConnectToConsole] [bit] NOT NULL ,
|
||||
[UseCredSsp] [bit] NOT NULL ,
|
||||
[RenderingEngine] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[ICAEncryptionStrength] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
[RDPAuthenticationLevel] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
@@ -37,6 +38,8 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[Resolution] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
[DisplayWallpaper] [bit] NOT NULL ,
|
||||
[DisplayThemes] [bit] NOT NULL ,
|
||||
[EnableFontSmoothing] [bit] NOT NULL ,
|
||||
[EnableDesktopComposition] [bit] NOT NULL ,
|
||||
[CacheBitmaps] [bit] NOT NULL ,
|
||||
[RedirectDiskDrives] [bit] NOT NULL ,
|
||||
[RedirectPorts] [bit] NOT NULL ,
|
||||
@@ -61,11 +64,19 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[VNCColors] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[VNCSmartSizeMode] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[VNCViewOnly] [bit] NOT NULL ,
|
||||
[RDGatewayUsageMethod] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
[RDGatewayHostname] [varchar] (512) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[RDGatewayUseConnectionCredentials] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
|
||||
[RDGatewayUsername] [varchar] (512) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[RDGatewayPassword] [varchar] (1024) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[RDGatewayDomain] [varchar] (512) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[InheritCacheBitmaps] [bit] NOT NULL ,
|
||||
[InheritColors] [bit] NOT NULL ,
|
||||
[InheritDescription] [bit] NOT NULL ,
|
||||
[InheritDisplayThemes] [bit] NOT NULL ,
|
||||
[InheritDisplayWallpaper] [bit] NOT NULL ,
|
||||
[InheritEnableFontSmoothing] [bit] NOT NULL ,
|
||||
[InheritEnableDesktopComposition] [bit] NOT NULL ,
|
||||
[InheritDomain] [bit] NOT NULL ,
|
||||
[InheritIcon] [bit] NOT NULL ,
|
||||
[InheritPanel] [bit] NOT NULL ,
|
||||
@@ -81,6 +92,7 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[InheritRedirectSound] [bit] NOT NULL ,
|
||||
[InheritResolution] [bit] NOT NULL ,
|
||||
[InheritUseConsoleSession] [bit] NOT NULL ,
|
||||
[InheritUseCredSsp] [bit] NOT NULL ,
|
||||
[InheritRenderingEngine] [bit] NOT NULL ,
|
||||
[InheritICAEncryptionStrength] [bit] NOT NULL ,
|
||||
[InheritRDPAuthenticationLevel] [bit] NOT NULL ,
|
||||
@@ -100,7 +112,13 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[InheritVNCProxyPassword] [bit] NOT NULL ,
|
||||
[InheritVNCColors] [bit] NOT NULL ,
|
||||
[InheritVNCSmartSizeMode] [bit] NOT NULL ,
|
||||
[InheritVNCViewOnly] [bit] NOT NULL
|
||||
[InheritVNCViewOnly] [bit] NOT NULL ,
|
||||
[InheritRDGatewayUsageMethod] [bit] NOT NULL ,
|
||||
[InheritRDGatewayHostname] [bit] NOT NULL ,
|
||||
[InheritRDGatewayUseConnectionCredentials] [bit] NOT NULL ,
|
||||
[InheritRDGatewayUsername] [bit] NOT NULL ,
|
||||
[InheritRDGatewayPassword] [bit] NOT NULL ,
|
||||
[InheritRDGatewayDomain] [bit] NOT NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |