Compare commits
503 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da39c03a6f | ||
|
|
3d64fbef49 | ||
|
|
869c2726bb | ||
|
|
2e663df42a | ||
|
|
0a82828d2e | ||
|
|
13c1d049fc | ||
|
|
62feba1691 | ||
|
|
3cb8784996 | ||
|
|
81d150f80a | ||
|
|
9ebce266ec | ||
|
|
42bcf8db31 | ||
|
|
ff2bbcf650 | ||
|
|
ba55958327 | ||
|
|
2a67f493f6 | ||
|
|
06892deedf | ||
|
|
d12ea40845 | ||
|
|
3f21151331 | ||
|
|
c91f5e5cba | ||
|
|
9e90d17d80 | ||
|
|
2e67bbf6a1 | ||
|
|
ceec9749b9 | ||
|
|
f674b5bfeb | ||
|
|
b3e541c627 | ||
|
|
3389a152be | ||
|
|
662fcfa318 | ||
|
|
06baec9c55 | ||
|
|
270699c26b | ||
|
|
bc699a04ec | ||
|
|
3639e75f5b | ||
|
|
eef14ebc29 | ||
|
|
2568d2b750 | ||
|
|
58a57d7a7d | ||
|
|
8ddb71758e | ||
|
|
54f19eaeb6 | ||
|
|
960096273b | ||
|
|
b360902bd9 | ||
|
|
8006bb49ca | ||
|
|
ac65468233 | ||
|
|
8992cb29da | ||
|
|
b5f5f43b4c | ||
|
|
8a814d9016 | ||
|
|
4ff4a365e1 | ||
|
|
905b6bb92a | ||
|
|
88d06c8ef2 | ||
|
|
102987dac7 | ||
|
|
54cf76444e | ||
|
|
f595c1d446 | ||
|
|
9cf06c44e8 | ||
|
|
5d63ec6d2a | ||
|
|
0544b61138 | ||
|
|
ceb6f70b4d | ||
|
|
f3075f4c51 | ||
|
|
7b850892ae | ||
|
|
6a3ca9c9de | ||
|
|
d69d948963 | ||
|
|
aa6061d7b6 | ||
|
|
ba667475bf | ||
|
|
5737d78f78 | ||
|
|
079fe000bb | ||
|
|
29865c69ab | ||
|
|
f2e9cce248 | ||
|
|
6a16656f03 | ||
|
|
7f4d3605c0 | ||
|
|
d97ad31cc3 | ||
|
|
a49ebf17bf | ||
|
|
903a9dd5cc | ||
|
|
5d8db1ade6 | ||
|
|
423a89fdaa | ||
|
|
85d78fd4ae | ||
|
|
725269e914 | ||
|
|
9d3beaffbb | ||
|
|
7f36b7926b | ||
|
|
f4bb268e27 | ||
|
|
e1329348d1 | ||
|
|
4f06a48d16 | ||
|
|
1dea64d2eb | ||
|
|
375e737f02 | ||
|
|
1032801f12 | ||
|
|
1002b8d32f | ||
|
|
36a72da71f | ||
|
|
a2b3a815e7 | ||
|
|
7820707e46 | ||
|
|
c3f960cfe8 | ||
|
|
965f43a4c3 | ||
|
|
317175bb03 | ||
|
|
1608d48495 | ||
|
|
08ddee1bda | ||
|
|
72756a2bb8 | ||
|
|
38011a3546 | ||
|
|
d72dbdace0 | ||
|
|
5c887b648f | ||
|
|
4de7167352 | ||
|
|
54825b353f | ||
|
|
b23fb58977 | ||
|
|
7b831c6ab8 | ||
|
|
167344bd14 | ||
|
|
14f31ba461 | ||
|
|
13a82799b2 | ||
|
|
66fe33683e | ||
|
|
8030c9a63d | ||
|
|
60630a5cab | ||
|
|
d9ba8f81e2 | ||
|
|
7fe56402fd | ||
|
|
634bce25cd | ||
|
|
437ff003b0 | ||
|
|
9f09798da5 | ||
|
|
5da85b6a88 | ||
|
|
bb42a31486 | ||
|
|
7e5e1e6342 | ||
|
|
6f43bbf96e | ||
|
|
8ea514643d | ||
|
|
f7e12c6e92 | ||
|
|
30f2cc9e28 | ||
|
|
45b9dddb4b | ||
|
|
650dc487db | ||
|
|
5bc443707f | ||
|
|
4510219300 | ||
|
|
cd8601c7ff | ||
|
|
73c27069ee | ||
|
|
7dcad234f5 | ||
|
|
66281639b4 | ||
|
|
1af6fde986 | ||
|
|
83ec9e50b8 | ||
|
|
6d21c85d98 | ||
|
|
0ff00e59ba | ||
|
|
850a342e38 | ||
|
|
1caba06aca | ||
|
|
a115196cee | ||
|
|
5f451de94e | ||
|
|
a4921fc564 | ||
|
|
7d1d03e8cd | ||
|
|
92c18a45ba | ||
|
|
a61fb5c6d6 | ||
|
|
e1deaf73ea | ||
|
|
7d6d602477 | ||
|
|
b0439adee4 | ||
|
|
0a7c88a853 | ||
|
|
b735e6d3e4 | ||
|
|
960ecba12a | ||
|
|
3988820db9 | ||
|
|
22ea7055c9 | ||
|
|
edba3fbea0 | ||
|
|
51e4bc7eae | ||
|
|
3e680235ee | ||
|
|
d2459de700 | ||
|
|
f9f265b409 | ||
|
|
c218f0362e | ||
|
|
fb68ed099e | ||
|
|
01133b3d9f | ||
|
|
52461b758b | ||
|
|
3bc5ceede4 | ||
|
|
a3c9c667b4 | ||
|
|
73f71050a0 | ||
|
|
94d901ec4c | ||
|
|
9e67f36615 | ||
|
|
bf6f166d8f | ||
|
|
1de5ab43d6 | ||
|
|
39dd75dbde | ||
|
|
b509f75c17 | ||
|
|
877649b80a | ||
|
|
b5846f2286 | ||
|
|
80dd98e7fb | ||
|
|
7c3a349bd6 | ||
|
|
84d3f7d30b | ||
|
|
c29c5015d5 | ||
|
|
1f776fb9bf | ||
|
|
f90eb94484 | ||
|
|
80f35cea71 | ||
|
|
a12978967a | ||
|
|
8cce811ce5 | ||
|
|
adb45cec98 | ||
|
|
c09ea26a3c | ||
|
|
d71bf494df | ||
|
|
e82a9c5228 | ||
|
|
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 |
26
.gitignore
vendored
@@ -1,10 +1,26 @@
|
||||
Release
|
||||
mRemoteV1/bin
|
||||
mRemoteV1/obj
|
||||
mRemoteV1/publish
|
||||
Release/
|
||||
mRemoteV1/bin/
|
||||
mRemoteV1/obj/
|
||||
mRemoteV1/publish/
|
||||
*.pfx
|
||||
*.suo
|
||||
*.vbproj.user
|
||||
Thumbs.db
|
||||
_ReSharper.*
|
||||
[Dd]ebug/
|
||||
_Re[Ss]harper.*
|
||||
*.resharper
|
||||
*.resharper.user
|
||||
*.suo
|
||||
*.cache
|
||||
*~
|
||||
*.swp
|
||||
*.user*
|
||||
*.pidb
|
||||
*.gpState
|
||||
_UpgradeReport_Files/
|
||||
Backup/
|
||||
UpgradeLog.XML
|
||||
*.orig
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.ipch
|
||||
|
||||
153
BUILD.CMD
@@ -1,32 +1,149 @@
|
||||
@echo off
|
||||
|
||||
SET VCVARSALL="%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
||||
SET DEVENV="devenv.exe"
|
||||
SET MAKENSIS="%ProgramFiles(x86)%\NSIS\makensis.exe"
|
||||
SET RAR="%ProgramFiles%\WinRAR\Rar.exe"
|
||||
SET BINARYZIP="%~dp0\Release\mRemoteNG-1.63.zip"
|
||||
SET PORTABLEZIP="%~dp0\Release\mRemoteNG-Portable-1.63.zip"
|
||||
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 "Astrospark Technologies, LLC" /sha1 "1cbd910dbd6e77f26506e7f600736972f700673f" /tr http://timestamp.comodoca.com/rfc3161
|
||||
|
||||
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"
|
||||
rmdir /s /q "%~dp0\mRemoteV1\obj"
|
||||
rmdir /s /q "%~dp0\mRemoteV1\bin" > nul 2>&1
|
||||
rmdir /s /q "%~dp0\mRemoteV1\obj" > nul 2>&1
|
||||
|
||||
if exist "%~dp0\mRemoteV1\bin" goto ERROR_RMDIR
|
||||
if exist "%~dp0\mRemoteV1\obj" goto ERROR_RMDIR
|
||||
goto NOERROR_RMDIR
|
||||
|
||||
:ERROR_RMDIR
|
||||
echo.
|
||||
echo Could not clean output directories.
|
||||
echo.
|
||||
echo Build process failed.
|
||||
echo.
|
||||
goto END
|
||||
|
||||
:NOERROR_RMDIR
|
||||
|
||||
echo Building release version...
|
||||
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release"
|
||||
|
||||
echo Building portable version...
|
||||
%DEVENV% "%~dp0\mRemoteV1.sln" /build "Release Portable"
|
||||
|
||||
mkdir "%~dp0\Release"
|
||||
echo Signing binaries...
|
||||
%SIGNCMD% ^
|
||||
"%~dp0\mRemoteV1\bin\Release\de\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\el\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\en-US\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\es\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\es-AR\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\fr\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\hu\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\it\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\nb-NO\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\nl\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\pl\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\pt\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\pt-BR\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\ru\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\uk\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\zh-CN\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\zh-TW\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\AxInterop.MSTSCLib.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\AxInterop.WFICALib.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\Interop.EOLWTSCOM.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\Interop.MSTSCLib.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\Interop.ShDocVw.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\Interop.WFICALib.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release\mRemoteNG.exe" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\de\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\el\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\en-US\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\es\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\es-AR\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\fr\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\hu\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\it\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\nb-NO\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\nl\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\pl\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\pt\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\pt-BR\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\ru\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\uk\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\zh-CN\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\zh-TW\mRemoteNG.resources.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\AxInterop.MSTSCLib.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\AxInterop.WFICALib.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\Interop.EOLWTSCOM.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\Interop.MSTSCLib.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\Interop.ShDocVw.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\Interop.WFICALib.dll" ^
|
||||
"%~dp0\mRemoteV1\bin\Release Portable\mRemoteNG.exe" ^
|
||||
|
||||
%MAKENSIS% "%~dp0\Installer\mRemote.nsi"
|
||||
|
||||
del /f /q %BINARYZIP%
|
||||
rem Do not remove the two blank lines above this line.
|
||||
|
||||
%RAR% a -m5 -r -ep1 %BINARYZIP% "%~dp0\mRemoteV1\bin\Release\*.*"
|
||||
%RAR% a -m5 -r -ep1 %BINARYZIP% "%~dp0\Installer\Dependencies\*.*"
|
||||
%RAR% a -m5 -ep %BINARYZIP% "%~dp0\*.TXT"
|
||||
mkdir "%~dp0\Release" > nul 2>&1
|
||||
|
||||
del /f /q %PORTABLEZIP%
|
||||
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%
|
||||
|
||||
%RAR% a -m5 -r -ep1 %PORTABLEZIP% "%~dp0\mRemoteV1\bin\Release Portable\*.*"
|
||||
%RAR% a -m5 -r -ep1 %PORTABLEZIP% "%~dp0\Installer\Dependencies\*.*"
|
||||
%RAR% a -m5 -ep %PORTABLEZIP% "%~dp0\*.TXT"
|
||||
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.
|
||||
|
||||
:END
|
||||
pause
|
||||
|
||||
@@ -1,4 +1,287 @@
|
||||
1.63:
|
||||
1.72 (2013-11-13):
|
||||
Fixed issue MR-592 - Unable to run VBS script as an external tool
|
||||
Fixed issue MR-596 - Incorrect escaping of quotation marks in external tool arguments
|
||||
|
||||
1.71 (2013-10-29):
|
||||
Fixed issue MR-574 - Crash when retrieving RDP session list if eolwtscom.dll is not registered
|
||||
Fixed issue MR-578 - Connections file is reset
|
||||
Fixed log file not showing operating system version on Windows XP and Windows Server 2003.
|
||||
Fixed the wrong connections file opening on startup under certain conditions.
|
||||
Fixed checking for updates even when disabled.
|
||||
Improved error reporting when loading connections files.
|
||||
Removed warning message when mRemoteNG is started for the first time about new connections file being created.
|
||||
|
||||
1.71 Release Candidate 2 (2013-10-16):
|
||||
Fixed issue MR-560 - Cannot Auto-Update With Open Connections: Unable to find an entry point named 'TaskDialogIndirect' in DLL 'ComCtl32'
|
||||
Fixed issue MR-565 - Double Folder keep heritage on the initial Folder
|
||||
Fixed issue MR-566 - Typo in German UI Automatic Update Settings
|
||||
Fixed duplicated folders possibly being named "New Connection" instead of the original folder's name.
|
||||
|
||||
1.71 Release Candidate 1 (2013-10-01):
|
||||
Fixed issue MR-495 - Having a negative range in port scan creates memory exhaustion.
|
||||
Fixed issue MR-514 - Window Proxy test failed without close button
|
||||
Fixed issue MR-521 - Right-Clicking in "Sessions" panel crashes mRemoteNG
|
||||
Fixed issue MR-525 - Could not start on windows 7 64bit
|
||||
Fixed issue MR-535 - SQL error saving Connections
|
||||
Fixed issue MR-538 - RDP loses connection when hiding config or connections pane
|
||||
Fixed issue MR-542 - Wrapped putty has security flaw
|
||||
Made minor improvements to the port scan functionality.
|
||||
Fixed possible cross-thread operation exception when loading connections from SQL.
|
||||
Fixed PuTTY Saved Sessions not showing after loading a new connections file.
|
||||
Updated PuTTY to version 0.63.
|
||||
Updated translations.
|
||||
Added Chinese (Traditional) translation.
|
||||
Added partial Greek and Hungarian translations.
|
||||
|
||||
1.71 Beta 5 (2013-06-09):
|
||||
Fixed issue MR-491 - Could not start RDP Connection
|
||||
Fixed issue MR-499 - TS Gateway is not working in latest release 1.71
|
||||
Fixed typo in SQL queries.
|
||||
|
||||
1.71 Beta 4 (2013-05-28):
|
||||
Added feature MR-435 - Add digital signature check to updater
|
||||
Fixed issue MR-255 - The version of the RDP AX client should be updated to 7
|
||||
Fixed issue MR-392 - Sessions Panel - context menu entries need to be context aware
|
||||
Fixed issue MR-422 - Gives error Object reference not set to an instance of an object.
|
||||
Fixed issue MR-424 - Import of a few Linux SSH2 hosts discovered via the port scan tool results in a UE
|
||||
Fixed issue MR-439 - MRemoteNG 1.70 does not start
|
||||
Fixed issue MR-440 - RDP import with non-standard port
|
||||
Fixed issue MR-443 - Instructions for eolwtscom.dll registration for Portable version are inaccurate
|
||||
Fixed issue MR-446 - Putty saved sessions show in connection panel
|
||||
Fixed issue MR-459 - Maximized -> Minimized -> Restored results in mangled active display
|
||||
Fixed issue MR-463 - Add support for LoadBalanceInfo to RDP
|
||||
Fixed issue MR-470 - Quick Connect to Linux server uses invalid credentials
|
||||
Fixed issue MR-471 - PuTTY Saved Sessions disappears from connection list
|
||||
Fixed issue MR-487 - Initiate connections on MouseUp event
|
||||
Added PuTTY Session Settings command to the Config panel for PuTTY Saved Sessions.
|
||||
Updated translations.
|
||||
Added Norwegian (Bokmal) and Portuguese (Brazil) translations.
|
||||
Added Spanish translation to the installer.
|
||||
Fixed an exception or crash when choosing unnamed colors for themes.
|
||||
Fixed possible error "Control does not support transparent background colors" when modifying themes.
|
||||
Fixed changes to the active theme not being saved reliably.
|
||||
Fixed handling of the plus (+) character in PuTTY session names.
|
||||
Changed Internet Explorer to no longer force IE7 compatibility mode.
|
||||
Changed the "Launch PuTTY" button in the "Options" dialog to open PuTTY from the path the user has currently set, instead of what was previously saved.
|
||||
Improved update and announcement checking.
|
||||
Improved the PuTTY Saved Sessions list to update automatically when any changes are made.
|
||||
Improved loading time of large connection files.
|
||||
Lowered required version of RDC from 6.1 to 6.0.
|
||||
Updated VncSharpNG to 1.3.4896.25007.
|
||||
|
||||
1.71 Beta 3 (2013-03-20):
|
||||
Fixed issue MR-397 - Putty disappears from the screen
|
||||
Fixed issue MR-398 - Full Screen mode doesn't correctly make use of available space
|
||||
Fixed issue MR-402 - scrollbar touch moves putty window
|
||||
Fixed issue MR-406 - Items disappear from External Tools toolbar when accessing External Tools panel
|
||||
Fixed issue MR-410 - Unhandled exception when clicking New button under Theme
|
||||
Fixed issue MR-413 - Can't use aplication
|
||||
Fixed new connections having a globe icon.
|
||||
Fixed the category names in the themes tab of the options dialog on Windows XP not showing correctly.
|
||||
Fixed PuTTY saved sessions with spaces or special characters not being listed.
|
||||
|
||||
1.71 Beta 2 (2013-03-19):
|
||||
Added feature MR-336 - Customizable background color for the windows/panels
|
||||
Added feature MR-345 - Two separate options for confirming closure of Tabs and Connection Panels
|
||||
Added feature MR-346 - Option to show/hide the description box at the bottom of the Config panel
|
||||
Added feature MR-351 - Import connections from PuTTY
|
||||
Fixed issue MR-354 - Re-ordering tabs doesn't give good, reliable visual feedback
|
||||
Fixed issue MR-375 - Changing a connection's icon using the picture button should immediately update Icon field
|
||||
Fixed issue MR-377 - Several redundant panels can be opened
|
||||
Fixed issue MR-379 - Connection variables not working with external tools
|
||||
Fixed issue MR-381 - Notifications panel - whitespace context menu allows Copy and Delete on nothing
|
||||
Fixed issue MR-401 - Checkbox misaligned
|
||||
The username and domain settings are now hidden for VNC connections since they are not supported.
|
||||
Changed "Automatically get session information" to be disabled by default.
|
||||
RDP connections can now be switched to full screen mode when redirect key combinations is enabled.
|
||||
|
||||
1.71 Beta 1 (2013-03-04):
|
||||
Added feature MR-329 - Create Option to disable the "Quick: " prefix
|
||||
Fixed issue MR-67 - Sort does not recursively sort
|
||||
Fixed issue MR-117 - Remote Session Info Window / Tab does not populate
|
||||
Fixed issue MR-121 - Config pane not sorting properties correctly when switching between alphabetical and categorized view
|
||||
Fixed issue MR-130 - Issues duplicating folders
|
||||
Fixed issue MR-142 - Start of mRemoteNG takes about one minute and consumes excessive CPU
|
||||
Fixed issue MR-158 - Password field not accepting Pipe
|
||||
Fixed issue MR-330 - Portable version saves log to user's profile folder
|
||||
Fixed issue MR-333 - Unnecessary prompt for 'close all open connections?'
|
||||
Fixed issue MR-342 - Incorrect view in config pane of new connection after viewing default inheritance
|
||||
Fixed issue MR-352 - Passwords with " (quotation mark) and # (hash key) characters make mRemoteNG to open PuttyNG dialog
|
||||
Fixed issue MR-362 - Rename 'Screenshot Manager' to 'Screenshots' on the View menu to match Panel name
|
||||
Added detection of newer versions of connection files and database schemata. mRemoteNG will now refuse to open them to avoid data loss.
|
||||
Improved appearance and discoverability of the connection search box.
|
||||
If RDC 7.0 or higher is installed, the connection bar is no longer briefly shown when connecting to an RDP connection with redirect key combinations enabled.
|
||||
If RDC 8.0 or higher is installed, RDP connections automatically adjust their size when the window is resized or when toggling full screen mode.
|
||||
|
||||
1.70 (2013-03-07):
|
||||
Fixed issue MR-339 - Connection group collapses with just one click
|
||||
Fixed issue MR-340 - Object reference not set to an instance of an object.
|
||||
Fixed issue MR-344 - Move "Always show panel tabs" option
|
||||
Fixed issue MR-350 - VerifyDatabaseVersion (Config.Connections.Save) failed. Version string portion was too short or too long.
|
||||
Fixed issue MR-355 - Moving sub folders to top level causes property loss
|
||||
Fixed tabs not closing on double-click when the active tab is a PuTTY connection.
|
||||
|
||||
1.70 Release Candidate 2 (2013-02-25):
|
||||
Fixed issue MR-332 - Can't select different tab with one click after disconnecting existing tab
|
||||
Fixed issue MR-338 - PuTTYNG crashing on fresh install of mRemoteNG
|
||||
Re-enabled PuTTYNG integration enhancements on Windows 8
|
||||
|
||||
1.70 Release Candidate 1 (2013-02-22):
|
||||
Fixed issue MR-183 - Error trying to save connections when using SQL - Invalid column name _parentConstantId
|
||||
Fixed issue MR-225 - Tabs do not open in a panel until multiple panels are displayed.
|
||||
Fixed issue MR-229 - Integrated PuTTY doesn't work in Windows 8 RP
|
||||
Fixed issue MR-264 - Windows 8 support
|
||||
Fixed issue MR-317 - Difficulty right-clicking on Tab
|
||||
Fixed issue MR-318 - Wrong tab gets selected when tab names overflow on the tab bar
|
||||
Fixed issue MR-321 - New connection panel doesn't get panel header if its the only one or is moved
|
||||
Fixed issue MR-322 - Connection Button not listing servers
|
||||
Added option to always show panel tabs.
|
||||
Fixed "Decryption failed. Padding is invalid and cannot be removed." notification.
|
||||
Fixed KiTTY opening in a separate window when using a saved session.
|
||||
|
||||
1.70 Beta 2 (2013-02-18):
|
||||
Fixed issue MR-47 - Silent Installation Prompts for Language
|
||||
Fixed issue MR-54 - Error When disconnecting from SSL channel RDP
|
||||
Fixed issue MR-58 - Bug when duplicating connection in connection view
|
||||
Fixed issue MR-68 - Config Window Loses Options
|
||||
Fixed issue MR-71 - Minimizing mRemoteNG causes temporary re-size of Putty sessions (windows)
|
||||
Fixed issue MR-80 - Reconnect previous sessions
|
||||
Fixed issue MR-81 - Problem Duplicating Folder w/ Sub-Folders
|
||||
Fixed issue MR-85 - Microsoft .NET Framework warning
|
||||
Fixed issue MR-86 - Citrix GDI+ Error when screen is locked
|
||||
Fixed 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
|
||||
Fixed issue MR-101 - Collapse all folders causes a NullReferenceException
|
||||
Fixed issue MR-165 - Can't close About window if it is the last tab
|
||||
Fixed issue MR-166 - Inheritance button is disabled on some connections
|
||||
Fixed issue MR-167 - Name and description of properties not show in inheritance list
|
||||
Fixed issue MR-171 - Inherit configuration not showing friendly names for each inherit component
|
||||
Fixed issue MR-172 - RDGatewayPassword is unencrypted in confCons.xml file
|
||||
Fixed issue MR-174 - Trailing Space on a Hostname/IP will cause the connection not to happen.
|
||||
Fixed issue MR-175 - Problem with focus when 2 or more PuTTY sessions opened
|
||||
Fixed issue MR-176 - Del key while editing connection name triggers 'Delete Connection'
|
||||
Fixed issue MR-178 - 3 different panels crashes all connections
|
||||
Fixed issue MR-181 - Sessions on startup
|
||||
Fixed issue MR-190 - Can't click on tab/session
|
||||
Fixed issue MR-196 - Cannot export list without usernames and passwords
|
||||
Fixed issue MR-199 - when using screen inside putty, screen becomes dead when reduce mremoteNG
|
||||
Fixed issue MR-202 - The Connection "Tab" show Ampersands as underscores.
|
||||
Fixed issue MR-214 - Hostname/IP reset
|
||||
Fixed issue MR-224 - Session tabs become un-clickable after duplicating a tab or opening a new one in the same panel
|
||||
Fixed issue MR-233 - Backslash at end of password prevents success of putty invocation and corresponding auto-logon
|
||||
Fixed issue MR-235 - Config file gets corrupted when leaving the password entry box with ESC
|
||||
Fixed issue MR-264 - Windows 8 support
|
||||
Fixed issue MR-277 - Inheritance configuration button not appear in configuration tab
|
||||
Fixed issue MR-284 - SSH: Text not showing properly
|
||||
Fixed issue MR-299 - mRemoteNG crashes while using remotely (Windows XP remote desktop)
|
||||
Fixed issue MR-306 - Fatal .NET exception on program start
|
||||
Fixed 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):
|
||||
Fixed issue MR-77 - VerifyDatabaseVersion (Config.Connections.Save) failed. Version string portion was too short or too long.
|
||||
Fixed issue MR-78 - Renaming Connections
|
||||
Fixed issue MR-79 - MoveUp/Down item doesn't work + Sort button broken
|
||||
Fixed issue MR-93 - Regional settings problem when using SQL connection in mRemoteNG
|
||||
Fixed issue MR-97 - Integrate Dutch translation
|
||||
Fixed issue MR-98 - Integrate Russian and Ukranian translations
|
||||
Fixed issue MR-99 - Integrate Spanish translation
|
||||
Fixed 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
|
||||
@@ -13,7 +296,7 @@
|
||||
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:
|
||||
1.62 (2010-01-19):
|
||||
Switched to VncSharp, an open source VNC component
|
||||
VNC is supported again except for the following features:
|
||||
Windows authentication
|
||||
@@ -29,11 +312,11 @@
|
||||
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:
|
||||
1.61 (2010-01-14):
|
||||
Removed unlicensed SmartCode Solutions ViewerX VNC Viewer ActiveX
|
||||
This version of mRemoteNG does not support VNC
|
||||
|
||||
1.60:
|
||||
1.60 (2010-01-09):
|
||||
Changed name to mRemoteNG
|
||||
Fixed menu bar not staying docked to left side
|
||||
Removed snakes game Easter egg
|
||||
@@ -502,7 +785,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
|
||||
@@ -512,7 +795,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
|
||||
|
||||
25
CREDITS.TXT
@@ -1,11 +1,27 @@
|
||||
Contributors
|
||||
============
|
||||
|
||||
Jason Barbier
|
||||
Wiktor Beryt
|
||||
Lionel Caignec
|
||||
Felix Deimel
|
||||
Holger Henke
|
||||
Tom Hiller
|
||||
Riley McArdle
|
||||
Apisitt Rattana
|
||||
Andreas Rehm
|
||||
David Vidmar
|
||||
|
||||
|
||||
Translators
|
||||
===========
|
||||
|
||||
Eugenio "Ryo567" Mart<72>nez
|
||||
Mathieu Pape
|
||||
Emanuel Silva
|
||||
Robert Siwiec
|
||||
|
||||
|
||||
Included Source Code
|
||||
====================
|
||||
|
||||
@@ -14,6 +30,11 @@ Copyright
|
||||
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
|
||||
===================
|
||||
@@ -74,8 +95,8 @@ MiniTabControl 1.0
|
||||
Copyright <20> 2008 Felix Deimel
|
||||
http://www.appjuice.org/
|
||||
|
||||
PuTTY 0.60
|
||||
Copyright <20> 1997-2007 Simon Tatham
|
||||
PuTTY 0.62
|
||||
Copyright <20> 1997-2011 Simon Tatham
|
||||
MIT License
|
||||
http://www.chiark.greenend.org.uk/~sgtatham/putty/
|
||||
|
||||
|
||||
BIN
Installer/Dependencies/PuTTYNG.exe
Normal file
BIN
Installer/Dependencies/PuTTYNG.pdb
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} "Iniciando de mRemoteNG"
|
||||
|
||||
; Installer Language
|
||||
LangString InstallerLanguage ${LANG_SPANISH} "Lenguaje de Instalación"
|
||||
|
||||
; Select installer Language
|
||||
LangString SelectInstallerLanguage ${LANG_SPANISH} "Seleccione el lenguaje de instalación"
|
||||
|
||||
; Requires .NET Framework
|
||||
LangString RequiresNetFramework ${LANG_SPANISH} "mRemoteNG requiere Microsoft .NET Framework 3.0."
|
||||
|
||||
; User needs to be Admin
|
||||
LangString RequiresAdminUser ${LANG_SPANISH} "Debe ser miembro del grupo 'Administradores' para poder instalar mRemoteNG."
|
||||
|
||||
; Start Menu items
|
||||
LangString CreditsLinkName ${LANG_SPANISH} "Créditos"
|
||||
LangString CopyingLinkName ${LANG_SPANISH} "Licencia"
|
||||
LangString UninstallLinkName ${LANG_SPANISH} "Desinstalar"
|
||||
LangString ChangeLogLinkName ${LANG_SPANISH} "Historial de Versiones"
|
||||
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 |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
@@ -2,33 +2,38 @@
|
||||
!include "WordFunc.nsh"
|
||||
!insertmacro VersionCompare
|
||||
|
||||
!DEFINE PRODUCT_VERSION_MAJOR 1
|
||||
!DEFINE PRODUCT_VERSION_MINOR 63
|
||||
!include "DotNetVer.nsh"
|
||||
!include "..\Release\Version.nsh"
|
||||
|
||||
!DEFINE PRODUCT_VERSION "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}"
|
||||
!DEFINE PRODUCT_VERSION_LONG "${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}.0.0"
|
||||
|
||||
; Global Variables
|
||||
Var InstallDotNET
|
||||
; 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}"
|
||||
OutFile "..\Release\mRemoteNG-Installer-${PRODUCT_VERSION}.exe"
|
||||
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_LONG}
|
||||
!DEFINE LANG_ENGLISH "1033-English"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "mRemoteNG"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" ${PRODUCT_VERSION_LONG}
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright <EFBFBD> 2007-2010 Felix Deimel, Riley McArdle"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "mRemoteNG ${PRODUCT_VERSION} Installer"
|
||||
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" ${PRODUCT_VERSION_LONG}
|
||||
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
|
||||
@@ -48,7 +53,6 @@ VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" ${PRODUCT_VERSION_LONG}
|
||||
|
||||
; Finish Page
|
||||
!define MUI_FINISHPAGE_RUN_NOTCHECKED
|
||||
!define MUI_FINISHPAGE_RUN_Text "Launch mRemoteNG Now"
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\mRemoteNG.exe"
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
@@ -56,35 +60,87 @@ VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" ${PRODUCT_VERSION_LONG}
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
; Set Language
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
; Get Languages
|
||||
!include "Language\languages.nsi"
|
||||
|
||||
; Set finish page text
|
||||
!define MUI_FINISHPAGE_RUN_Text "$(LaunchMremoteNow)"
|
||||
|
||||
Function .onInit
|
||||
; Check .NET version
|
||||
StrCpy $InstallDotNET "No"
|
||||
Call GetDotNETVersion
|
||||
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
|
||||
|
||||
${If} $0 == "not found"
|
||||
StrCpy $InstallDotNET "Yes"
|
||||
${EndIf}
|
||||
Win9x:
|
||||
doit:
|
||||
# We can install
|
||||
IfSilent +2
|
||||
Call SelectLanguage
|
||||
Goto end
|
||||
noop:
|
||||
MessageBox MB_OK "$(RequiresAdminUser)"
|
||||
Quit
|
||||
end:
|
||||
FunctionEnd
|
||||
|
||||
StrCpy $0 $0 "" 1 # skip "v"
|
||||
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)"
|
||||
|
||||
${VersionCompare} $0 "2.0" $1
|
||||
${If} $1 == 2
|
||||
StrCpy $InstallDotNET "Yes"
|
||||
${EndIf}
|
||||
Pop $LANGUAGE
|
||||
StrCmp $LANGUAGE "cancel" 0 +2
|
||||
Abort
|
||||
|
||||
${If} $InstallDotNET == "Yes"
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "mRemoteNG requires Microsoft .NET Framework 2.0."
|
||||
; 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\*.*"
|
||||
@@ -98,15 +154,18 @@ Section "" ; Install
|
||||
|
||||
; 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\Uninstall.lnk" "$INSTDIR\Uninstall.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" "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" 6464
|
||||
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}
|
||||
@@ -125,9 +184,10 @@ Section "un.Uninstall"
|
||||
RMDIR /r $INSTDIR
|
||||
|
||||
; Start Menu
|
||||
Delete "$SMPROGRAMS\mRemoteNG\mRemoteNG.lnk"
|
||||
Delete "$SMPROGRAMS\mRemoteNG\Uninstall.lnk"
|
||||
RMDir "$SMPROGRAMS\mRemoteNG"
|
||||
SetShellVarContext all
|
||||
RMDir /r "$SMPROGRAMS\mRemoteNG"
|
||||
SetShellVarContext current
|
||||
RMDir /r "$SMPROGRAMS\mRemoteNG"
|
||||
|
||||
; Registry
|
||||
DeleteRegValue HKLM "Software\mRemoteNG" "InstallPath"
|
||||
@@ -135,15 +195,3 @@ Section "un.Uninstall"
|
||||
DeleteRegKey /ifempty HKCU "Software\mRemoteNG"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\mRemoteNG"
|
||||
SectionEnd
|
||||
|
||||
Function GetDotNETVersion
|
||||
Push $0
|
||||
Push $1
|
||||
|
||||
System::Call "mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1"
|
||||
StrCmp $1 "error" 0 +2
|
||||
StrCpy $0 "not found"
|
||||
|
||||
Pop $1
|
||||
Exch $0
|
||||
FunctionEnd
|
||||
|
||||
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
26
Sort Language Files.cmd
Normal file
@@ -0,0 +1,26 @@
|
||||
@echo off
|
||||
|
||||
set TEMP_FOLDER="%TEMP%\Translations.tmp"
|
||||
set SORTRESX="%~dp0\Tools\SortRESX.exe"
|
||||
|
||||
echo.
|
||||
echo This script sorts the language files
|
||||
echo.
|
||||
|
||||
choice /m "Would you like to continue?"
|
||||
|
||||
echo.
|
||||
|
||||
rmdir /s /q %TEMP_FOLDER%
|
||||
mkdir %TEMP_FOLDER%
|
||||
copy "%~dp0\mRemoteV1\Language\*.resx" %TEMP_FOLDER%
|
||||
|
||||
pushd %TEMP_FOLDER%
|
||||
for %%f in (*) do %SORTRESX% %TEMP_FOLDER%\%%f "%~dp0\mRemoteV1\Language\%%f"
|
||||
popd
|
||||
|
||||
rmdir /s /q %TEMP_FOLDER%
|
||||
|
||||
echo Done.
|
||||
echo.
|
||||
pause
|
||||
BIN
Tools/SortRESX.exe
Normal file
55
Update Languages.cmd
Normal file
@@ -0,0 +1,55 @@
|
||||
@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%\bg\Language.bg.resx "%~dp0\mRemoteV1\Language\Language.bg.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\de\Language.de.resx "%~dp0\mRemoteV1\Language\Language.de.resx"
|
||||
%SORTRESX% %TEMP_FOLDER%\el\Language.el.resx "%~dp0\mRemoteV1\Language\Language.el.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%\he\Language.he.resx "%~dp0\mRemoteV1\Language\Language.he.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%\nb\Language.nb.resx "%~dp0\mRemoteV1\Language\Language.nb-NO.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"
|
||||
%SORTRESX% %TEMP_FOLDER%\zh-TW\Language.zh.resx "%~dp0\mRemoteV1\Language\Language.zh-TW.resx"
|
||||
|
||||
rmdir /s /q %TEMP_FOLDER%
|
||||
|
||||
echo Done.
|
||||
echo.
|
||||
pause
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
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
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports mRemote.App.Runtime
|
||||
|
||||
Namespace App
|
||||
Public Class Announcement
|
||||
#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 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
|
||||
mC.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
|
||||
|
||||
_curAI = aI
|
||||
Return aI
|
||||
Catch ex As Exception
|
||||
mC.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 = wCl.DownloadString(App.Info.General.URLAnnouncement)
|
||||
Catch ex As Exception
|
||||
strTemp = ""
|
||||
End Try
|
||||
|
||||
Return strTemp
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "GetAnnouncementFile 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
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.Environment
|
||||
Imports System.Threading
|
||||
|
||||
Namespace App
|
||||
Namespace Info
|
||||
@@ -7,36 +8,63 @@ Namespace App
|
||||
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 ReadOnly PuttyPath As String = My.Application.Info.DirectoryPath & "\PuTTYNG.exe"
|
||||
Public Shared ReadOnly Property UserAgent As String
|
||||
Get
|
||||
Dim details As New List(Of String)
|
||||
details.Add("compatible")
|
||||
If OSVersion.Platform = PlatformID.Win32NT Then
|
||||
details.Add(String.Format("Windows NT {0}.{1}", OSVersion.Version.Major, OSVersion.Version.Minor))
|
||||
Else
|
||||
details.Add(OSVersion.VersionString)
|
||||
End If
|
||||
If Tools.EnvironmentInfo.IsWow64 Then details.Add("WOW64")
|
||||
details.Add(Thread.CurrentThread.CurrentUICulture.Name)
|
||||
details.Add(String.Format(".NET CLR {0}", Version.ToString()))
|
||||
Dim detailsString As String = String.Join("; ", details.ToArray())
|
||||
|
||||
Return String.Format("Mozilla/4.0 ({0}) {1}/{2}", detailsString, Application.ProductName, Application.ProductVersion)
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
|
||||
Public Class Settings
|
||||
#If Not PORTABLE Then
|
||||
Public Shared ReadOnly SettingsPath As String = GetFolderPath(SpecialFolder.LocalApplicationData) & "\" & My.Application.Info.ProductName
|
||||
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"
|
||||
Public Const ThemesFileName As String = "Themes.xml"
|
||||
End Class
|
||||
|
||||
Public Class Update
|
||||
Public Shared ReadOnly URL As String = "http://update.mremoteng.org/"
|
||||
Public Shared ReadOnly Property FileName As String
|
||||
Get
|
||||
#If DEBUG Then
|
||||
Public Shared ReadOnly File As String = "update-debug.txt"
|
||||
#Else
|
||||
Public Shared ReadOnly File As String = "update.txt"
|
||||
Return "update-debug.txt"
|
||||
#End If
|
||||
Select Case My.Settings.UpdateChannel.ToLowerInvariant()
|
||||
Case "beta"
|
||||
Return "update-beta.txt"
|
||||
Case "debug"
|
||||
Return "update-debug.txt"
|
||||
Case Else
|
||||
Return "update.txt"
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
|
||||
Public Class Connections
|
||||
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.2
|
||||
Public Shared ReadOnly ConnectionFileVersion As Double = 2.5
|
||||
End Class
|
||||
|
||||
Public Class Credentials
|
||||
|
||||
@@ -2,135 +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 Long) 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,269 +1,431 @@
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports mRemote.App.Runtime
|
||||
Imports System.ComponentModel
|
||||
Imports System.Threading
|
||||
Imports mRemoteNG.Tools
|
||||
Imports System.Reflection
|
||||
|
||||
Namespace App
|
||||
Public Class Update
|
||||
Public Event DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs)
|
||||
Public Event DownloadCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs, ByVal Success As Boolean)
|
||||
#Region "Events"
|
||||
Public Event GetUpdateInfoCompletedEvent As AsyncCompletedEventHandler
|
||||
Public Event GetChangeLogCompletedEvent As AsyncCompletedEventHandler
|
||||
Public Event GetAnnouncementInfoCompletedEvent As AsyncCompletedEventHandler
|
||||
Public Event DownloadUpdateProgressChangedEvent As DownloadProgressChangedEventHandler
|
||||
Public Event DownloadUpdateCompletedEvent As AsyncCompletedEventHandler
|
||||
#End Region
|
||||
|
||||
#Region "Public Properties"
|
||||
Private _curUI As Info
|
||||
Public ReadOnly Property curUI() As Info
|
||||
Private _currentUpdateInfo As UpdateInfo
|
||||
Public ReadOnly Property CurrentUpdateInfo() As UpdateInfo
|
||||
Get
|
||||
Return _curUI
|
||||
Return _currentUpdateInfo
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _changeLog As String
|
||||
Public ReadOnly Property ChangeLog() As String
|
||||
Get
|
||||
Return _changeLog
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private _currentAnnouncementInfo As AnnouncementInfo
|
||||
Public ReadOnly Property CurrentAnnouncementInfo() As AnnouncementInfo
|
||||
Get
|
||||
Return _currentAnnouncementInfo
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IsGetUpdateInfoRunning() As Boolean
|
||||
Get
|
||||
If _getUpdateInfoThread IsNot Nothing Then
|
||||
If _getUpdateInfoThread.IsAlive Then Return True
|
||||
End If
|
||||
Return False
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IsGetChangeLogRunning() As Boolean
|
||||
Get
|
||||
If _getChangeLogThread IsNot Nothing Then
|
||||
If _getChangeLogThread.IsAlive Then Return True
|
||||
End If
|
||||
Return False
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IsGetAnnouncementInfoRunning() As Boolean
|
||||
Get
|
||||
If _getAnnouncementInfoThread IsNot Nothing Then
|
||||
If _getAnnouncementInfoThread.IsAlive Then Return True
|
||||
End If
|
||||
Return False
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IsDownloadUpdateRunning() As Boolean
|
||||
Get
|
||||
Return (_downloadUpdateWebClient IsNot Nothing)
|
||||
End Get
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Private Properties"
|
||||
Private wCl As WebClient
|
||||
Private wPr As WebProxy
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Function IsProxyOK() As Boolean
|
||||
Try
|
||||
Dim uI As Info = GetUpdateInfo()
|
||||
Public Sub New()
|
||||
SetProxySettings()
|
||||
End Sub
|
||||
|
||||
Return uI.InfoOk
|
||||
Public Sub SetProxySettings()
|
||||
SetProxySettings(My.Settings.UpdateUseProxy, My.Settings.UpdateProxyAddress, My.Settings.UpdateProxyPort, My.Settings.UpdateProxyUseAuthentication, My.Settings.UpdateProxyAuthUser, Security.Crypt.Decrypt(My.Settings.UpdateProxyAuthPass, Info.General.EncryptionKey))
|
||||
End Sub
|
||||
|
||||
uI = Nothing
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsProxyOK (App.Update) failed" & vbNewLine & ex.Message, False)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function IsUpdateAvailable() As Boolean
|
||||
Try
|
||||
Dim uI As Info = GetUpdateInfo()
|
||||
|
||||
If uI.InfoOk = False Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
If uI.Version > My.Application.Info.Version Then
|
||||
Return True
|
||||
Public Sub SetProxySettings(ByVal useProxy As Boolean, ByVal address As String, ByVal port As Integer, ByVal useAuthentication As Boolean, ByVal username As String, ByVal password As String)
|
||||
If useProxy And Not String.IsNullOrEmpty(address) Then
|
||||
If Not port = 0 Then
|
||||
_webProxy = New WebProxy(address, port)
|
||||
Else
|
||||
Return False
|
||||
_webProxy = New WebProxy(address)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "IsUpdateAvailable failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function GetUpdateInfo() As Info
|
||||
Try
|
||||
Dim strUpdate As String = GetUpdateFile()
|
||||
|
||||
CreateWebClient()
|
||||
|
||||
Dim uI As New Info()
|
||||
|
||||
If strUpdate <> "" Then
|
||||
uI.InfoOk = True
|
||||
|
||||
Try
|
||||
'get Version
|
||||
Dim strV As String = strUpdate.Substring(strUpdate.IndexOf("Version: ") + 9, strUpdate.IndexOf(vbNewLine) - 9)
|
||||
uI.Version = New Version(strV)
|
||||
|
||||
strUpdate = strUpdate.Remove(0, strUpdate.IndexOf(vbNewLine) + 2)
|
||||
|
||||
'get Download URL
|
||||
Dim strU As String = ""
|
||||
|
||||
strU = strUpdate.Substring(strUpdate.IndexOf("dURL: ") + 6, strUpdate.IndexOf(vbNewLine) - 6)
|
||||
|
||||
uI.DownloadUrl = strU
|
||||
|
||||
strUpdate = strUpdate.Remove(0, strUpdate.IndexOf(vbNewLine) + 2)
|
||||
|
||||
'get Change Log
|
||||
Dim strClURL As String = strUpdate.Substring(strUpdate.IndexOf("clURL: ") + 7, strUpdate.IndexOf(vbNewLine) - 7)
|
||||
Dim strCl As String = wCl.DownloadString(strClURL)
|
||||
uI.ChangeLog = strCl
|
||||
|
||||
strUpdate = strUpdate.Remove(0, strUpdate.IndexOf(vbNewLine) + 2)
|
||||
|
||||
Try
|
||||
'get Image
|
||||
Dim strImgURL As String = strUpdate.Substring(strUpdate.IndexOf("imgURL: ") + 8, strUpdate.IndexOf(vbNewLine) - 8)
|
||||
uI.ImageURL = strImgURL
|
||||
|
||||
strUpdate = strUpdate.Remove(0, strUpdate.IndexOf(vbNewLine) + 2)
|
||||
|
||||
'get Image Link
|
||||
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)
|
||||
End Try
|
||||
Catch ex As Exception
|
||||
uI.InfoOk = False
|
||||
End Try
|
||||
If useAuthentication Then
|
||||
_webProxy.Credentials = New NetworkCredential(username, password)
|
||||
Else
|
||||
uI.InfoOk = False
|
||||
_webProxy.Credentials = Nothing
|
||||
End If
|
||||
|
||||
_curUI = uI
|
||||
Return uI
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Getting update info failed" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function DownloadUpdate(ByVal dURL As String) As Boolean
|
||||
Try
|
||||
CreateWebClient()
|
||||
|
||||
AddHandler wCl.DownloadProgressChanged, AddressOf DLProgressChanged
|
||||
AddHandler wCl.DownloadFileCompleted, AddressOf DLCompleted
|
||||
|
||||
_curUI.UpdateLocation = My.Computer.FileSystem.SpecialDirectories.Temp & "\mRemote_Update.exe"
|
||||
wCl.DownloadFileAsync(New Uri(dURL), _curUI.UpdateLocation)
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "Update download failed" & vbNewLine & ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "Private Methods"
|
||||
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
|
||||
Else
|
||||
_webProxy = Nothing
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function GetUpdateFile() As String
|
||||
Try
|
||||
CreateWebClient()
|
||||
Public Function IsUpdateAvailable() As Boolean
|
||||
If _currentUpdateInfo Is Nothing OrElse Not _currentUpdateInfo.IsValid Then Return False
|
||||
|
||||
Dim strTemp As String
|
||||
|
||||
Try
|
||||
strTemp = wCl.DownloadString(App.Info.Update.URL & App.Info.Update.File)
|
||||
Catch ex As Exception
|
||||
strTemp = ""
|
||||
End Try
|
||||
|
||||
Return strTemp
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "GetUpdateFile failed" & vbNewLine & ex.Message, True)
|
||||
Return ""
|
||||
End Try
|
||||
Return _currentUpdateInfo.Version > My.Application.Info.Version
|
||||
End Function
|
||||
|
||||
Private Sub DLProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs)
|
||||
RaiseEvent DownloadProgressChanged(sender, e)
|
||||
Public Function IsAnnouncementAvailable() As Boolean
|
||||
If _currentAnnouncementInfo Is Nothing OrElse _
|
||||
(Not _currentAnnouncementInfo.IsValid Or _
|
||||
String.IsNullOrEmpty(_currentAnnouncementInfo.Name)) Then Return False
|
||||
|
||||
Return (Not _currentAnnouncementInfo.Name = My.Settings.LastAnnouncement)
|
||||
End Function
|
||||
|
||||
Public Sub GetUpdateInfoAsync()
|
||||
If IsGetUpdateInfoRunning Then _getUpdateInfoThread.Abort()
|
||||
|
||||
_getUpdateInfoThread = New Thread(AddressOf GetUpdateInfo)
|
||||
With _getUpdateInfoThread
|
||||
.SetApartmentState(ApartmentState.STA)
|
||||
.IsBackground = True
|
||||
.Start()
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Private Sub DLCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
|
||||
Try
|
||||
Dim fInfo As New FileInfo(_curUI.UpdateLocation)
|
||||
Public Sub GetChangeLogAsync()
|
||||
If _currentUpdateInfo Is Nothing OrElse Not _currentUpdateInfo.IsValid Then
|
||||
Throw New InvalidOperationException("CurrentUpdateInfo is not valid. GetUpdateInfoAsync() must be called before calling GetChangeLogAsync().")
|
||||
End If
|
||||
|
||||
If fInfo.Length > 0 Then
|
||||
RaiseEvent DownloadCompleted(sender, e, True)
|
||||
Else
|
||||
fInfo.Delete()
|
||||
RaiseEvent DownloadCompleted(sender, e, False)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.WarningMsg, "DLCompleted failed" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
If IsGetChangeLogRunning Then _getChangeLogThread.Abort()
|
||||
|
||||
_getChangeLogThread = New Thread(AddressOf GetChangeLog)
|
||||
With _getChangeLogThread
|
||||
.SetApartmentState(ApartmentState.STA)
|
||||
.IsBackground = True
|
||||
.Start()
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Public Sub GetAnnouncementInfoAsync()
|
||||
If IsGetAnnouncementInfoRunning Then _getAnnouncementInfoThread.Abort()
|
||||
|
||||
_getAnnouncementInfoThread = New Thread(AddressOf GetAnnouncementInfo)
|
||||
With _getAnnouncementInfoThread
|
||||
.SetApartmentState(ApartmentState.STA)
|
||||
.IsBackground = True
|
||||
.Start()
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Public Sub DownloadUpdateAsync()
|
||||
If _downloadUpdateWebClient IsNot Nothing Then
|
||||
Throw New InvalidOperationException("A previous call to DownloadUpdateAsync() is still in progress.")
|
||||
End If
|
||||
|
||||
If _currentUpdateInfo Is Nothing OrElse Not _currentUpdateInfo.IsValid Then
|
||||
Throw New InvalidOperationException("CurrentUpdateInfo is not valid. GetUpdateInfoAsync() must be called before calling DownloadUpdateAsync().")
|
||||
End If
|
||||
|
||||
_currentUpdateInfo.UpdateFilePath = Path.Combine(Path.GetTempPath(), Path.ChangeExtension(Path.GetRandomFileName, "exe"))
|
||||
DownloadUpdateWebClient.DownloadFileAsync(CurrentUpdateInfo.DownloadAddress, _currentUpdateInfo.UpdateFilePath)
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Private Properties"
|
||||
Private _downloadUpdateWebClient As WebClient
|
||||
Private ReadOnly Property DownloadUpdateWebClient() As WebClient
|
||||
Get
|
||||
If _downloadUpdateWebClient IsNot Nothing Then Return _downloadUpdateWebClient
|
||||
|
||||
_downloadUpdateWebClient = CreateWebClient()
|
||||
|
||||
AddHandler _downloadUpdateWebClient.DownloadProgressChanged, AddressOf DownloadUpdateProgressChanged
|
||||
AddHandler _downloadUpdateWebClient.DownloadFileCompleted, AddressOf DownloadUpdateCompleted
|
||||
|
||||
Public Class Info
|
||||
Private _Version As Version
|
||||
Public Property Version() As Version
|
||||
Get
|
||||
Return _Version
|
||||
End Get
|
||||
Set(ByVal value As Version)
|
||||
_Version = value
|
||||
End Set
|
||||
End Property
|
||||
Return _downloadUpdateWebClient
|
||||
End Get
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
Private _DownloadUrl As String
|
||||
Public Property DownloadUrl() As String
|
||||
Get
|
||||
Return _DownloadUrl
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_DownloadUrl = value
|
||||
End Set
|
||||
End Property
|
||||
#Region "Private Fields"
|
||||
Private _webProxy As WebProxy
|
||||
Private _getUpdateInfoThread As Thread
|
||||
Private _getChangeLogThread As Thread
|
||||
Private _getAnnouncementInfoThread As Thread
|
||||
#End Region
|
||||
|
||||
Private _UpdateLocation As String
|
||||
Public Property UpdateLocation() As String
|
||||
Get
|
||||
Return _UpdateLocation
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_UpdateLocation = value
|
||||
End Set
|
||||
End Property
|
||||
#Region "Private Methods"
|
||||
Private Function CreateWebClient() As WebClient
|
||||
Dim webClient As New WebClient
|
||||
webClient.Headers.Add("user-agent", Info.General.UserAgent)
|
||||
webClient.Proxy = _webProxy
|
||||
Return webClient
|
||||
End Function
|
||||
|
||||
Private _ChangeLog As String
|
||||
Public Property ChangeLog() As String
|
||||
Get
|
||||
Return _ChangeLog
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_ChangeLog = value
|
||||
End Set
|
||||
End Property
|
||||
Private Shared Function NewDownloadStringCompletedEventArgs(ByVal result As String, ByVal exception As Exception, ByVal cancelled As Boolean, ByVal userToken As Object) As DownloadStringCompletedEventArgs
|
||||
Dim type As Type = GetType(DownloadStringCompletedEventArgs)
|
||||
Const bindingFlags As BindingFlags = bindingFlags.NonPublic Or bindingFlags.Instance
|
||||
Dim argumentTypes() As Type = {GetType(String), GetType(Exception), GetType(Boolean), GetType(Object)}
|
||||
Dim constructor As ConstructorInfo = type.GetConstructor(bindingFlags, Nothing, argumentTypes, Nothing)
|
||||
Dim arguments() As Object = {result, exception, cancelled, userToken}
|
||||
|
||||
Private _ImageURL As String
|
||||
Public Property ImageURL() As String
|
||||
Get
|
||||
Return _ImageURL
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_ImageURL = value
|
||||
End Set
|
||||
End Property
|
||||
Return constructor.Invoke(arguments)
|
||||
End Function
|
||||
|
||||
Private _ImageURLLink As String
|
||||
Public Property ImageURLLink() As String
|
||||
Get
|
||||
Return _ImageURLLink
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
_ImageURLLink = value
|
||||
End Set
|
||||
End Property
|
||||
Private Function DownloadString(ByVal address As Uri) As DownloadStringCompletedEventArgs
|
||||
Dim webClient As WebClient = CreateWebClient()
|
||||
Dim result As String = String.Empty
|
||||
Dim exception As Exception = Nothing
|
||||
Dim cancelled As Boolean = False
|
||||
|
||||
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
|
||||
Try
|
||||
result = webClient.DownloadString(address)
|
||||
Catch ex As ThreadAbortException
|
||||
cancelled = True
|
||||
Catch ex As Exception
|
||||
exception = ex
|
||||
End Try
|
||||
|
||||
Return NewDownloadStringCompletedEventArgs(result, exception, cancelled, Nothing)
|
||||
End Function
|
||||
|
||||
Private Sub GetUpdateInfo()
|
||||
Dim updateFileUri As New Uri(New Uri(My.Settings.UpdateAddress), New Uri(Info.Update.FileName, UriKind.Relative))
|
||||
Dim e As DownloadStringCompletedEventArgs = DownloadString(updateFileUri)
|
||||
|
||||
If Not e.Cancelled And e.Error Is Nothing Then
|
||||
_currentUpdateInfo = UpdateInfo.FromString(e.Result)
|
||||
|
||||
My.Settings.CheckForUpdatesLastCheck = Date.UtcNow
|
||||
If Not My.Settings.UpdatePending Then
|
||||
My.Settings.UpdatePending = IsUpdateAvailable()
|
||||
End If
|
||||
End If
|
||||
|
||||
RaiseEvent GetUpdateInfoCompletedEvent(Me, e)
|
||||
End Sub
|
||||
|
||||
Private Sub GetChangeLog()
|
||||
Dim e As DownloadStringCompletedEventArgs = DownloadString(_currentUpdateInfo.ChangeLogAddress)
|
||||
|
||||
If Not e.Cancelled And e.Error Is Nothing Then _changeLog = e.Result
|
||||
|
||||
RaiseEvent GetChangeLogCompletedEvent(Me, e)
|
||||
End Sub
|
||||
|
||||
Private Sub GetAnnouncementInfo()
|
||||
Dim announcementFileUri As New Uri(My.Settings.AnnouncementAddress)
|
||||
Dim e As DownloadStringCompletedEventArgs = DownloadString(announcementFileUri)
|
||||
|
||||
If Not e.Cancelled And e.Error Is Nothing Then
|
||||
_currentAnnouncementInfo = AnnouncementInfo.FromString(e.Result)
|
||||
|
||||
If Not String.IsNullOrEmpty(_currentAnnouncementInfo.Name) Then
|
||||
My.Settings.LastAnnouncement = _currentAnnouncementInfo.Name
|
||||
End If
|
||||
End If
|
||||
|
||||
RaiseEvent GetAnnouncementInfoCompletedEvent(Me, e)
|
||||
End Sub
|
||||
|
||||
Private Sub DownloadUpdateProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
|
||||
RaiseEvent DownloadUpdateProgressChangedEvent(sender, e)
|
||||
End Sub
|
||||
|
||||
Private Sub DownloadUpdateCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
|
||||
Dim raiseEventArgs As AsyncCompletedEventArgs = e
|
||||
|
||||
If Not e.Cancelled And e.Error Is Nothing Then
|
||||
Try
|
||||
Dim updateAuthenticode As New Authenticode(_currentUpdateInfo.UpdateFilePath)
|
||||
With updateAuthenticode
|
||||
.RequireThumbprintMatch = True
|
||||
.ThumbprintToMatch = _currentUpdateInfo.CertificateThumbprint
|
||||
|
||||
If Not .Verify() = Authenticode.StatusValue.Verified Then
|
||||
If .Status = Authenticode.StatusValue.UnhandledException Then
|
||||
Throw .Exception
|
||||
Else
|
||||
Throw New Exception(.StatusMessage)
|
||||
End If
|
||||
End If
|
||||
End With
|
||||
Catch ex As Exception
|
||||
raiseEventArgs = New AsyncCompletedEventArgs(ex, False, Nothing)
|
||||
End Try
|
||||
End If
|
||||
|
||||
If raiseEventArgs.Cancelled Or raiseEventArgs.Error IsNot Nothing Then
|
||||
File.Delete(_currentUpdateInfo.UpdateFilePath)
|
||||
End If
|
||||
|
||||
RaiseEvent DownloadUpdateCompletedEvent(Me, raiseEventArgs)
|
||||
|
||||
_downloadUpdateWebClient.Dispose()
|
||||
_downloadUpdateWebClient = Nothing
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Public Classes"
|
||||
Public Class UpdateInfo
|
||||
#Region "Public Properties"
|
||||
Public Property IsValid As Boolean
|
||||
Public Property Version As Version
|
||||
Public Property DownloadAddress As Uri
|
||||
Public Property UpdateFilePath As String
|
||||
Public Property ChangeLogAddress As Uri
|
||||
Public Property ImageAddress As Uri
|
||||
Public Property ImageLinkAddress As Uri
|
||||
Public Property CertificateThumbprint As String
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Shared Function FromString(ByVal input As String) As UpdateInfo
|
||||
Dim newInfo As New UpdateInfo
|
||||
With newInfo
|
||||
If String.IsNullOrEmpty(input) Then
|
||||
.IsValid = False
|
||||
Else
|
||||
Dim updateFile As New UpdateFile(input)
|
||||
.Version = updateFile.GetVersion("Version")
|
||||
.DownloadAddress = updateFile.GetUri("dURL")
|
||||
.ChangeLogAddress = updateFile.GetUri("clURL")
|
||||
.ImageAddress = updateFile.GetUri("imgURL")
|
||||
.ImageLinkAddress = updateFile.GetUri("imgURLLink")
|
||||
.CertificateThumbprint = updateFile.GetThumbprint("CertificateThumbprint")
|
||||
.IsValid = True
|
||||
End If
|
||||
End With
|
||||
Return newInfo
|
||||
End Function
|
||||
#End Region
|
||||
End Class
|
||||
|
||||
Public Class AnnouncementInfo
|
||||
#Region "Public Properties"
|
||||
Public Property IsValid As Boolean
|
||||
Public Property Name As String
|
||||
Public Property Address As Uri
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Shared Function FromString(ByVal input As String) As AnnouncementInfo
|
||||
Dim newInfo As New AnnouncementInfo
|
||||
With newInfo
|
||||
If String.IsNullOrEmpty(input) Then
|
||||
.IsValid = False
|
||||
Else
|
||||
Dim updateFile As New UpdateFile(input)
|
||||
.Name = updateFile.GetString("Name")
|
||||
.Address = updateFile.GetUri("URL")
|
||||
.IsValid = True
|
||||
End If
|
||||
End With
|
||||
Return newInfo
|
||||
End Function
|
||||
#End Region
|
||||
End Class
|
||||
#End Region
|
||||
|
||||
#Region "Private Classes"
|
||||
Private Class UpdateFile
|
||||
#Region "Public Properties"
|
||||
Private ReadOnly _items As New Dictionary(Of String, String)(StringComparer.InvariantCultureIgnoreCase)
|
||||
' ReSharper disable MemberCanBePrivate.Local
|
||||
Public ReadOnly Property Items() As Dictionary(Of String, String)
|
||||
' ReSharper restore MemberCanBePrivate.Local
|
||||
Get
|
||||
Return _items
|
||||
End Get
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Sub New(ByVal content As String)
|
||||
FromString(content)
|
||||
End Sub
|
||||
|
||||
' ReSharper disable MemberCanBePrivate.Local
|
||||
Public Sub FromString(ByVal content As String)
|
||||
' ReSharper restore MemberCanBePrivate.Local
|
||||
If String.IsNullOrEmpty(content) Then
|
||||
Else
|
||||
Dim lineSeparators() As Char = New Char() {Chr(&HA), Chr(&HD)}
|
||||
Dim keyValueSeparators() As Char = New Char() {":", "="}
|
||||
Dim commentCharacters() As Char = New Char() {"#", ";", "'"}
|
||||
|
||||
Dim lines() As String = content.Split(lineSeparators, StringSplitOptions.RemoveEmptyEntries)
|
||||
For Each line As String In lines
|
||||
line = line.Trim()
|
||||
If line.Length = 0 Then Continue For
|
||||
If Not line.Substring(0, 1).IndexOfAny(commentCharacters) = -1 Then Continue For
|
||||
|
||||
Dim parts() As String = line.Split(keyValueSeparators, 2)
|
||||
If Not parts.Length = 2 Then Continue For
|
||||
Dim key As String = parts(0).Trim()
|
||||
Dim value As String = parts(1).Trim()
|
||||
|
||||
_items.Add(key, value)
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' ReSharper disable MemberCanBePrivate.Local
|
||||
Public Function GetString(ByVal key As String) As String
|
||||
' ReSharper restore MemberCanBePrivate.Local
|
||||
If Not Items.ContainsKey(key) Then Return String.Empty
|
||||
Return Items(key)
|
||||
End Function
|
||||
|
||||
Public Function GetVersion(ByVal key As String) As Version
|
||||
Dim value As String = GetString(key)
|
||||
If String.IsNullOrEmpty(value) Then Return Nothing
|
||||
Return New Version(value)
|
||||
End Function
|
||||
|
||||
Public Function GetUri(ByVal key As String) As Uri
|
||||
Dim value As String = GetString(key)
|
||||
If String.IsNullOrEmpty(value) Then Return Nothing
|
||||
Return New Uri(value)
|
||||
End Function
|
||||
|
||||
Public Function GetThumbprint(ByVal key As String) As String
|
||||
Return GetString(key).Replace(" ", "").ToUpperInvariant()
|
||||
End Function
|
||||
#End Region
|
||||
End Class
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -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,9 +1,11 @@
|
||||
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
|
||||
Imports PSTaskDialog
|
||||
|
||||
Namespace Config
|
||||
Namespace Connections
|
||||
@@ -17,8 +19,6 @@ Namespace Config
|
||||
Private sqlQuery As SqlCommand
|
||||
Private sqlRd As SqlDataReader
|
||||
|
||||
Private sqlDB As String = "mRemote"
|
||||
|
||||
Private selNode As TreeNode
|
||||
#End Region
|
||||
|
||||
@@ -43,6 +43,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 +93,6 @@ Namespace Config
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Private _ConnectionFileName As String
|
||||
Public Property ConnectionFileName() As String
|
||||
Get
|
||||
@@ -107,16 +113,6 @@ Namespace Config
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _Import As Boolean
|
||||
Public Property Import() As Boolean
|
||||
Get
|
||||
Return Me._Import
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me._Import = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _ConnectionList As Connection.List
|
||||
Public Property ConnectionList() As Connection.List
|
||||
Get
|
||||
@@ -159,30 +155,38 @@ Namespace Config
|
||||
#End Region
|
||||
|
||||
#Region "Public Methods"
|
||||
Public Sub Load()
|
||||
Public Sub Load(ByVal import As Boolean)
|
||||
If _UseSQL = True Then
|
||||
LoadFromSQL()
|
||||
SetMainFormText("SQL Server")
|
||||
Else
|
||||
Dim strCons As String = DecryptCompleteFile()
|
||||
LoadFromXML(strCons)
|
||||
LoadFromXML(strCons, import)
|
||||
End If
|
||||
|
||||
If Import = False Then
|
||||
If import = False Then
|
||||
SetMainFormText(ConnectionFileName)
|
||||
PuttySessions.AddSessionsToTree()
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "SQL"
|
||||
Private Delegate Sub LoadFromSqlDelegate()
|
||||
Private Sub LoadFromSQL()
|
||||
If Windows.treeForm Is Nothing OrElse Windows.treeForm.tvConnections Is Nothing Then Return
|
||||
If Windows.treeForm.tvConnections.InvokeRequired Then
|
||||
Windows.treeForm.tvConnections.Invoke(New LoadFromSqlDelegate(AddressOf LoadFromSQL))
|
||||
Return
|
||||
End If
|
||||
|
||||
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 +205,12 @@ 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)
|
||||
confVersion = Convert.ToDouble(sqlRd.Item("confVersion"), CultureInfo.InvariantCulture)
|
||||
Const maxSupportedSchemaVersion As Double = 2.5
|
||||
If confVersion > maxSupportedSchemaVersion Then
|
||||
cTaskDialog.ShowTaskDialogBox(frmMain, Application.ProductName, "Incompatible database schema", String.Format("The database schema on the server is not supported. Please upgrade to a newer version of {0}.", Application.ProductName), String.Format("Schema Version: {1}{0}Highest Supported Version: {2}", vbNewLine, confVersion.ToString(), maxSupportedSchemaVersion.ToString()), "", "", "", "", eTaskDialogButtons.OK, eSysIcons.Error, Nothing)
|
||||
Throw New Exception(String.Format("Incompatible database schema (schema version {0}).", confVersion))
|
||||
End If
|
||||
|
||||
Dim rootNode As TreeNode
|
||||
rootNode = New TreeNode(sqlRd.Item("Name"))
|
||||
@@ -233,9 +239,11 @@ Namespace Config
|
||||
|
||||
sqlRd.Close()
|
||||
|
||||
Windows.treeForm.tvConnections.BeginUpdate()
|
||||
|
||||
' SECTION 3. Populate the TreeView with the DOM nodes.
|
||||
AddNodesFromSQL(rootNode)
|
||||
'AddNodeFromXML(xDom.DocumentElement, Me._RootTreeNode)
|
||||
'AddNodeFromXml(xDom.DocumentElement, Me._RootTreeNode)
|
||||
|
||||
rootNode.Expand()
|
||||
|
||||
@@ -246,6 +254,8 @@ Namespace Config
|
||||
End If
|
||||
Next
|
||||
|
||||
Windows.treeForm.tvConnections.EndUpdate()
|
||||
|
||||
'open connections from last mremote session
|
||||
If My.Settings.OpenConsFromLastSession = True And My.Settings.NoReconnect = False Then
|
||||
For Each conI As Connection.Info In Me._ConnectionList
|
||||
@@ -261,12 +271,14 @@ 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)
|
||||
Throw
|
||||
Finally
|
||||
If sqlCon IsNot Nothing Then
|
||||
sqlCon.Close()
|
||||
End If
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -312,7 +324,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 +365,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")
|
||||
@@ -391,7 +403,10 @@ Namespace Config
|
||||
tNode.SelectedImageIndex = Images.Enums.TreeImage.Container
|
||||
End If
|
||||
|
||||
If sqlRd.Item("ParentID") <> 0 Then
|
||||
Dim parentId As String = sqlRd.Item("ParentID").ToString().Trim()
|
||||
If String.IsNullOrEmpty(parentId) Or parentId = "0" Then
|
||||
baseNode.Nodes.Add(tNode)
|
||||
Else
|
||||
Dim pNode As TreeNode = Tree.Node.GetNodeFromConstantID(sqlRd.Item("ParentID"))
|
||||
|
||||
If pNode IsNot Nothing Then
|
||||
@@ -405,14 +420,12 @@ Namespace Config
|
||||
Else
|
||||
baseNode.Nodes.Add(tNode)
|
||||
End If
|
||||
Else
|
||||
baseNode.Nodes.Add(tNode)
|
||||
End If
|
||||
|
||||
'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
|
||||
|
||||
@@ -537,9 +550,9 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If Me.confVersion >= 2.2 Then
|
||||
conI.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod), .Item("RDGatewayUsageMethod"))
|
||||
conI.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(mRemoteNG.Connection.Protocol.RDP.RDGatewayUsageMethod), .Item("RDGatewayUsageMethod"))
|
||||
conI.RDGatewayHostname = .Item("RDGatewayHostname")
|
||||
conI.RDGatewayUseConnectionCredentials = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials), .Item("RDGatewayUseConnectionCredentials"))
|
||||
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")
|
||||
@@ -550,6 +563,25 @@ Namespace Config
|
||||
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 confVersion >= 2.5 Then
|
||||
conI.LoadBalanceInfo = .Item("LoadBalanceInfo")
|
||||
conI.AutomaticResize = .Item("AutomaticResize")
|
||||
conI.Inherit.LoadBalanceInfo = .Item("InheritLoadBalanceInfo")
|
||||
conI.Inherit.AutomaticResize = .Item("InheritAutomaticResize")
|
||||
End If
|
||||
|
||||
If SQLUpdate = True Then
|
||||
conI.PleaseConnect = .Item("Connected")
|
||||
End If
|
||||
@@ -557,7 +589,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
|
||||
@@ -612,9 +644,9 @@ Namespace Config
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
Private Sub LoadFromXML(Optional ByVal cons As String = "")
|
||||
Private Sub LoadFromXML(ByVal cons As String, ByVal import As Boolean)
|
||||
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()
|
||||
@@ -625,22 +657,27 @@ 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
|
||||
|
||||
Const maxSupportedConfVersion As Double = 2.5
|
||||
If confVersion > maxSupportedConfVersion Then
|
||||
cTaskDialog.ShowTaskDialogBox(frmMain, Application.ProductName, "Incompatible connection file format", String.Format("The format of this connection file is not supported. Please upgrade to a newer version of {0}.", Application.ProductName), String.Format("{1}{0}File Format Version: {2}{0}Highest Supported Version: {3}", vbNewLine, ConnectionFileName, confVersion.ToString(), maxSupportedConfVersion.ToString()), "", "", "", "", eTaskDialogButtons.OK, eSysIcons.Error, Nothing)
|
||||
Throw New Exception(String.Format("Incompatible connection file format (file format version {0}).", confVersion))
|
||||
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
|
||||
@@ -653,35 +690,35 @@ 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
|
||||
End If
|
||||
|
||||
Dim imp As Boolean = False
|
||||
|
||||
If Me.confVersion > 0.9 Then '1.0
|
||||
Dim isExportFile As Boolean = False
|
||||
If confVersion >= 1.0 Then
|
||||
If xDom.DocumentElement.Attributes("Export").Value = True Then
|
||||
imp = True
|
||||
isExportFile = True
|
||||
End If
|
||||
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!")
|
||||
|
||||
Exit Sub
|
||||
If import And Not isExportFile Then
|
||||
MessageCollector.AddMessage(Messages.MessageClass.InformationMsg, My.Language.strCannotImportNormalSessionFile)
|
||||
Return
|
||||
End If
|
||||
|
||||
If imp = False Then
|
||||
Me._RootTreeNode.Text = rootNode.Text
|
||||
Me._RootTreeNode.Tag = rootNode.Tag
|
||||
Me._RootTreeNode.ImageIndex = Images.Enums.TreeImage.Root
|
||||
Me._RootTreeNode.SelectedImageIndex = Images.Enums.TreeImage.Root
|
||||
If Not isExportFile Then
|
||||
_RootTreeNode.Text = rootNode.Text
|
||||
_RootTreeNode.Tag = rootNode.Tag
|
||||
_RootTreeNode.ImageIndex = Images.Enums.TreeImage.Root
|
||||
_RootTreeNode.SelectedImageIndex = Images.Enums.TreeImage.Root
|
||||
End If
|
||||
|
||||
Windows.treeForm.tvConnections.BeginUpdate()
|
||||
|
||||
' SECTION 3. Populate the TreeView with the DOM nodes.
|
||||
AddNodeFromXML(xDom.DocumentElement, Me._RootTreeNode)
|
||||
AddNodeFromXml(xDom.DocumentElement, _RootTreeNode)
|
||||
|
||||
Me._RootTreeNode.Expand()
|
||||
|
||||
@@ -692,6 +729,8 @@ Namespace Config
|
||||
End If
|
||||
Next
|
||||
|
||||
Windows.treeForm.tvConnections.EndUpdate()
|
||||
|
||||
'open connections from last mremote session
|
||||
If My.Settings.OpenConsFromLastSession = True And My.Settings.NoReconnect = False Then
|
||||
For Each conI As Connection.Info In Me._ConnectionList
|
||||
@@ -703,94 +742,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
|
||||
@@ -886,6 +927,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
|
||||
@@ -921,7 +964,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
|
||||
@@ -929,7 +972,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
|
||||
@@ -939,16 +982,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
|
||||
@@ -965,13 +1008,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
|
||||
@@ -989,28 +1032,52 @@ Namespace Config
|
||||
End If
|
||||
|
||||
If Me.confVersion > 2.1 Then '2.2
|
||||
conI.RDGatewayUsageMethod = Tools.Misc.StringToEnum(GetType(mRemote.Connection.Protocol.RDP.RDGatewayUsageMethod), .Attributes("RDGatewayUsageMethod").Value)
|
||||
' 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(mRemote.Connection.Protocol.RDP.RDGatewayUseConnectionCredentials), .Attributes("RDGatewayUseConnectionCredentials").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
|
||||
End With
|
||||
|
||||
Return conI
|
||||
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
|
||||
|
||||
If confVersion >= 2.5 Then
|
||||
conI.LoadBalanceInfo = .Attributes("LoadBalanceInfo").Value
|
||||
conI.AutomaticResize = .Attributes("AutomaticResize").Value
|
||||
conI.Inherit.LoadBalanceInfo = .Attributes("InheritLoadBalanceInfo").Value
|
||||
conI.Inherit.AutomaticResize = .Attributes("InheritAutomaticResize").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
|
||||
@@ -28,7 +29,11 @@ Namespace Config
|
||||
With Me._MainForm
|
||||
' Migrate settings from previous version
|
||||
If My.Settings.DoUpgrade Then
|
||||
My.Settings.Upgrade()
|
||||
Try
|
||||
My.Settings.Upgrade()
|
||||
Catch ex As Exception
|
||||
Log.Error("My.Settings.Upgrade() failed" & vbNewLine & ex.Message)
|
||||
End Try
|
||||
My.Settings.DoUpgrade = False
|
||||
|
||||
' Clear pending update flag
|
||||
@@ -37,41 +42,60 @@ Namespace Config
|
||||
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
|
||||
Themes.ThemeManager.LoadTheme(My.Settings.ThemeName)
|
||||
|
||||
'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()
|
||||
.Fullscreen.Value = True
|
||||
.mMenViewFullscreen.Checked = True
|
||||
End If
|
||||
|
||||
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 = App.Info.General.PuttyPath
|
||||
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
|
||||
@@ -84,6 +108,10 @@ Namespace Config
|
||||
Me.LoadPanelsFromXML()
|
||||
Me.LoadExternalAppsFromXML()
|
||||
|
||||
If My.Settings.AlwaysShowPanelTabs Then
|
||||
frmMain.pnlDock.DocumentStyle = DocumentStyle.DockingWindow
|
||||
End If
|
||||
|
||||
If My.Settings.ResetToolbars = False Then
|
||||
LoadToolbarsFromSettings()
|
||||
Else
|
||||
@@ -91,8 +119,7 @@ Namespace Config
|
||||
End If
|
||||
End With
|
||||
Catch ex As Exception
|
||||
App.Runtime.log.Error("Loading settings failed" & vbNewLine & ex.Message)
|
||||
'mC.AddMessage(Messages.MessageClass.ErrorMsg, "Loading settings failed" & vbNewLine & ex.Message, True)
|
||||
Log.Error("Loading settings failed" & vbNewLine & ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
@@ -100,8 +127,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
|
||||
|
||||
@@ -126,8 +153,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
|
||||
|
||||
@@ -159,28 +186,40 @@ Namespace Config
|
||||
Loop
|
||||
|
||||
Startup.CreatePanels()
|
||||
If File.Exists(App.Info.Settings.SettingsPath & "\" & App.Info.Settings.LayoutFileName) And My.Settings.ResetPanels = False Then
|
||||
.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.SetDefaultLayout()
|
||||
End If
|
||||
End With
|
||||
Catch ex As Exception
|
||||
App.Runtime.log.Error("LoadPanelsFromXML failed" & vbNewLine & ex.Message)
|
||||
'mC.AddMessage(Messages.MessageClass.ErrorMsg, "LoadPanelsFromXML failed" & vbNewLine & ex.Message, True)
|
||||
Log.Error("LoadPanelsFromXML failed" & vbNewLine & ex.Message)
|
||||
End Try
|
||||
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
|
||||
@@ -193,19 +232,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
|
||||
@@ -227,8 +271,7 @@ Namespace Config
|
||||
Return Windows.screenshotPanel
|
||||
End If
|
||||
Catch ex As Exception
|
||||
App.Runtime.log.Error("GetContentFromPersistString failed" & vbNewLine & ex.Message)
|
||||
'mC.AddMessage(Messages.MessageClass.ErrorMsg, "GetContentFromPersistString failed" & vbNewLine & ex.Message, True)
|
||||
Log.Error("GetContentFromPersistString failed" & vbNewLine & ex.Message)
|
||||
End Try
|
||||
|
||||
Return Nothing
|
||||
|
||||
@@ -63,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)
|
||||
|
||||
@@ -1,52 +1,42 @@
|
||||
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
|
||||
|
||||
My.Settings.MainFormKiosk = Tools.Misc.Fullscreen.FullscreenActive
|
||||
My.Settings.MainFormKiosk = .Fullscreen.Value
|
||||
|
||||
My.Settings.FirstStart = False
|
||||
My.Settings.ResetPanels = False
|
||||
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
|
||||
|
||||
9
mRemoteV1/Config/ConfirmClose.vb
Normal file
@@ -0,0 +1,9 @@
|
||||
Namespace Config
|
||||
Public Enum ConfirmClose
|
||||
Unspecified = 0
|
||||
Never = 1
|
||||
[Exit] = 2
|
||||
Multiple = 3
|
||||
All = 4
|
||||
End Enum
|
||||
End Namespace
|
||||
243
mRemoteV1/Config/PuttySessions.vb
Normal file
@@ -0,0 +1,243 @@
|
||||
Imports System.ComponentModel
|
||||
Imports System.Management
|
||||
Imports mRemoteNG.Messages
|
||||
Imports Microsoft.Win32
|
||||
Imports mRemoteNG.Connection.Protocol
|
||||
Imports mRemoteNG.My
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Security.Principal
|
||||
|
||||
Namespace Config
|
||||
Public Class PuttySessions
|
||||
Private Const PuttySessionsKey As String = "Software\SimonTatham\PuTTY\Sessions"
|
||||
Private Shared _rootTreeNode As TreeNode
|
||||
Private Shared _eventWatcher As ManagementEventWatcher
|
||||
|
||||
Private Delegate Sub AddSessionsToTreeDelegate()
|
||||
Public Shared Sub AddSessionsToTree()
|
||||
Dim treeView As TreeView = Tree.Node.TreeView
|
||||
If treeView Is Nothing Then Return
|
||||
If treeView.InvokeRequired Then
|
||||
treeView.Invoke(New AddSessionsToTreeDelegate(AddressOf AddSessionsToTree))
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim savedSessions As New List(Of Connection.Info)(LoadSessions())
|
||||
If savedSessions Is Nothing OrElse savedSessions.Count = 0 Then Return
|
||||
|
||||
Dim puttyRootInfo As New Root.PuttySessions.Info()
|
||||
If String.IsNullOrEmpty(My.Settings.PuttySavedSessionsName) Then
|
||||
puttyRootInfo.Name = Language.strPuttySavedSessionsRootName
|
||||
Else
|
||||
puttyRootInfo.Name = My.Settings.PuttySavedSessionsName
|
||||
End If
|
||||
If String.IsNullOrEmpty(My.Settings.PuttySavedSessionsPanel) Then
|
||||
puttyRootInfo.Panel = Language.strGeneral
|
||||
Else
|
||||
puttyRootInfo.Panel = My.Settings.PuttySavedSessionsPanel
|
||||
End If
|
||||
|
||||
Dim inUpdate As Boolean = False
|
||||
|
||||
If _rootTreeNode Is Nothing Then
|
||||
_rootTreeNode = New TreeNode
|
||||
_rootTreeNode.Name = puttyRootInfo.Name
|
||||
_rootTreeNode.Text = puttyRootInfo.Name
|
||||
_rootTreeNode.Tag = puttyRootInfo
|
||||
_rootTreeNode.ImageIndex = Images.Enums.TreeImage.PuttySessions
|
||||
_rootTreeNode.SelectedImageIndex = Images.Enums.TreeImage.PuttySessions
|
||||
End If
|
||||
|
||||
If Not treeView.Nodes.Contains(_rootTreeNode) Then
|
||||
If Not inUpdate Then
|
||||
treeView.BeginUpdate()
|
||||
inUpdate = True
|
||||
End If
|
||||
treeView.Nodes.Add(_rootTreeNode)
|
||||
End If
|
||||
|
||||
puttyRootInfo.TreeNode = _rootTreeNode
|
||||
|
||||
Dim newTreeNodes As New List(Of TreeNode)
|
||||
For Each sessionInfo As Connection.PuttySession.Info In savedSessions
|
||||
Dim treeNode As TreeNode
|
||||
Dim isNewNode As Boolean
|
||||
If _rootTreeNode.Nodes.ContainsKey(sessionInfo.Name) Then
|
||||
treeNode = _rootTreeNode.Nodes.Item(sessionInfo.Name)
|
||||
isNewNode = False
|
||||
Else
|
||||
treeNode = Tree.Node.AddNode(Tree.Node.Type.PuttySession, sessionInfo.Name)
|
||||
If treeNode Is Nothing Then Continue For
|
||||
treeNode.Name = treeNode.Text
|
||||
treeNode.ImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
treeNode.SelectedImageIndex = Images.Enums.TreeImage.ConnectionClosed
|
||||
isNewNode = True
|
||||
End If
|
||||
|
||||
sessionInfo.RootPuttySessionsInfo = puttyRootInfo
|
||||
sessionInfo.TreeNode = treeNode
|
||||
sessionInfo.Inherit.TurnOffInheritanceCompletely()
|
||||
|
||||
treeNode.Tag = sessionInfo
|
||||
|
||||
If isNewNode Then newTreeNodes.Add(treeNode)
|
||||
Next
|
||||
|
||||
For Each treeNode As TreeNode In _rootTreeNode.Nodes
|
||||
If Not savedSessions.Contains(treeNode.Tag) Then
|
||||
If Not inUpdate Then
|
||||
treeView.BeginUpdate()
|
||||
inUpdate = True
|
||||
End If
|
||||
_rootTreeNode.Nodes.Remove(treeNode)
|
||||
End If
|
||||
Next
|
||||
|
||||
If Not newTreeNodes.Count = 0 Then
|
||||
If Not inUpdate Then
|
||||
treeView.BeginUpdate()
|
||||
inUpdate = True
|
||||
End If
|
||||
_rootTreeNode.Nodes.AddRange(newTreeNodes.ToArray())
|
||||
End If
|
||||
|
||||
If inUpdate Then
|
||||
Tree.Node.Sort(_rootTreeNode, SortOrder.Ascending)
|
||||
_rootTreeNode.Expand()
|
||||
treeView.EndUpdate()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Shared Function GetSessionNames(Optional ByVal raw As Boolean = False) As String()
|
||||
Dim sessionsKey As RegistryKey = Registry.CurrentUser.OpenSubKey(PuttySessionsKey)
|
||||
If sessionsKey Is Nothing Then Return New String() {}
|
||||
|
||||
Dim sessionNames As New List(Of String)
|
||||
For Each sessionName As String In sessionsKey.GetSubKeyNames()
|
||||
If raw Then
|
||||
sessionNames.Add(sessionName)
|
||||
Else
|
||||
sessionNames.Add(Web.HttpUtility.UrlDecode(sessionName.Replace("+", "%2B")))
|
||||
End If
|
||||
Next
|
||||
|
||||
If raw Then
|
||||
If Not sessionNames.Contains("Default%20Settings") Then ' Do not localize
|
||||
sessionNames.Insert(0, "Default%20Settings")
|
||||
End If
|
||||
Else
|
||||
If Not sessionNames.Contains("Default Settings") Then
|
||||
sessionNames.Insert(0, "Default Settings")
|
||||
End If
|
||||
End If
|
||||
|
||||
Return sessionNames.ToArray()
|
||||
End Function
|
||||
|
||||
Protected Shared Function LoadSessions() As Connection.PuttySession.Info()
|
||||
Dim sessionList As New List(Of Connection.PuttySession.Info)
|
||||
Dim sessionInfo As Connection.Info
|
||||
For Each sessionName As String In GetSessionNames(True)
|
||||
sessionInfo = SessionToConnectionInfo(sessionName)
|
||||
If sessionInfo Is Nothing OrElse String.IsNullOrEmpty(sessionInfo.Hostname) Then Continue For
|
||||
sessionList.Add(sessionInfo)
|
||||
Next
|
||||
Return sessionList.ToArray()
|
||||
End Function
|
||||
|
||||
Protected Shared Function SessionToConnectionInfo(ByVal sessionName As String) As Connection.PuttySession.Info
|
||||
Dim sessionsKey As RegistryKey = Registry.CurrentUser.OpenSubKey(PuttySessionsKey)
|
||||
If sessionsKey Is Nothing Then Return Nothing
|
||||
|
||||
Dim sessionKey As RegistryKey = sessionsKey.OpenSubKey(sessionName)
|
||||
If sessionKey Is Nothing Then Return Nothing
|
||||
|
||||
sessionName = Web.HttpUtility.UrlDecode(sessionName.Replace("+", "%2B"))
|
||||
|
||||
Dim sessionInfo As New Connection.PuttySession.Info
|
||||
With sessionInfo
|
||||
.PuttySession = sessionName
|
||||
.Name = sessionName
|
||||
.Hostname = sessionKey.GetValue("HostName")
|
||||
.Username = sessionKey.GetValue("UserName")
|
||||
Dim protocol As String = sessionKey.GetValue("Protocol")
|
||||
If protocol Is Nothing Then protocol = "ssh"
|
||||
Select Case protocol.ToLowerInvariant()
|
||||
Case "raw"
|
||||
.Protocol = Protocols.RAW
|
||||
Case "rlogin"
|
||||
.Protocol = Protocols.Rlogin
|
||||
Case "serial"
|
||||
Return Nothing
|
||||
Case "ssh"
|
||||
Dim sshVersionObject As Object = sessionKey.GetValue("SshProt")
|
||||
If sshVersionObject IsNot Nothing Then
|
||||
Dim sshVersion As Integer = CType(sshVersionObject, Integer)
|
||||
If sshVersion >= 2 Then
|
||||
.Protocol = Protocols.SSH2
|
||||
Else
|
||||
.Protocol = Protocols.SSH1
|
||||
End If
|
||||
Else
|
||||
.Protocol = Protocols.SSH2
|
||||
End If
|
||||
Case "telnet"
|
||||
.Protocol = Protocols.Telnet
|
||||
Case Else
|
||||
Return Nothing
|
||||
End Select
|
||||
.Port = sessionKey.GetValue("PortNumber")
|
||||
End With
|
||||
|
||||
Return sessionInfo
|
||||
End Function
|
||||
|
||||
Public Shared Sub StartWatcher()
|
||||
If _eventWatcher IsNot Nothing Then Return
|
||||
|
||||
Try
|
||||
Dim currentUserSid As String = WindowsIdentity.GetCurrent().User.Value
|
||||
Dim key As String = String.Join("\", {currentUserSid, PuttySessionsKey}).Replace("\", "\\")
|
||||
Dim query As New WqlEventQuery(String.Format("SELECT * FROM RegistryTreeChangeEvent WHERE Hive = 'HKEY_USERS' AND RootPath = '{0}'", key))
|
||||
_eventWatcher = New ManagementEventWatcher(query)
|
||||
AddHandler _eventWatcher.EventArrived, AddressOf OnManagementEventArrived
|
||||
_eventWatcher.Start()
|
||||
Catch ex As Exception
|
||||
MessageCollector.AddExceptionMessage("PuttySessions.Watcher.StartWatching() failed.", ex, MessageClass.WarningMsg, True)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Shared Sub StopWatcher()
|
||||
If _eventWatcher Is Nothing Then Return
|
||||
_eventWatcher.Stop()
|
||||
_eventWatcher.Dispose()
|
||||
_eventWatcher = Nothing
|
||||
End Sub
|
||||
|
||||
Private Shared Sub OnManagementEventArrived(ByVal sender As Object, ByVal e As EventArrivedEventArgs)
|
||||
AddSessionsToTree()
|
||||
End Sub
|
||||
|
||||
Public Class SessionList
|
||||
Inherits StringConverter
|
||||
|
||||
Public Shared ReadOnly Property Names() As String()
|
||||
Get
|
||||
Return GetSessionNames()
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Overloads Overrides Function GetStandardValues(ByVal context As System.ComponentModel.ITypeDescriptorContext) As System.ComponentModel.TypeConverter.StandardValuesCollection
|
||||
Return New StandardValuesCollection(Names)
|
||||
End Function
|
||||
|
||||
Public Overloads Overrides Function GetStandardValuesExclusive(ByVal context As System.ComponentModel.ITypeDescriptorContext) As Boolean
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Overloads Overrides Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
|
||||
Return True
|
||||
End Function
|
||||
End Class
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -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
|
||||
@@ -17,14 +17,24 @@ Namespace Connection
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Private _InterfaceControl As Connection.InterfaceControl
|
||||
Public Property InterfaceControl() As Connection.InterfaceControl
|
||||
Private WithEvents _connectionWindow As UI.Window.Connection
|
||||
Public Property ConnectionWindow As UI.Window.Connection
|
||||
Get
|
||||
Return Me._InterfaceControl
|
||||
Return _connectionWindow
|
||||
End Get
|
||||
Set(ByVal value As Connection.InterfaceControl)
|
||||
Me._InterfaceControl = value
|
||||
Set(value As UI.Window.Connection)
|
||||
_connectionWindow = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private _interfaceControl As InterfaceControl
|
||||
Public Property InterfaceControl() As InterfaceControl
|
||||
Get
|
||||
Return _interfaceControl
|
||||
End Get
|
||||
Set(ByVal value As InterfaceControl)
|
||||
_interfaceControl = value
|
||||
ConnectionWindow = TryCast(_interfaceControl.GetContainerControl(), UI.Window.Connection)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -39,12 +49,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,26 +68,38 @@ 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
|
||||
|
||||
Public Overridable Sub ResizeBegin(ByVal sender As System.Object, ByVal e As EventArgs) Handles _connectionWindow.ResizeBegin
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overridable Sub Resize(ByVal sender As System.Object, ByVal e As EventArgs) Handles _connectionWindow.Resize
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overridable Sub ResizeEnd(ByVal sender As System.Object, ByVal e As EventArgs) Handles _connectionWindow.ResizeEnd
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overridable Function SetProps() As Boolean
|
||||
Try
|
||||
Me._InterfaceControl.Parent.Tag = Me._InterfaceControl
|
||||
Me._InterfaceControl.Show()
|
||||
Me._interfaceControl.Parent.Tag = Me._interfaceControl
|
||||
Me._interfaceControl.Show()
|
||||
|
||||
If Me._Control IsNot Nothing Then
|
||||
Me._Control.Name = Me._Name
|
||||
Me._Control.Parent = Me._InterfaceControl
|
||||
Me._Control.Location = Me._InterfaceControl.Location
|
||||
Me._Control.Parent = Me._interfaceControl
|
||||
Me._Control.Location = Me._interfaceControl.Location
|
||||
Me._Control.Size = Me.InterfaceControl.Size
|
||||
Me._Control.Anchor = Me._InterfaceControl.Anchor
|
||||
Me._Control.Anchor = Me._interfaceControl.Anchor
|
||||
End If
|
||||
|
||||
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
|
||||
@@ -92,12 +114,9 @@ Namespace Connection
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Public Overridable Sub Resize()
|
||||
|
||||
End Sub
|
||||
|
||||
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 +131,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 +145,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,6 +1,6 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports mRemote.App.Runtime
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -26,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
|
||||
|
||||
@@ -55,16 +55,16 @@ Namespace Connection
|
||||
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.Navigated, AddressOf wBrowser_Navigated
|
||||
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
|
||||
@@ -107,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
|
||||
@@ -118,8 +118,14 @@ Namespace Connection
|
||||
#End Region
|
||||
|
||||
#Region "Events"
|
||||
Private Sub gex_CreateWindow(ByVal sender As Object, ByVal e As Skybound.Gecko.GeckoCreateWindowEventArgs)
|
||||
e.WebBrowser = Me.wBrowser
|
||||
Private Sub wBrowser_Navigated(sender As Object, e As System.Windows.Forms.WebBrowserNavigatedEventArgs)
|
||||
Dim objWebBrowser As WebBrowser = TryCast(wBrowser, WebBrowser)
|
||||
If objWebBrowser Is Nothing Then Return
|
||||
|
||||
' This can only be set once the WebBrowser control is shown, it will throw a COM exception otherwise.
|
||||
objWebBrowser.AllowWebBrowserDrop = False
|
||||
|
||||
RemoveHandler objWebBrowser.Navigated, AddressOf wBrowser_Navigated
|
||||
End Sub
|
||||
|
||||
Private Sub wBrowser_NewWindow3(ByRef ppDisp As Object, ByRef Cancel As Boolean, ByVal dwFlags As Long, ByVal bstrUrlContext As String, ByVal bstrUrl As String)
|
||||
@@ -163,20 +169,21 @@ Namespace Connection
|
||||
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
|
||||
' ReSharper disable InconsistentNaming
|
||||
NWMF_UNLOADING = &H1
|
||||
NWMF_USERINITED = &H2
|
||||
NWMF_FIRST = &H4
|
||||
@@ -191,6 +198,7 @@ Namespace Connection
|
||||
NWMF_SUGGESTWINDOW = &H40000
|
||||
NWMF_SUGGESTTAB = &H80000
|
||||
NWMF_INACTIVETAB = &H100000
|
||||
' ReSharper restore InconsistentNaming
|
||||
End Enum
|
||||
#End Region
|
||||
End Class
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -132,10 +156,11 @@ Namespace Connection
|
||||
ICA.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, Screen.FromControl(frmMain).Bounds.Width, Screen.FromControl(frmMain).Bounds.Height, 0)
|
||||
ICA.FullScreenWindow()
|
||||
Case Else
|
||||
ICA.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, RDP.Resolutions.Items(Int(Info.Resolution)).Width, RDP.Resolutions.Items(Int(Info.Resolution)).Height, 0)
|
||||
Dim resolution As Rectangle = RDP.GetResolutionRectangle(Info.Resolution)
|
||||
ICA.SetWindowSize(WFICALib.ICAWindowType.WindowTypeClient, resolution.Width, 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 +168,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 +201,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 +256,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,7 @@
|
||||
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
|
||||
Imports mRemoteNG.Tools
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -12,7 +11,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"
|
||||
@@ -88,6 +87,7 @@ Namespace Connection
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
IntAppProcessStartInfo.UseShellExecute = True
|
||||
IntAppProcessStartInfo.FileName = _IntAppPath
|
||||
IntAppProcessStartInfo.Arguments = Arguments
|
||||
|
||||
@@ -112,23 +112,22 @@ 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)
|
||||
ShowWindow(Me.IntAppHandle, SW_SHOWMAXIMIZED)
|
||||
|
||||
Resize()
|
||||
Resize(Me, New EventArgs)
|
||||
|
||||
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,15 +137,16 @@ 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
|
||||
|
||||
Public Overrides Sub Resize()
|
||||
Public Overrides Sub Resize(ByVal sender As Object, ByVal e As EventArgs)
|
||||
Try
|
||||
If InterfaceControl.Size = Size.Empty Then Return
|
||||
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 +156,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 +164,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,8 +1,13 @@
|
||||
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
|
||||
Imports System.Text.RegularExpressions
|
||||
Imports mRemoteNG.Tools
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -14,6 +19,7 @@ Namespace Connection
|
||||
#End Region
|
||||
|
||||
#Region "Private Properties"
|
||||
Dim _isPuttyNg As Boolean
|
||||
#End Region
|
||||
|
||||
#Region "Public Properties"
|
||||
@@ -67,18 +73,6 @@ Namespace Connection
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Private borderWidth As Integer = frmMain.Size.Width - frmMain.ClientSize.Width
|
||||
'Private borderHeight As Integer = frmMain.Size.Height - frmMain.ClientSize.Height
|
||||
Private Shared _BorderSize As Size
|
||||
Public Shared Property BorderSize() As Size
|
||||
Get
|
||||
Return _BorderSize
|
||||
End Get
|
||||
Set(ByVal value As Size)
|
||||
_BorderSize = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Focused() As Boolean
|
||||
Get
|
||||
If GetForegroundWindow() = PuttyHandle Then
|
||||
@@ -103,99 +97,115 @@ Namespace Connection
|
||||
|
||||
Public Overrides Function Connect() As Boolean
|
||||
Try
|
||||
PuttyProcess = New Process
|
||||
_isPuttyNg = IsFilePuttyNg(PuttyPath)
|
||||
|
||||
PuttyProcess = New Process
|
||||
With PuttyProcess.StartInfo
|
||||
.UseShellExecute = False
|
||||
.FileName = _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 = ""
|
||||
Dim arguments As New CommandLineArguments
|
||||
arguments.EscapeForShell = False
|
||||
|
||||
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) & """"
|
||||
arguments.Add("-load", InterfaceControl.Info.PuttySession)
|
||||
|
||||
If Not TypeOf InterfaceControl.Info Is PuttySession.Info Then
|
||||
arguments.Add("-" & _PuttyProtocol.ToString)
|
||||
|
||||
If _PuttyProtocol = Putty_Protocol.ssh Then
|
||||
Dim username As String = ""
|
||||
Dim password As String = ""
|
||||
|
||||
If Not String.IsNullOrEmpty(InterfaceControl.Info.Username) Then
|
||||
username = InterfaceControl.Info.Username
|
||||
Else
|
||||
If My.Settings.EmptyCredentials = "windows" Then
|
||||
username = Environment.UserName
|
||||
ElseIf My.Settings.EmptyCredentials = "custom" Then
|
||||
username = My.Settings.DefaultUsername
|
||||
End If
|
||||
End If
|
||||
|
||||
If Me.InterfaceControl.Info.Username <> "" Then
|
||||
UserArg = " -l """ & Me.InterfaceControl.Info.Username & """"
|
||||
If Not String.IsNullOrEmpty(InterfaceControl.Info.Password) Then
|
||||
password = InterfaceControl.Info.Password
|
||||
Else
|
||||
If My.Settings.EmptyCredentials = "custom" Then
|
||||
password = Security.Crypt.Decrypt(My.Settings.DefaultPassword, App.Info.General.EncryptionKey)
|
||||
End If
|
||||
End If
|
||||
|
||||
If Me.InterfaceControl.Info.Password <> "" Then
|
||||
PassArg = " -pw """ & Me.InterfaceControl.Info.Password & """"
|
||||
arguments.Add("-" & _PuttySSHVersion)
|
||||
If Not String.IsNullOrEmpty(username) Then
|
||||
arguments.Add("-l", username)
|
||||
End If
|
||||
If Not String.IsNullOrEmpty(password) Then
|
||||
arguments.Add("-pw", password)
|
||||
End If
|
||||
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
|
||||
arguments.Add("-P", InterfaceControl.Info.Port.ToString)
|
||||
arguments.Add(InterfaceControl.Info.Hostname)
|
||||
End If
|
||||
|
||||
'REMOVE IN RELEASE!
|
||||
'mC.AddMessage(Messages.MessageClass.InformationMsg, "PuTTY Arguments: " & .Arguments, True)
|
||||
If _isPuttyNg Then
|
||||
arguments.Add("-hwndparent", InterfaceControl.Handle.ToString())
|
||||
End If
|
||||
|
||||
.Arguments = arguments.ToString
|
||||
End With
|
||||
|
||||
PuttyProcess.EnableRaisingEvents = True
|
||||
AddHandler PuttyProcess.Exited, AddressOf ProcessExited
|
||||
|
||||
PuttyProcess.Start()
|
||||
PuttyProcess.WaitForInputIdle()
|
||||
PuttyProcess.WaitForInputIdle(My.Settings.MaxPuttyWaitTime * 1000)
|
||||
|
||||
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
|
||||
Dim startTicks As Integer = Environment.TickCount
|
||||
While PuttyHandle.ToInt32 = 0 And Environment.TickCount < startTicks + (My.Settings.MaxPuttyWaitTime * 1000)
|
||||
If _isPuttyNg Then
|
||||
PuttyHandle = FindWindowEx(InterfaceControl.Handle, 0, vbNullString, vbNullString)
|
||||
Else
|
||||
PuttyProcess.Refresh()
|
||||
PuttyHandle = PuttyProcess.MainWindowHandle
|
||||
End If
|
||||
If PuttyHandle.ToInt32 = 0 Then Thread.Sleep(0)
|
||||
End While
|
||||
|
||||
PuttyProcess.Refresh()
|
||||
If Not _isPuttyNg Then
|
||||
SetParent(PuttyHandle, InterfaceControl.Handle)
|
||||
End If
|
||||
|
||||
Thread.Sleep(500)
|
||||
MessageCollector.AddMessage(MessageClass.InformationMsg, My.Language.strPuttyStuff, True)
|
||||
|
||||
TryCount += 1
|
||||
Loop
|
||||
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)
|
||||
|
||||
PuttyHandle = PuttyProcess.MainWindowHandle
|
||||
|
||||
|
||||
mC.AddMessage(Messages.MessageClass.InformationMsg, "--- PuTTY Stuff ---", 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)
|
||||
|
||||
SetParent(PuttyHandle, InterfaceControl.Parent.Handle)
|
||||
ShowWindow(PuttyHandle, SW_SHOWMAXIMIZED)
|
||||
Resize()
|
||||
Resize(Me, New EventArgs)
|
||||
|
||||
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
|
||||
|
||||
Public Overrides Sub Focus()
|
||||
Try
|
||||
'SetForegroundWindow(PuttyHandle)
|
||||
If ConnectionWindow.InTabDrag Then Return
|
||||
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()
|
||||
Public Overrides Sub Resize(ByVal sender As Object, ByVal e As EventArgs)
|
||||
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 InterfaceControl.Size = Size.Empty 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
|
||||
|
||||
@@ -205,13 +215,13 @@ 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()
|
||||
@@ -222,47 +232,21 @@ Namespace Connection
|
||||
PostMessage(Me.PuttyHandle, WM_SYSCOMMAND, IDM_RECONF, 0)
|
||||
SetForegroundWindow(Me.PuttyHandle)
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "ShowSettingsDialog failed (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strPuttyShowSettingsDialogFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Public Shared Methods"
|
||||
Public Shared Function GetSessions() As Array
|
||||
Public Shared Function IsFilePuttyNg(file As String) As Boolean
|
||||
Dim isPuttyNg As Boolean
|
||||
Try
|
||||
Dim regKey As RegistryKey
|
||||
regKey = Registry.CurrentUser.OpenSubKey("Software\SimonTatham\PuTTY\Sessions")
|
||||
|
||||
Dim arrKeys() As String
|
||||
arrKeys = regKey.GetSubKeyNames()
|
||||
Array.Resize(arrKeys, arrKeys.Length + 1)
|
||||
arrKeys(arrKeys.Length - 1) = "Default Settings"
|
||||
|
||||
For i As Integer = 0 To arrKeys.Length - 1
|
||||
arrKeys(i) = System.Web.HttpUtility.UrlDecode(arrKeys(i))
|
||||
Next
|
||||
|
||||
Return arrKeys
|
||||
Catch ex As Exception
|
||||
App.Runtime.mC.AddMessage(Messages.MessageClass.WarningMsg, "Couldn't get Putty sessions" & vbNewLine & ex.Message, True)
|
||||
Return Nothing
|
||||
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
|
||||
Dim pSI As New ProcessStartInfo
|
||||
pSI.FileName = PuttyPath
|
||||
|
||||
p = Process.Start(pSI)
|
||||
p.WaitForExit()
|
||||
|
||||
mRemote.Connection.PuttySession.PuttySessions = GetSessions()
|
||||
Catch ex As Exception
|
||||
mC.AddMessage(Messages.MessageClass.ErrorMsg, "Couldn't Start Putty (Connection.Protocol.PuttyBase)" & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Enums"
|
||||
@@ -279,7 +263,6 @@ Namespace Connection
|
||||
ssh2 = 2
|
||||
End Enum
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports VncSharp
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
|
||||
Namespace Connection
|
||||
Namespace Protocol
|
||||
@@ -105,14 +105,14 @@ Namespace Connection
|
||||
' VNC.RestrictPixel = False
|
||||
'End If
|
||||
|
||||
'VNC.ConnectingText = Language.Base.Connecting & " (SmartCode VNC viewer)"
|
||||
'VNC.DisconnectedText = Language.Base.Disconnected
|
||||
'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
|
||||
@@ -123,7 +123,7 @@ Namespace Connection
|
||||
Try
|
||||
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
|
||||
|
||||
@@ -134,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
|
||||
|
||||
@@ -147,7 +147,7 @@ Namespace Connection
|
||||
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
|
||||
|
||||
@@ -156,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
|
||||
|
||||
@@ -164,7 +164,7 @@ 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
|
||||
|
||||
@@ -177,7 +177,7 @@ Namespace Connection
|
||||
' 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
|
||||
|
||||
@@ -197,7 +197,7 @@ Namespace Connection
|
||||
Try
|
||||
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
|
||||
@@ -207,11 +207,12 @@ Namespace Connection
|
||||
Try
|
||||
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)
|
||||
MessageCollector.AddMessage(Messages.MessageClass.ErrorMsg, My.Language.strVncSetEventHandlersFailed & vbNewLine & ex.Message, True)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -227,6 +228,10 @@ Namespace Connection
|
||||
MyBase.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub VNCEvent_ClipboardChanged()
|
||||
Me.VNC.FillServerClipboard()
|
||||
End Sub
|
||||
|
||||
Private Function VNCEvent_Authenticate() As String
|
||||
Return Info.Password
|
||||
End Function
|
||||
@@ -243,7 +248,7 @@ Namespace Connection
|
||||
End Enum
|
||||
|
||||
Public Enum Compression
|
||||
<Description(Language.Base.NoCompression)> _
|
||||
<LocalizedDescription("strNoCompression")> _
|
||||
CompNone = 99
|
||||
<Description("0")> _
|
||||
Comp0 = 0
|
||||
@@ -287,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,21 +0,0 @@
|
||||
Imports System.ComponentModel
|
||||
|
||||
Namespace Connection
|
||||
Public Class PuttySession
|
||||
Inherits StringConverter
|
||||
|
||||
Public Shared PuttySessions As String() = New String() {}
|
||||
|
||||
Public Overloads Overrides Function GetStandardValues(ByVal context As System.ComponentModel.ITypeDescriptorContext) As System.ComponentModel.TypeConverter.StandardValuesCollection
|
||||
Return New StandardValuesCollection(PuttySessions)
|
||||
End Function
|
||||
|
||||
Public Overloads Overrides Function GetStandardValuesExclusive(ByVal context As System.ComponentModel.ITypeDescriptorContext) As Boolean
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Overloads Overrides Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
|
||||
Return True
|
||||
End Function
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -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
|
||||
|
||||
121
mRemoteV1/Connection/PuttySession.Info.vb
Normal file
@@ -0,0 +1,121 @@
|
||||
Imports System.ComponentModel
|
||||
Imports mRemoteNG.Messages
|
||||
Imports mRemoteNG.Tools.LocalizedAttributes
|
||||
Imports mRemoteNG.My
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports mRemoteNG.Tools
|
||||
|
||||
Namespace Connection
|
||||
Namespace PuttySession
|
||||
Public Class Info
|
||||
Inherits Connection.Info
|
||||
Implements IComponent
|
||||
|
||||
#Region "Commands"
|
||||
<Command(),
|
||||
LocalizedDisplayName("strPuttySessionSettings")> _
|
||||
Public Sub SessionSettings()
|
||||
Try
|
||||
Dim puttyProcess As New PuttyProcessController
|
||||
If Not puttyProcess.Start() Then Return
|
||||
If puttyProcess.SelectListBoxItem(PuttySession) Then
|
||||
puttyProcess.ClickButton("&Load")
|
||||
End If
|
||||
puttyProcess.SetControlText("Button", "&Cancel", "&Close")
|
||||
puttyProcess.SetControlVisible("Button", "&Open", False)
|
||||
puttyProcess.WaitForExit()
|
||||
Catch ex As Exception
|
||||
MessageCollector.AddMessage(MessageClass.ErrorMsg, Language.strErrorCouldNotLaunchPutty & vbNewLine & ex.Message, False)
|
||||
End Try
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Properties"
|
||||
<Browsable(False)> _
|
||||
Public Property RootPuttySessionsInfo() As Root.PuttySessions.Info
|
||||
|
||||
<[ReadOnly](True)> _
|
||||
Public Overrides Property PuttySession() As String
|
||||
|
||||
<[ReadOnly](True)> _
|
||||
Public Overrides Property Name() As String
|
||||
|
||||
<[ReadOnly](True), _
|
||||
Browsable(False)> _
|
||||
Public Overrides Property Description() As String
|
||||
|
||||
<[ReadOnly](True), _
|
||||
Browsable(False)> _
|
||||
Public Overrides Property Icon() As String
|
||||
Get
|
||||
Return "PuTTY"
|
||||
End Get
|
||||
Set(value As String)
|
||||
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<[ReadOnly](True), _
|
||||
Browsable(False)> _
|
||||
Public Overrides Property Panel() As String
|
||||
Get
|
||||
Return RootPuttySessionsInfo.Panel
|
||||
End Get
|
||||
Set(value As String)
|
||||
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<[ReadOnly](True)> _
|
||||
Public Overrides Property Hostname() As String
|
||||
|
||||
<[ReadOnly](True)> _
|
||||
Public Overrides Property Username() As String
|
||||
|
||||
<[ReadOnly](True), _
|
||||
Browsable(False)> _
|
||||
Public Overrides Property Password() As String
|
||||
|
||||
<[ReadOnly](True)> _
|
||||
Public Overrides Property Protocol() As Protocol.Protocols
|
||||
|
||||
<[ReadOnly](True)> _
|
||||
Public Overrides Property Port() As Integer
|
||||
|
||||
<[ReadOnly](True), _
|
||||
Browsable(False)> _
|
||||
Public Overrides Property PreExtApp() As String
|
||||
|
||||
<[ReadOnly](True), _
|
||||
Browsable(False)> _
|
||||
Public Overrides Property PostExtApp() As String
|
||||
|
||||
<[ReadOnly](True), _
|
||||
Browsable(False)> _
|
||||
Public Overrides Property MacAddress() As String
|
||||
|
||||
<[ReadOnly](True), _
|
||||
Browsable(False)> _
|
||||
Public Overrides Property UserField() As String
|
||||
#End Region
|
||||
|
||||
#Region "IComponent"
|
||||
Public Property Site() As ISite Implements IComponent.Site
|
||||
Get
|
||||
Return New PropertyGridCommandSite(Me)
|
||||
End Get
|
||||
Set(value As ISite)
|
||||
Throw New NotImplementedException()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Sub Dispose() Implements IDisposable.Dispose
|
||||
RaiseEvent Disposed(Me, EventArgs.Empty)
|
||||
End Sub
|
||||
|
||||
Public Event Disposed As EventHandler Implements IComponent.Disposed
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
||||
End Namespace
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
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
|
||||
Return ConnectionInfo.Name
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me._ConnectionInfo.Name = value
|
||||
ConnectionInfo.Name = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -81,7 +80,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
|
||||
|
||||
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)
|
||||
|
||||
517
mRemoteV1/Forms/frmMain.Designer.vb
generated
@@ -23,31 +23,45 @@ Partial Class frmMain
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container
|
||||
Dim DockPanelSkin3 As WeifenLuo.WinFormsUI.Docking.DockPanelSkin = New WeifenLuo.WinFormsUI.Docking.DockPanelSkin
|
||||
Dim AutoHideStripSkin3 As WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin = New WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin
|
||||
Dim DockPanelGradient7 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
|
||||
Dim TabGradient15 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim DockPaneStripSkin3 As WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin = New WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin
|
||||
Dim DockPaneStripGradient3 As WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient = New WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient
|
||||
Dim TabGradient16 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim DockPanelGradient8 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
|
||||
Dim TabGradient17 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim DockPaneStripToolWindowGradient3 As WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient = New WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient
|
||||
Dim TabGradient18 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim TabGradient19 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim DockPanelGradient9 As WeifenLuo.WinFormsUI.Docking.DockPanelGradient = New WeifenLuo.WinFormsUI.Docking.DockPanelGradient
|
||||
Dim TabGradient20 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim TabGradient21 As WeifenLuo.WinFormsUI.Docking.TabGradient = New WeifenLuo.WinFormsUI.Docking.TabGradient
|
||||
Dim 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
|
||||
@@ -63,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
|
||||
@@ -92,21 +107,27 @@ Partial Class frmMain
|
||||
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.tmrShowUpdate = New System.Windows.Forms.Timer(Me.components)
|
||||
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.tmrAutoSave = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.mMenViewResetLayout = New System.Windows.Forms.ToolStripMenuItem
|
||||
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
|
||||
@@ -116,54 +137,54 @@ Partial Class frmMain
|
||||
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, 449)
|
||||
DockPanelGradient7.EndColor = System.Drawing.SystemColors.ControlLight
|
||||
DockPanelGradient7.StartColor = System.Drawing.SystemColors.ControlLight
|
||||
AutoHideStripSkin3.DockStripGradient = DockPanelGradient7
|
||||
TabGradient15.EndColor = System.Drawing.SystemColors.Control
|
||||
TabGradient15.StartColor = System.Drawing.SystemColors.Control
|
||||
TabGradient15.TextColor = System.Drawing.SystemColors.ControlDarkDark
|
||||
AutoHideStripSkin3.TabGradient = TabGradient15
|
||||
DockPanelSkin3.AutoHideStripSkin = AutoHideStripSkin3
|
||||
TabGradient16.EndColor = System.Drawing.SystemColors.ControlLightLight
|
||||
TabGradient16.StartColor = System.Drawing.SystemColors.ControlLightLight
|
||||
TabGradient16.TextColor = System.Drawing.SystemColors.ControlText
|
||||
DockPaneStripGradient3.ActiveTabGradient = TabGradient16
|
||||
DockPanelGradient8.EndColor = System.Drawing.SystemColors.Control
|
||||
DockPanelGradient8.StartColor = System.Drawing.SystemColors.Control
|
||||
DockPaneStripGradient3.DockStripGradient = DockPanelGradient8
|
||||
TabGradient17.EndColor = System.Drawing.SystemColors.ControlLight
|
||||
TabGradient17.StartColor = System.Drawing.SystemColors.ControlLight
|
||||
TabGradient17.TextColor = System.Drawing.SystemColors.ControlText
|
||||
DockPaneStripGradient3.InactiveTabGradient = TabGradient17
|
||||
DockPaneStripSkin3.DocumentGradient = DockPaneStripGradient3
|
||||
TabGradient18.EndColor = System.Drawing.SystemColors.ActiveCaption
|
||||
TabGradient18.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical
|
||||
TabGradient18.StartColor = System.Drawing.SystemColors.GradientActiveCaption
|
||||
TabGradient18.TextColor = System.Drawing.SystemColors.ActiveCaptionText
|
||||
DockPaneStripToolWindowGradient3.ActiveCaptionGradient = TabGradient18
|
||||
TabGradient19.EndColor = System.Drawing.SystemColors.Control
|
||||
TabGradient19.StartColor = System.Drawing.SystemColors.Control
|
||||
TabGradient19.TextColor = System.Drawing.SystemColors.ControlText
|
||||
DockPaneStripToolWindowGradient3.ActiveTabGradient = TabGradient19
|
||||
DockPanelGradient9.EndColor = System.Drawing.SystemColors.ControlLight
|
||||
DockPanelGradient9.StartColor = System.Drawing.SystemColors.ControlLight
|
||||
DockPaneStripToolWindowGradient3.DockStripGradient = DockPanelGradient9
|
||||
TabGradient20.EndColor = System.Drawing.SystemColors.GradientInactiveCaption
|
||||
TabGradient20.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical
|
||||
TabGradient20.StartColor = System.Drawing.SystemColors.GradientInactiveCaption
|
||||
TabGradient20.TextColor = System.Drawing.SystemColors.ControlText
|
||||
DockPaneStripToolWindowGradient3.InactiveCaptionGradient = TabGradient20
|
||||
TabGradient21.EndColor = System.Drawing.Color.Transparent
|
||||
TabGradient21.StartColor = System.Drawing.Color.Transparent
|
||||
TabGradient21.TextColor = System.Drawing.SystemColors.ControlDarkDark
|
||||
DockPaneStripToolWindowGradient3.InactiveTabGradient = TabGradient21
|
||||
DockPaneStripSkin3.ToolWindowGradient = DockPaneStripToolWindowGradient3
|
||||
DockPanelSkin3.DockPaneStripSkin = DockPaneStripSkin3
|
||||
Me.pnlDock.Skin = DockPanelSkin3
|
||||
Me.pnlDock.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
|
||||
@@ -182,60 +203,151 @@ Partial Class frmMain
|
||||
'
|
||||
'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.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(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(256, 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(256, 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(253, 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(256, 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(256, 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(253, 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(256, 22)
|
||||
Me.mMenFileExit.Size = New System.Drawing.Size(334, 22)
|
||||
Me.mMenFileExit.Text = "Exit"
|
||||
'
|
||||
'mMenView
|
||||
@@ -247,14 +359,14 @@ Partial Class frmMain
|
||||
'
|
||||
'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(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(228, 22)
|
||||
Me.mMenViewConnectionPanels.Text = "Connection Panels"
|
||||
@@ -268,7 +380,7 @@ Partial Class frmMain
|
||||
'
|
||||
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(228, 22)
|
||||
Me.mMenViewConnections.Text = "Connections"
|
||||
@@ -295,7 +407,7 @@ Partial Class frmMain
|
||||
'
|
||||
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(228, 22)
|
||||
Me.mMenViewErrorsAndInfos.Text = "Errors and Infos"
|
||||
@@ -315,7 +427,7 @@ Partial Class frmMain
|
||||
'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(228, 22)
|
||||
Me.mMenViewJumpTo.Text = "Jump To"
|
||||
@@ -325,7 +437,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(260, 22)
|
||||
Me.mMenViewJumpToConnectionsConfig.Size = New System.Drawing.Size(262, 22)
|
||||
Me.mMenViewJumpToConnectionsConfig.Text = "Connections && Config"
|
||||
'
|
||||
'mMenViewJumpToSessionsScreenshots
|
||||
@@ -333,7 +445,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(260, 22)
|
||||
Me.mMenViewJumpToSessionsScreenshots.Size = New System.Drawing.Size(262, 22)
|
||||
Me.mMenViewJumpToSessionsScreenshots.Text = "Sessions && Screenshots"
|
||||
'
|
||||
'mMenViewJumpToErrorsInfos
|
||||
@@ -341,9 +453,15 @@ 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(260, 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"
|
||||
@@ -351,7 +469,7 @@ Partial Class frmMain
|
||||
'
|
||||
'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(228, 22)
|
||||
Me.mMenViewQuickConnectToolbar.Text = "Quick Connect Toolbar"
|
||||
@@ -370,7 +488,7 @@ Partial Class frmMain
|
||||
'
|
||||
'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.ShortcutKeys = System.Windows.Forms.Keys.F11
|
||||
Me.mMenViewFullscreen.Size = New System.Drawing.Size(228, 22)
|
||||
@@ -385,17 +503,18 @@ Partial Class frmMain
|
||||
'
|
||||
'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(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(184, 22)
|
||||
Me.mMenToolsUVNCSC.Text = "UltraVNC SingleClick"
|
||||
Me.mMenToolsUVNCSC.Visible = False
|
||||
'
|
||||
'mMenToolsExternalApps
|
||||
'
|
||||
@@ -406,7 +525,7 @@ Partial Class frmMain
|
||||
'
|
||||
'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(184, 22)
|
||||
Me.mMenToolsPortScan.Text = "Port Scan"
|
||||
@@ -418,7 +537,7 @@ Partial Class frmMain
|
||||
'
|
||||
'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(184, 22)
|
||||
Me.mMenToolsComponentsCheck.Text = "Components Check"
|
||||
@@ -460,7 +579,7 @@ Partial Class frmMain
|
||||
'
|
||||
'mMenInfoDonate
|
||||
'
|
||||
Me.mMenInfoDonate.Image = Global.mRemote.My.Resources.Resources.Donate
|
||||
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"
|
||||
@@ -473,7 +592,7 @@ Partial Class frmMain
|
||||
'
|
||||
'mMenInfoBugReport
|
||||
'
|
||||
Me.mMenInfoBugReport.Image = Global.mRemote.My.Resources.Resources.Bug
|
||||
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"
|
||||
@@ -485,14 +604,14 @@ Partial Class frmMain
|
||||
'
|
||||
'mMenInfoAnnouncements
|
||||
'
|
||||
Me.mMenInfoAnnouncements.Image = Global.mRemote.My.Resources.Resources.News
|
||||
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.mRemote.My.Resources.Resources.Update
|
||||
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"
|
||||
@@ -504,7 +623,7 @@ Partial Class frmMain
|
||||
'
|
||||
'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(190, 22)
|
||||
Me.mMenInfoAbout.Text = "About mRemoteNG"
|
||||
@@ -525,7 +644,7 @@ Partial Class frmMain
|
||||
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, 25)
|
||||
Me.cmbQuickConnect.Size = New System.Drawing.Size(200, 25)
|
||||
'
|
||||
'tsContainer
|
||||
'
|
||||
@@ -538,7 +657,7 @@ Partial Class frmMain
|
||||
'
|
||||
Me.tsContainer.ContentPanel.Controls.Add(Me.pnlDock)
|
||||
Me.tsContainer.ContentPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
|
||||
Me.tsContainer.ContentPanel.Size = New System.Drawing.Size(842, 449)
|
||||
Me.tsContainer.ContentPanel.Size = New System.Drawing.Size(842, 424)
|
||||
Me.tsContainer.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
'
|
||||
'tsContainer.LeftToolStripPanel
|
||||
@@ -558,46 +677,19 @@ Partial Class frmMain
|
||||
'
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.msMain)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsQuickConnect)
|
||||
Me.tsContainer.TopToolStripPanel.Controls.Add(Me.tsExtAppsToolbar)
|
||||
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, 24)
|
||||
Me.tsQuickConnect.Name = "tsQuickConnect"
|
||||
Me.tsQuickConnect.Size = New System.Drawing.Size(251, 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, 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.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(39, 49)
|
||||
Me.tsExtAppsToolbar.Name = "tsExtAppsToolbar"
|
||||
Me.tsExtAppsToolbar.Size = New System.Drawing.Size(111, 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.MaximumSize = New System.Drawing.Size(0, 25)
|
||||
Me.tsExternalTools.TabIndex = 17
|
||||
'
|
||||
'cMenExtAppsToolbar
|
||||
'
|
||||
@@ -613,30 +705,107 @@ Partial Class frmMain
|
||||
Me.cMenToolbarShowText.Size = New System.Drawing.Size(128, 22)
|
||||
Me.cMenToolbarShowText.Text = "Show Text"
|
||||
'
|
||||
'tmrShowUpdate
|
||||
'tsQuickConnect
|
||||
'
|
||||
Me.tmrShowUpdate.Enabled = True
|
||||
Me.tmrShowUpdate.Interval = 5000
|
||||
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.MaximumSize = New System.Drawing.Size(0, 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.MaximumSize = New System.Drawing.Size(0, 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"
|
||||
'
|
||||
'tmrAutoSave
|
||||
'
|
||||
Me.tmrAutoSave.Interval = 10000
|
||||
'
|
||||
'mMenViewResetLayout
|
||||
'
|
||||
Me.mMenViewResetLayout.Name = "mMenViewResetLayout"
|
||||
Me.mMenViewResetLayout.Size = New System.Drawing.Size(228, 22)
|
||||
Me.mMenViewResetLayout.Text = "Reset Layout"
|
||||
'
|
||||
'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.Icon = Global.mRemoteNG.My.Resources.Resources.mRemote_Icon
|
||||
Me.MainMenuStrip = Me.msMain
|
||||
Me.Name = "frmMain"
|
||||
Me.Opacity = 0
|
||||
Me.Text = "mRemoteNG"
|
||||
Me.msMain.ResumeLayout(False)
|
||||
Me.msMain.PerformLayout()
|
||||
@@ -645,9 +814,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
|
||||
@@ -660,10 +831,9 @@ 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 mMenToolsSep1 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents mMenToolsOptions As System.Windows.Forms.ToolStripMenuItem
|
||||
@@ -684,10 +854,9 @@ Partial Class frmMain
|
||||
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 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
|
||||
@@ -713,5 +882,27 @@ Partial Class frmMain
|
||||
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
|
||||
|
||||
@@ -124,8 +124,8 @@
|
||||
<data name="mMenViewConfig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALAgAA
|
||||
CwIBm8luNgAAArhJREFUOE91U91LU3EYnt0GjUYSgv+EoDeCgXkhiuBAL7swoTWUEryYF2JXQlebTIlK
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK/wAA
|
||||
Cv8BNGKaggAAArhJREFUOE91U91LU3EYnt0GjUYSgv+EoDeCgXkhiuBAL7swoTWUEryYF2JXQlebTIlK
|
||||
pA1bmfODND+DpqUzt5Vfm7NtZx9n52xnui9zm/m5p9/vlINcHnjhnPf83ud5n/d9fhIAkv9FQ0NDrU6n
|
||||
29fr9cnS0tKqq87lFQ8MDNxqaWm5oVKpjPFEEql0Gp2dnYb29vbrGo3m9mWgHIDBYGh7PzmZ1en1gtE4
|
||||
kgoLEYTCAmLxOE5OTzExMXHw2mAQTCZT9vmLF8oLIBFAJpNde/N2iGP5EOKJhBh70SjYIAchEsHu3h4O
|
||||
@@ -143,8 +143,8 @@
|
||||
<data name="mMenViewSessions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALAgAA
|
||||
CwIBm8luNgAAA4RJREFUOE9lk21MU3cUh/9L5pxabCoz2YsmLiwbDp0TddMU1sLo7e3LtZTSQim2ILft
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK/wAA
|
||||
Cv8BNGKaggAAA4RJREFUOE9lk21MU3cUh/9L5pxabCoz2YsmLiwbDp0TddMU1sLo7e3LtZTSQim2ILft
|
||||
ENoKtIVSXksEKRStwwoVDSZGCGPIyDbYCG5s02TZFudCtiDIjNFszjiWrFmZWf3tln2Z8uHJOV/Oc345
|
||||
ySEAyP9hd24gcUo4zKmJrzRlJk6HVIJol4IfrcsQ3M1LfaaUShE8KdnKJ3EeGY6LatIEy7iFG/i+DP6V
|
||||
EPMUAsrVCKr5aFcKYN2bEMnf94KqlE4mVurllYJgFo/EOZ6xZkso+zl80KDExVoanqxE2IU8FO5YjSbd
|
||||
@@ -275,8 +275,8 @@
|
||||
<metadata name="cMenExtAppsToolbar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 56</value>
|
||||
</metadata>
|
||||
<metadata name="tmrShowUpdate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>112, 17</value>
|
||||
<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="tmrAutoSave.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>252, 17</value>
|
||||
|
||||
@@ -1,208 +1,332 @@
|
||||
Imports mRemote.App.Runtime
|
||||
Imports WeifenLuo.WinFormsUI.Docking
|
||||
Imports mRemoteNG.App.Runtime
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports Crownwood
|
||||
Imports mRemote.App.Native
|
||||
Imports mRemoteNG.App.Native
|
||||
Imports PSTaskDialog
|
||||
Imports mRemoteNG.Config
|
||||
Imports mRemoteNG.Themes
|
||||
|
||||
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 = False
|
||||
MainForm = Me
|
||||
|
||||
ApplyLanguage()
|
||||
Startup.CheckCompatibility()
|
||||
|
||||
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)
|
||||
AddHandler ThemeManager.ThemeChanged, AddressOf ApplyThemes
|
||||
ApplyThemes()
|
||||
|
||||
Startup.CreateLogger()
|
||||
fpChainedWindowHandle = SetClipboardViewer(Me.Handle)
|
||||
|
||||
sL.Load()
|
||||
MessageCollector = New Messages.Collector(Windows.errorsForm)
|
||||
|
||||
mC = New Messages.Collector(Windows.errorsForm)
|
||||
WindowList = New UI.Window.List
|
||||
|
||||
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
|
||||
Tools.IeBrowserEmulation.Register()
|
||||
|
||||
Startup.GetConnectionIcons()
|
||||
Startup.GetPuttySessions()
|
||||
App.Runtime.GetExtApps()
|
||||
GetExtApps()
|
||||
Windows.treePanel.Focus()
|
||||
|
||||
Tree.Node.TreeView = Windows.treeForm.tvConnections
|
||||
|
||||
'insert new edition code here
|
||||
Dim edSpanlink As New App.Editions.Spanlink
|
||||
If My.Settings.FirstStart And _
|
||||
Not My.Settings.LoadConsFromCustomLocation And _
|
||||
Not IO.File.Exists(GetStartupConnectionFileName()) Then
|
||||
NewConnections(GetStartupConnectionFileName())
|
||||
End If
|
||||
|
||||
'LoadCredentials()
|
||||
LoadConnections()
|
||||
If Not IsConnectionsFileLoaded Then
|
||||
Application.Exit()
|
||||
Return
|
||||
End If
|
||||
|
||||
PuttySessions.StartWatcher()
|
||||
|
||||
If My.Settings.StartupComponentsCheck Then
|
||||
Windows.Show(UI.Window.Type.ComponentsCheck)
|
||||
End If
|
||||
|
||||
If Not My.Settings.CheckForUpdatesAsked Then
|
||||
Windows.Show(UI.Window.Type.Options)
|
||||
Windows.optionsForm.ShowUpdatesTab()
|
||||
My.Settings.CheckForUpdatesAsked = True
|
||||
End If
|
||||
#If PORTABLE Then
|
||||
mMenInfoAnnouncements.Visible = False
|
||||
mMenToolsUpdate.Visible = False
|
||||
mMenInfoSep2.Visible = False
|
||||
#End If
|
||||
|
||||
Startup.UpdateCheck()
|
||||
Startup.AnnouncementCheck()
|
||||
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
|
||||
mMenInfoForum.Text = Language.Base.Menu_Forum
|
||||
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
|
||||
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.strScreenshots
|
||||
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
|
||||
|
||||
Public Sub ApplyThemes()
|
||||
With ThemeManager.ActiveTheme
|
||||
pnlDock.DockBackColor = .WindowBackgroundColor
|
||||
tsContainer.BackColor = .ToolbarBackgroundColor
|
||||
tsContainer.ForeColor = .ToolbarTextColor
|
||||
tsContainer.TopToolStripPanel.BackColor = .ToolbarBackgroundColor
|
||||
tsContainer.TopToolStripPanel.ForeColor = .ToolbarTextColor
|
||||
tsContainer.BottomToolStripPanel.BackColor = .ToolbarBackgroundColor
|
||||
tsContainer.BottomToolStripPanel.ForeColor = .ToolbarTextColor
|
||||
tsContainer.LeftToolStripPanel.BackColor = .ToolbarBackgroundColor
|
||||
tsContainer.LeftToolStripPanel.ForeColor = .ToolbarTextColor
|
||||
tsContainer.RightToolStripPanel.BackColor = .ToolbarBackgroundColor
|
||||
tsContainer.RightToolStripPanel.ForeColor = .ToolbarTextColor
|
||||
tsContainer.ContentPanel.BackColor = .ToolbarBackgroundColor
|
||||
tsContainer.ContentPanel.ForeColor = .ToolbarTextColor
|
||||
msMain.BackColor = .ToolbarBackgroundColor
|
||||
msMain.ForeColor = .ToolbarTextColor
|
||||
ApplyMenuColors(msMain.Items)
|
||||
tsExternalTools.BackColor = .ToolbarBackgroundColor
|
||||
tsExternalTools.ForeColor = .ToolbarTextColor
|
||||
tsQuickConnect.BackColor = .ToolbarBackgroundColor
|
||||
tsQuickConnect.ForeColor = .ToolbarTextColor
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ApplyMenuColors(itemCollection As ToolStripItemCollection)
|
||||
With ThemeManager.ActiveTheme
|
||||
Dim menuItem As ToolStripMenuItem
|
||||
For Each item As ToolStripItem In itemCollection
|
||||
item.BackColor = .MenuBackgroundColor
|
||||
item.ForeColor = .MenuTextColor
|
||||
|
||||
menuItem = TryCast(item, ToolStripMenuItem)
|
||||
If menuItem IsNot Nothing Then
|
||||
ApplyMenuColors(menuItem.DropDownItems)
|
||||
End If
|
||||
Next
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
#If PORTABLE Then
|
||||
Return
|
||||
#End If
|
||||
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
|
||||
Return
|
||||
End If
|
||||
|
||||
If Not My.Settings.CheckForUpdatesOnStartup Then Return
|
||||
|
||||
Dim nextUpdateCheck As Date = My.Settings.CheckForUpdatesLastCheck.Add(TimeSpan.FromDays(My.Settings.CheckForUpdatesFrequencyDays))
|
||||
If My.Settings.UpdatePending Or Date.UtcNow > nextUpdateCheck Then
|
||||
If Not IsHandleCreated Then CreateHandle() ' Make sure the handle is created so that InvokeRequired returns the correct result
|
||||
Startup.CheckForUpdate()
|
||||
Startup.CheckForAnnouncement()
|
||||
End If
|
||||
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
|
||||
Dim Result As DialogResult = cTaskDialog.MessageBox(Me, My.Application.Info.AssemblyName, My.Resources.strConfirmExitMainInstruction, "", "", "", My.Resources.strDoNotShowThisMessageAgain, eTaskDialogButtons.YesNo, eSysIcons.Question, Nothing)
|
||||
If cTaskDialog.VerificationChecked Then
|
||||
My.Settings.ConfirmExit = False
|
||||
End If
|
||||
If Result = DialogResult.No Then
|
||||
e.Cancel = True
|
||||
Exit Sub
|
||||
If Not (WindowList Is Nothing OrElse WindowList.Count = 0) Then
|
||||
Dim connectionWindow As UI.Window.Connection
|
||||
Dim openConnections As Integer = 0
|
||||
For Each window As UI.Window.Base In WindowList
|
||||
connectionWindow = TryCast(window, UI.Window.Connection)
|
||||
If connectionWindow IsNot Nothing Then
|
||||
openConnections = openConnections + connectionWindow.TabController.TabPages.Count
|
||||
End If
|
||||
Next
|
||||
|
||||
If openConnections > 0 And _
|
||||
(My.Settings.ConfirmCloseConnection = ConfirmClose.All Or _
|
||||
(My.Settings.ConfirmCloseConnection = ConfirmClose.Multiple And openConnections > 1) Or _
|
||||
My.Settings.ConfirmCloseConnection = ConfirmClose.Exit) 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.ConfirmCloseConnection = My.Settings.ConfirmCloseConnection - 1
|
||||
End If
|
||||
If result = DialogResult.No Then
|
||||
e.Cancel = True
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
For Each Window As UI.Window.Base In wL
|
||||
Window.Close()
|
||||
Next
|
||||
Shutdown.Cleanup()
|
||||
|
||||
App.Runtime.Shutdown.BeforeQuit()
|
||||
_isClosing = True
|
||||
|
||||
If WindowList IsNot Nothing Then
|
||||
For Each window As UI.Window.Base In WindowList
|
||||
window.Close()
|
||||
Next
|
||||
End If
|
||||
|
||||
Shutdown.StartUpdate()
|
||||
|
||||
Debug.Print("[END] - " & Now)
|
||||
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
|
||||
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
|
||||
|
||||
If App.Runtime.IsAnnouncementAvailable Then
|
||||
App.Runtime.Windows.Show(UI.Window.Type.Announcement)
|
||||
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)
|
||||
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 index As Integer = tsExternalTools.Items.Count - 1 To 0 Step -1
|
||||
tsExternalTools.Items(index).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
|
||||
If Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.Connection Or _
|
||||
Tree.Node.GetNodeType(Tree.Node.SelectedNode) = Tree.Node.Type.PuttySession 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
|
||||
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
|
||||
@@ -213,19 +337,89 @@ 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(Tree.Node.SelectedNode)
|
||||
Case Tree.Node.Type.Root
|
||||
mMenFileNewConnection.Enabled = True
|
||||
mMenFileNewFolder.Enabled = True
|
||||
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
|
||||
mMenFileNewConnection.Enabled = True
|
||||
mMenFileNewFolder.Enabled = True
|
||||
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
|
||||
mMenFileNewConnection.Enabled = True
|
||||
mMenFileNewFolder.Enabled = True
|
||||
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 Tree.Node.Type.PuttyRoot, Tree.Node.Type.PuttySession
|
||||
mMenFileNewConnection.Enabled = False
|
||||
mMenFileNewFolder.Enabled = False
|
||||
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
|
||||
Case Else
|
||||
mMenFileNewConnection.Enabled = True
|
||||
mMenFileNewFolder.Enabled = True
|
||||
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
|
||||
@@ -241,12 +435,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"
|
||||
@@ -257,17 +466,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)
|
||||
@@ -346,7 +561,7 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Private Sub mMenViewResetLayout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mMenViewResetLayout.Click
|
||||
If MsgBox(My.Resources.strConfirmResetLayout, MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
If MsgBox(My.Language.strConfirmResetLayout, MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
|
||||
App.Runtime.Startup.SetDefaultLayout()
|
||||
End If
|
||||
End Sub
|
||||
@@ -357,10 +572,10 @@ Public Class frmMain
|
||||
|
||||
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
|
||||
@@ -375,14 +590,10 @@ Public Class frmMain
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Fullscreen As New Tools.Misc.Fullscreen(Me)
|
||||
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
|
||||
Fullscreen.Value = Not Fullscreen.Value
|
||||
mMenViewFullscreen.Checked = Fullscreen.Value
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -429,7 +640,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
|
||||
@@ -438,29 +649,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
|
||||
|
||||
@@ -528,7 +739,7 @@ Public Class frmMain
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub AddNodeToMenu(ByVal tnc As TreeNodeCollection, ByVal menToolStrip As ToolStripMenuItem)
|
||||
Private Shared Sub AddNodeToMenu(ByVal tnc As TreeNodeCollection, ByVal menToolStrip As ToolStripMenuItem)
|
||||
Try
|
||||
For Each tNode As TreeNode In tnc
|
||||
Dim tMenItem As New ToolStripMenuItem()
|
||||
@@ -541,23 +752,24 @@ Public Class frmMain
|
||||
|
||||
menToolStrip.DropDownItems.Add(tMenItem)
|
||||
AddNodeToMenu(tNode.Nodes, tMenItem)
|
||||
ElseIf Tree.Node.GetNodeType(tNode) = Tree.Node.Type.Connection Then
|
||||
ElseIf Tree.Node.GetNodeType(tNode) = Tree.Node.Type.Connection Or _
|
||||
Tree.Node.GetNodeType(tNode) = Tree.Node.Type.PuttySession 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
|
||||
AddHandler tMenItem.MouseUp, AddressOf ConMenItem_MouseUp
|
||||
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)
|
||||
Private Shared Sub ConMenItem_MouseUp(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 Connection.Info Then
|
||||
App.Runtime.OpenConnection(sender.Tag)
|
||||
End If
|
||||
End If
|
||||
@@ -565,40 +777,67 @@ Public Class frmMain
|
||||
#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
|
||||
Private _inSizeMove As Boolean = False
|
||||
Private Sub frmMain_ResizeBegin(ByVal sender As Object, ByVal e As EventArgs) Handles Me.ResizeBegin
|
||||
_inSizeMove = True
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_Resize(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Resize
|
||||
If WindowState = FormWindowState.Minimized Then
|
||||
If My.Settings.MinimizeToTray Then
|
||||
If App.Runtime.SysTrayIcon Is Nothing Then
|
||||
App.Runtime.SysTrayIcon = New Tools.Controls.SysTrayIcon()
|
||||
If NotificationAreaIcon Is Nothing Then
|
||||
NotificationAreaIcon = New Tools.Controls.NotificationAreaIcon()
|
||||
End If
|
||||
Me.Hide()
|
||||
Hide()
|
||||
End If
|
||||
Else
|
||||
prevWindowsState = Me.WindowState
|
||||
PreviousWindowState = WindowState
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private bWmGetTextFlag As Boolean = False
|
||||
Private bWmWindowPosChangedFlag As Boolean = False
|
||||
Private Sub frmMain_ResizeEnd(ByVal sender As Object, ByVal e As EventArgs) Handles Me.ResizeEnd
|
||||
_inSizeMove = False
|
||||
|
||||
' This handles activations from clicks that started a size/move operation
|
||||
ActivateConnection()
|
||||
End Sub
|
||||
|
||||
Private _inMouseActivate As Boolean = False
|
||||
Protected Overloads Overrides Sub WndProc(ByRef m As Message)
|
||||
Try
|
||||
'Debug.Print(m.Msg)
|
||||
|
||||
Select m.Msg
|
||||
Case WM_GETTEXT
|
||||
bWmGetTextFlag = True
|
||||
Case WM_WINDOWPOSCHANGED
|
||||
If bWmGetTextFlag Then
|
||||
ActivateConnection()
|
||||
End If
|
||||
|
||||
bWmGetTextFlag = False
|
||||
bWmWindowPosChangedFlag = True
|
||||
Select Case m.Msg
|
||||
Case WM_MOUSEACTIVATE
|
||||
_inMouseActivate = True
|
||||
Case WM_ACTIVATEAPP
|
||||
If bWmWindowPosChangedFlag Then
|
||||
ActivateConnection()
|
||||
_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
|
||||
|
||||
Dim control As Control = FromChildHandle(WindowFromPoint(MousePosition))
|
||||
If Not IsNothing(control) Then
|
||||
' Let TreeViews and ComboBoxes get focus but don't simulate a mouse event
|
||||
If TypeOf control Is TreeView Or TypeOf control Is ComboBox Then Exit Select
|
||||
|
||||
If control.CanSelect Or TypeOf control Is MenuStrip Or TypeOf control Is ToolStrip Or TypeOf control Is Magic.Controls.TabControl 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
|
||||
|
||||
' This handles activations from clicks that did not start 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
|
||||
@@ -606,9 +845,13 @@ Public Class frmMain
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Case Else
|
||||
bWmGetTextFlag = False
|
||||
bWmWindowPosChangedFlag = False
|
||||
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
|
||||
@@ -631,6 +874,32 @@ Public Class frmMain
|
||||
Private Sub pnlDock_ActiveDocumentChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles pnlDock.ActiveDocumentChanged
|
||||
ActivateConnection()
|
||||
End Sub
|
||||
|
||||
Public Sub ShowHidePanelTabs(Optional closingDocument As DockContent = Nothing)
|
||||
Dim newDocumentStyle As DocumentStyle = pnlDock.DocumentStyle
|
||||
|
||||
If My.Settings.AlwaysShowPanelTabs Then
|
||||
newDocumentStyle = DocumentStyle.DockingWindow ' Show the panel tabs
|
||||
Else
|
||||
Dim nonConnectionPanelCount As Integer = 0
|
||||
For Each document As DockContent In pnlDock.Documents
|
||||
If (closingDocument Is Nothing OrElse document IsNot closingDocument) And Not TypeOf document Is UI.Window.Connection Then
|
||||
nonConnectionPanelCount = nonConnectionPanelCount + 1
|
||||
End If
|
||||
Next
|
||||
|
||||
If nonConnectionPanelCount = 0 Then
|
||||
newDocumentStyle = DocumentStyle.DockingSdi ' Hide the panel tabs
|
||||
Else
|
||||
newDocumentStyle = DocumentStyle.DockingWindow ' Show the panel tabs
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not pnlDock.DocumentStyle = newDocumentStyle Then
|
||||
pnlDock.DocumentStyle = newDocumentStyle
|
||||
pnlDock.Size = New Size(1, 1)
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "Screen Stuff"
|
||||
@@ -640,21 +909,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
|
||||
End Class
|
||||
|
||||
300
mRemoteV1/Forms/frmOptions.resx
Normal file
@@ -0,0 +1,300 @@
|
||||
<?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
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD+
|
||||
JgAAAk1TRnQBSQFMAgEBCAEAAVABAQFQAQEBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABMAMAAQEBAAEgBgABMP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8ALgAB4gHvAfQB/wGo
|
||||
AckB1wH/AWcBpAG2Af8BSgGGAZwB/wE1AVwBigH/ATABVwGHAf8BMAFhAZUB/wFDAY4BqwH/AY8BtwHN
|
||||
Af8B3QHqAfEB/wwAA1cBtwOfAf8DmgH/A5YB/wORAf8DjQH/A4kB/wOEAf8DgAH/A1IB/wNOAf8DSgH/
|
||||
A0cB/wNDAf8DQAH/A1cBtxgAAw0BEgNWAbYDVgG2Aw0BEWAAAa0BzwHfAf8BQgGRAa0B/wFHAaMBvwH/
|
||||
AWMBwAHUAf8BlQHZAeYB/wGBAdsB8AH/ATsBxgHsAf8BDwGqAd0B/wEBAZIBxwH/AQ0BgAGsAf8BJAFc
|
||||
AZIB/wGdAb8B0QH/CAADqAH/A+kB/wPTAf8D0gH/A9EB/wPQAf8DzgH/A80B/wPNAf8DywH/A8sB/wPK
|
||||
Af8DyQH/A8gB/wPiAf8DQAH/GAADXgHZA+QB/wPjAf8DWAHBMAADQQFyAUwCXwHzAVkCXAHPAUsCTAGQ
|
||||
AyMBMxwAAUUBhAGbAf8BLwG9AecB/wFSAdMB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/ATsBygHw
|
||||
Af8BCQG2Ae0B/wEAAacB6AH/AQABoQHhAf8BAAGWAdIB/wEoAUkBZQH/CAADrQH/A9YB/wO6Af8DuAH/
|
||||
A7UB/wOzAf8DsQH/A7AB/wOtAf8DqwH/A6oB/wOoAf8DpwH/A6YB/wPIAf8DRAH/CAADCwEPA1QBrQM6
|
||||
AWEDPwFuA2cB+AHiAeEB3wH/AeEB4AHfAf8DXwHzAzwBZwM8AWYDUwGtAwsBDxwAAyEBMAIrAWIB/AGG
|
||||
Aa0B4QH/AVQBqAHcAf8BNQGSAckB/wEGAUgBqwH/AVUCVgGxAx8BLRQAAUgBhwGeAf8BLgHEAfAB/wFU
|
||||
AdQB8QH/AYwB4wH0Af8BogHrAfYB/wGDAd8B9AH/ATsBygHwAf8BCQG2Ae0B/wEAAagB6AH/AQABoQHh
|
||||
Af8BAAGcAdoB/wEpAUoBZwH/CAADsQH/A9kB/wO9Af8DugH/A7gB/wO2Af8DtQH/A7MB/wOwAf8DrwH/
|
||||
A60B/wOrAf8DqQH/A6gB/wPKAf8DSAH/CAADWgHFBP8ChAGDAf4CgwGCAf4C5wHmAf8B1gHVAdMB/wHX
|
||||
AdYB1AH/AeMB4gHgAf8DfwH+A6gB/QHpAegB5gH/A1gBwRwAAVQCVgGrAUMBnQHRAf8BmQG8AesB/wFH
|
||||
AaAB4wH/AZYBuQHqAf8BlAG4AeoB/wE2AZMBygH/AisBXgH8A0MBeBAAAUoBiQGgAf8BLgHEAe8B/wFT
|
||||
AdQB8QH/AY0B4wH0Af8BogHrAfYB/wGCAd8B8wH/ATwBygHwAf8BCQG2Ae0B/wEAAagB6AH/AQABoQHh
|
||||
Af8BAAGcAdoB/wErAU0BaQH/CAADtgH/A90B/wPBAf8DvQH/A7wB/wO6Af8DuAH/A7UB/wO0Af8DsgH/
|
||||
A7AB/wOtAf8DrAH/A6wB/wPPAf8DTAH/CAADZAHnAvkB9wH/Au8B7gH/AtsB2gH/AcoCyQH/AckByAHG
|
||||
Af8ByQHIAccB/wHJAcgBxwH/AssByQH/AeYB5QHkAf8B5QHkAeIB/wNlAeUYAAMfAS0BKwE2AWYB/AGd
|
||||
Ab8B7AH/AT8BnAHiAf8BMQGTAd8B/wEuAZEB3wH/ATUBlAHgAf8BlQG4AeoB/wGGAa0B4QH/AR8BgwG7
|
||||
Af8BSwJMAZAMAAFMAYwBogH/ATABxgHwAf8BVQHUAfEB/wGMAeMB9AH/AaIB6wH2Af8BggHfAfQB/wE8
|
||||
AcoB8AH/AQkBtgHtAf8BAAGoAegB/wEAAaIB4gH/AQABmwHbAf8BLQFQAYAB/wgAA1oBvQPaAf8DyAH/
|
||||
A8AB/wO/Af8DvQH/A7oB/wO4Af8DtwH/A7UB/wOzAf8DsAH/A68B/wOzAf8DwgH/A1oBvQgAA04BlQH2
|
||||
AfUB9AH/AeYB5QHkAf8BvwG+Ab0B/wLrAeoB/wHUAdMB0gH/AdYB1QHUAf8B4gLhAf8CtAGzAf8B1wHW
|
||||
AdQB/wHiAeEB3wH/A0oBjQwAAysBQgNIAYQBVQJXAbcBTAJfAfMBTAGkAdcB/wGhAcIB7QH/AZ8BwAHt
|
||||
Af8BnQG/Ae0B/wFKAaMB5AH/ATABkgHfAf8BLgGQAd4B/wFRAacB5gH/AZIBtgHoAf8BGQFVAbcB/wM3
|
||||
AVoIAAFPAY8BpQH/ATEBxgHwAf8BVQHUAfIB/wGNAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wE7AcoB8AH/
|
||||
AQkBtgHtAf8BAAGnAegB/wEAAaEB4gH/AQABnAHbAf8BLwFTAYMB/wgAA1oBvQPjAf8D5wH/A+EB/wPg
|
||||
Af8D4AH/A98B/wPfAf8D3gH/A90B/wPdAf8D3AH/A9sB/wPgAf8D0AH/A1oBvQMLAQ8DVQG1A2QB5wHk
|
||||
AeMB4gH/AdEB0AHPAf8C8AHvAf8DrgH/A2QB8QNnAfICrAGrAf8C6AHnAf8CywHKAf8B4AHfAd0B/wNh
|
||||
AeQDVQG1AwsBDwNMAZMBOgGXAc8B/wFRAagB2QH/AY0BtAHiAf8BowHEAe0B/wGnAccB7gH/AToBlwHN
|
||||
Af8BCgFLAbIB/wE1AZMByQH/AZ8BwAHtAf8BTgGWAaMB/wGeAZYBHgH/AVIBlAGRAf8BjQGzAekB/wFP
|
||||
AaUB2AH/AVoCXgHYCAABUAGSAagB/wExAcUB8AH/AVYB1AHyAf8BjQHjAfQB/wGiAesB9gH/AYIB3wH0
|
||||
Af8BOwHKAfAB/wEJAbYB7QH/AQABpwHoAf8BAAGhAeEB/wEAAZwB2wH/ATEBVgGGAf8IAAMpAT8DzgH/
|
||||
A+wB/wPeAf8D2AH/A9IB/wPMAf8DyAH/A8cB/wPIAf8DywH/A9AB/wPdAf8D6AH/A6QB/wMrAUIDPwFt
|
||||
AuQB4wH/AdgB1gHVAf8B0gHRAdAB/wHFAcQBwwH/Ae0B7AHrAf8DVwG6CAADXAHNAegB5wHmAf8BtgG1
|
||||
AbQB/wHWAdUB0wH/AeIB4QHgAf8C4AHfAf8DPAFmAUgCYgH2Aa4BzQHwAf8BsAHPAfAB/wGYAb8B7AH/
|
||||
AVQBrgHnAf8BqgHKAe8B/wETAVEBuAH/BAABCwFMAbMB/wGiAcMB7QH/AagBlwEHAf8BxAG1ATAB/wGs
|
||||
AZcBAAH/ATEBkwHfAf8BmAG7AesB/wEAAToBnwH/CAABUwGVAasB/wExAcUB8AH/AVYB1AHyAf8BjQHj
|
||||
AfQB/wGiAesB9gH/AYMB3wH0Af8BPAHLAfAB/wEJAbUB7QH/AQABpwHoAf8BAAGhAeIB/wEAAZwB2gH/
|
||||
ATQBWQGIAf8MAANaAb0D4wH/A9sB/wPiAf8BtwHQAbgB/wE6Aa0BPgH/AUwBqgE6Af8BRgGvAT4B/wEs
|
||||
AaUBOAH/AawBxQGsAf8DwgH/A9EB/wPTAf8DWgG9BAADQgF2AewB6wHoAf8B2gHZAdcB/wHUAdMB0QH/
|
||||
AcYBxQHEAf8B3gLcAf8DRgF+CAADUAGaAd0B3AHbAf8ByAHGAcUB/wLiAeEB/wLhAd8B/wHuAe0B7AH/
|
||||
Az8BbwFaAmAB3gGoAckB7QH/AYQBpwHtAf8BLgFAAe0B/wFAAY4B6QH/Aa0BzQHwAf8BQwGdAdIB/wEU
|
||||
AVIBuQH/AT0BmQHOAf8BpQHFAe4B/wGVAZoBPwH/Aa0BlwEAAf8BnQGXASMB/wE8AZsB4gH/AZgBuwHq
|
||||
Af8BSAJiAfYIAAFVAZgBrgH/ATEBxQHwAf8BVgHUAfEB/wGNAeMB9AH/AaIB6wH2Af8BgwHfAfQB/wE8
|
||||
AcoB8AH/AQkBtgHtAf8BAAGoAekB/wEAAaEB4QH/AQABnAHaAf8BNgFbAYoB/wwAAykBPwPRAf8D8wH/
|
||||
AccB3gHKAf8BOgHJAYUB/wGzAdwBpAH/AecBxwFSAf8B3AG/AUkB/wFMAcwBjwH/ASUBrQE+Af8BuAHQ
|
||||
AbgB/wPxAf8DrwH/AysBQgQAAy8BSgNgAesDcgH8Ad4B3QHcAf8BywLKAf8B5gLlAf8DYQHhAzIBUAM4
|
||||
AVwDYAHrAu4B7AH/AcwCywH/AecB5gHlAf8DcgH8A2AB6wMsAUMDUQGcAZIBuQHlAf8BRAFKAfYB/wGB
|
||||
AYQB9QH/AhYB8AH/AZABuwHrAf8BrgHNAfAB/wGsAcwB8AH/AaoBygHwAf8BhQGyAekB/wE0AakBwQH/
|
||||
ARoBswGNAf8BLAGoAbYB/wFGAaEB5AH/AZcBugHoAf8DXQHtCAABWAGbAbAB/wEwAcYB8AH/AVYB1AHy
|
||||
Af8BjQHjAfQB/wGiAesB9gH/AYMB3wH0Af8BPAHKAfAB/wEJAbYB7QH/AQABqAHoAf8BAAGhAeEB/wEA
|
||||
AZwB2gH/ATkBXwGOAf8QAANaAb0DxAH/AUwBzgGLAf8BmQHkAasB/wGwAcUBMwH/AeoBtQEeAf8B4QGi
|
||||
AQ8B/wGlAZ0BFgH/AYIBxQGPAf8BHwGaASwB/wOgAf8DWgG9EAADXgHOAeEB4AHeAf8B2QHXAdYB/wG4
|
||||
ArcB/wHhAeAB3wH/A6gB/QOoAf0C9gH1Af8CwAG/Af8B6gHpAegB/wLzAfIB/wNcAckIAAMjATMBKwFb
|
||||
AXEB/AGSAaQB9QH/AS8BMAH2Af8BJwGGAfQB/wERAaYB+wH/ATIBqwHyAf8BVAGvAecB/wFRAa0B5wH/
|
||||
AU4BqgHmAf8BFQG2AYAB/wE2AcgBlwH/AREBtwFQAf8BUwGsAecB/wGPAbUB4wH/AVoCXgHVCAABWwGf
|
||||
AbMB/wEwAcYB8AH/AVQB1AHxAf8BjAHjAfQB/wGiAesB9gH/AYMB3wH0Af8BPAHKAfAB/wEJAbYB7QH/
|
||||
AQABpwHoAf8BAAGhAeEB/wEAAZsB2gH/ATsBYgGQAf8YAAFYAXQBYwH8AaIB6QGVAf8B1gHPAT8B/wHi
|
||||
AbMBHQH/AdEBuwElAf8BwgGuARgB/wGCAb0BQgH/ASsBaQFAAfwYAANMAZEB4wHiAeAB/wLeAdwB/wHh
|
||||
AeAB3wH/AcwCywH/AcQBwwHCAf8CzwHOAf8C3gHdAf8C8AHvAf8C8AHvAf8C9gH1Af8DSAGHDAADSQGH
|
||||
AYYBrwHhAf8BuQHXAfMB/wEIAaYB/gH/AUIBvwL/AQEBowL/ATwBvgHwAf8BEAHOAfsB/wEwAb4B8QH/
|
||||
ASgBswGgAf8BEQG3AU8B/wEdAbMBkAH/AacByAHuAf8BTQGlAdYB/wFPAlEBnAgAAVwBoQG1Af8BVgHV
|
||||
AfQB/wGaAegB9wH/AbUB8wH6Af8BwgH4AfwB/wHDAfgB/QH/AcEB9wH9Af8BrwHwAfsB/wGPAeIB9wH/
|
||||
AVUB0AHwAf8BKQG4AeUB/wE+AWUBkwH/GAABWgF0AWQB/AGiAfABnwH/AdgB7QGvAf8B3gHFAT4B/wG0
|
||||
AeIBOwH/ATYB5wEPAf8BQQHXAUEB/wErAWsBVQH8FAADAQECA18B4wHlAeQB4QH/Au4B7QH/Au4B7QH/
|
||||
AusB6gH/AeMB4gHhAf8C6AHnAf8C6gHpAf8C8wHyAf8C9QH0Af8B+gH5AfgB/wNcAd8MAAMEAQYDUQGf
|
||||
AYUBrgHhAf8BMAGyAfkB/wEBAaMC/wEWAakB+wH/AQYB0wH+Af8BQgHiAv8BAQHVAv8BVQGwAegB/wFS
|
||||
Aa0B5wH/AakBygHvAf8BpQHFAe0B/wErAT4BaAH8AyEBMAgAAV8BowG4Af8BxQH5Af0B/wHFAfkB/QH/
|
||||
AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5Af0B/wHFAfkB/QH/AcUB+QH9Af8BxQH5
|
||||
Af0B/wFAAWgBlQH/GAADYQHcAcgB9wHUAf8B2AH2AcoB/wHnAeMBqQH/AdsBzwFCAf8BrwHcAT4B/wGd
|
||||
AeoBqwH/A18B4BgAA0ABbwN/Af4DZAHnA18B8wHoAecB5gH/AecB5gHlAf8C7QHsAf8C+wH6Af8DZwHy
|
||||
A2QB5wN/Af4DPQFoFAADQgF1AV8CYgH2AY4BtgHjAf8BuQHXAfMB/wEzAdUB+wH/AQAB1QL/ARcB0QH7
|
||||
Af8BswHSAfIB/wGxAdAB8QH/AZIBuAHiAf8BOAGVAcwB/wNKAYoMAAG3AdcB4QH/AYwBvQHMAf8BnQHP
|
||||
AdsB/wGtAd8B6AH/AbkB7AHzAf8BwgH1AfoB/wHCAfUB+gH/AbgB6wHxAf8BqQHaAeMB/wGUAcQB0QH/
|
||||
AWYBqAG4Af8BqQHFAdEB/xgAAy0BRQFNAXABZwH6AdsB+AHpAf8B5wHyAdgB/wHtAeUBswH/Ad8B2QGm
|
||||
Af8BXwF/AV8B+wMyAVAgAAMPARQDCgEOA1MBqgHvAe4B7QH/AvQB8wH/A1IBpAMIAQsDEQEXIAADFgEe
|
||||
A1QBrgFMAaMB3AH/AZEBuAHkAf8BqAHKAewB/wGlAccB7AH/AY0BtQHiAf8BPgGaAdIB/wFaAl8B2wMx
|
||||
AU4QAAL+Av8B4wHxAfQB/wG5AdcB4QH/AZUBvgHMAf8BZgGoAbsB/wFZAZsBsAH/AVUBmAGtAf8BXgGh
|
||||
AbMB/wGMAbIBwgH/AbEBzQHXAf8B3wHrAe8B/wP+Af8cAAMuAUcDXgHZAV4BdAFiAfwBXgFzAV4B/ANe
|
||||
Ad0DMgFQLAADLwFKA10B8ANiAe8DLAFDMAADKwFCA0wBkAFbAl0B0gFZAlwBzwNOAZkDLQFFHAADEQEX
|
||||
A1YBswFTAVQBUwGstAADBAEFAxABFQMfAS0DKQE/Ay8BSQMuAUgDKAE9Ax4BKwMPARQDAwEEEAADtwH/
|
||||
AZwBqAGeAf8BAAFNASgB/wESAZIBSgH/AQABUQEoAf8BAAE+AaAB/wEAATwBngH/AQABOQGbAf8BAAE3
|
||||
AZkB/wEAATUBlwH/AQABMgGUAf8BAAExAZMB/wNCAf8DQgH/CAABVwFQAU0BjwFwAWABVQG1AaQBcgFU
|
||||
Ae4BuQF2AVAB/wG1AXQBTgH/AbMBcwFOAf8BsAFxAU0B/wGsAW8BTAH/AakBbgFMAf8BpwFsAUsB/wGm
|
||||
AWsBSgH/AaABbQFMAf4BlQFoAVEB8QF1AWEBVAHETAADBQEHAx8BLAI+AT0BagJSAVABowFbAlkBxAFd
|
||||
AloB0wFdAloB0wFbAlkBwwFSAlEBoQM8AWYDHAEoAwQBBgwAAxUBHQNRAaIBFwGVAU4B/wGCAb4BqgH/
|
||||
ASYBpQGCAf8BBwGXAUAB/wEKAZkBRQH/AQ4BmQFJAf8BEgGdAU4B/wFMAaoB0gH/AUoBqAHRAf8BAAEz
|
||||
AZUB/xAAAZYBcgFVAd4w/wGSAWkBUAHtSwABAQMSARgDPgFrAV0CWQHXAUYCKwH8AawBIwEAAf8B4QFD
|
||||
ARcB/wHkAVUBKwH/AdMBQQEPAf8BowJAAf0BYQJeAdoCPgE9AWoDDwEUCAADGAEiAVABUgFQAaQDVgGz
|
||||
AUMBrAGfAf8BSgG3AZ4B/wFUAbsBrAH/AVQBuwGuAf8BVQG7AbAB/wGAAbwBswH/AQ0BmgFRAf8BKgGV
|
||||
AccB/wFNAasB0wH/AQABNgGYAf8QAAG8AX8BVwH+BP8BrgFkASkB/wGsAWEBKAH/AawBYQEoBf8BUwGq
|
||||
AVoB/wFOAaUBVAH/AUkBoAFPAf8BRAGbAUkB/wFBAZcBRgH/AT0BkwFCBf8BoQFuAU0B/kwAAxsBJgNZ
|
||||
AdIBEwIAAf8BigEyARoB/wHKAYYBPAH/AfYBvAGcAf8B+QHMAbcB/wHjAaABTgH/AbEBTQEzAf8BTwEp
|
||||
AQoB/wFeAlgB3QMcASgIAAFVAVYBVQGxA1YBswNWAbMBMgGkAZEB/wFFAbYBmwH/AT4BsgGbAf8BQAGy
|
||||
AZ4B/wFCAbMBoQH/AYUBvwG2Af8BFAGeAYIB/wEvAZkByQH/AVEBrQHUAf8BAAE6AZwB/xAAAcMBhQFX
|
||||
Bf8BrgFkASkB/wHNAZ4BcQH/AawBYQEoBf8BSAGeAU0B/wFtAckBeAH/AW0ByQF4Af8BbAHIAXcB/wFr
|
||||
AccBdQH/ATsBkgFABf8BpwFuAUwB/wQAA50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
|
||||
A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wgAAVMCTwGlASoBDwEAAf8BTwE6ASUB/wGPAUwBNwH/
|
||||
AawBiAFBAf8BwgGjAYgB/wHBAaUBjgH/AbMBmAGBAf8BkQFMATYB/wFKATEBHAH/ATkBEgEAAf8BVgJV
|
||||
AbEIAAMIAQsDVQGyA1YBswFMAbIBqAH/AVMBvQGnAf8BhwHBAbUB/wGGAcEBtgH/AYcBwQG3Af8BiAHB
|
||||
AbkB/wEaAaIBiAH/ATQBnAHLAf8BVQGwAdUB/wEAAT0BnwH/EAABxAGFAVgF/wGuAWQBKQH/Ac0BnwFy
|
||||
Af8BrAFhASgF/wFLAaIBUQH/AXABygF6Af8BbwHKAXoB/wFuAckBeQH/AWwByAF3Af8BPgGUAUMF/wGr
|
||||
AW8BTQH/BAADnQH/AboCvQH/AeYC7AH/AeYC7QH/AecC7QH/AegC7gH/AekC7wH/AekC7wH/AeoC7wH/
|
||||
AeoC8AH/AesC8AH/AesC8QH/AewC8QH/AewC8QH/Ab0CvwH/A50B/wQAAzkBXwFLASsBEAH/AcMBsQGi
|
||||
Af8BtgGcAYMB/wGmAU8BIgH/AagBTQEfAf8BwwGkAYcB/wHYAcYBsAH/Ab0BqQGLAf8BVQE1ARUB/wEy
|
||||
ARIBAAH/ASgBBAEAAf8BLwEIAQAB/wMzAVMIAAMGAQgDVQGyASUBoAGKAf8BkwHJAboB/wE1Aa8BlwH/
|
||||
ARoBogGDAf8BGwGjAYcB/wEdAaQBiwH/ARwBqgGSAf8BKgHCAe0B/wGBAbQB1wH/AQABQQGjAf8QAAHH
|
||||
AYcBVwX/AbMBawEwAf8B0AGkAXsB/wGxAWkBKwX/AU0BpAFTAf8BcQHLAXsB/wFwAcsBegH/AW8BygF5
|
||||
Af8BbQHJAXgB/wFBAZgBRgX/AbEBcwFOAf8IAANcAeoB2wLiAf8BzQLPAf8DywH/A8wB/wPOAf8DzwH/
|
||||
A9AB/wPSAf8D0wH/A9UB/wHXAtgB/wHnAuwB/wNtAfcEAAMiATEBVgJVAbEBPQERAQAB/wGqAYUBNQH/
|
||||
AbIBSAEGAf8BrQElAQAB/wG6AUIBAAH/AeoB1QG/Af8B/QH8AfoB/wHWAb4BpgH/AZABNQECAf8BOAEG
|
||||
AQAB/wE5ARYBAAH/ATIBEgEAAf8DVwHFAxwBJwgAAwQBBgELAZQBTQH/AUQBuQGeAf8BHwGmAYkB/wFP
|
||||
AbEB1QH/AUsBrQHUAf8BRwGrAdIB/wE1AboB5AH/AQABmQE/Af8BAAGOAS4B/wEAAUYBmgH/EAAByAGJ
|
||||
AVgF/wG2AXMBPQH/AdEBpQGCAf8BtQFwATUF/wFPAacBVgH/AXABywF6Af8BcAHLAXoB/wFvAcoBeQH/
|
||||
AW0ByQF4Af8BRAGbAUoF/wG1AXUBUAH/CAADXAHqAdkC4QH/AcsCzAH/A8cB/wPIAf8DygH/A8sB/wPN
|
||||
Af8DzgH/A9AB/wPRAf8B0wLUAf8B5QLrAf8DbQH3BAADLgFHA1kB7AE4AQYBAAH/AZkBJQEAAf8BuAE9
|
||||
AQAB/wHCATkBAAH/AckBSwEAAf8B5gG/AZQB/wHsAdQBtgH/Ac0BnAE4Af8BqAFCAQIB/wGZAUMBFwH/
|
||||
AaMBjAFIAf8BVQE8ASUB/wJRAT8B9wE1AjQBVQwAAS4BjgHEAf8BKAGsAYsB/wElAaoBjwH/AVQBtQHY
|
||||
Af8BUAGyAdYB/wFNAa8B1QH/AUkBrAHTAf8BAAGQATgB/wEvAagBhAH/AQABTgEpAf8DFAEbDAABygGL
|
||||
AVkF/wG7AXwBUQH/AbkBegFJAf8BuQF5AUcF/wFDAZoBSQH/AVABpwFWAf8BTgGlAVQB/wFMAaMBUgH/
|
||||
AUoBoQFQAf8BRwGeAU0F/wG4AXkBUQH/CAADXAHqAdcC3wH/AccCyQH/A8IB/wPEAf8DxQH/A8gB/wPJ
|
||||
Af8DygH/A8wB/wPNAf8B0ALRAf8B4wLqAf8DbQH3BAADOQFfAkABLQH9AUoBEQEAAf8BrgEvAQAB/wHA
|
||||
ATcBAAH/AecBlgEcAf8B6AGyAVAB/wHkAbEBUAH/AdIBiQEPAf8BvQE8AQAB/wGoASoBAAH/AbgBjQEz
|
||||
Af8B1AHDAbIB/wGYAYQBRAH/ATEBEwEAAf8BPgI9AWoMAAE0AZEByQH/AaQBzAHkAf8BhwG7AdsB/wEV
|
||||
AaEBUAH/AQ8BnAFKAf8BCgGaAUYB/wEFAZYBQAH/ASEBowGBAf8BhAHAAasB/wEYAZYBTwH/A1EBogMV
|
||||
AR0IAAHGAYgBXAH+MP8BuwF7AVIB/wgAA1wB6gHWAt8B/wHDAsUB/wPAAf8DwAH/A8IB/wPDAf8DxAH/
|
||||
A8UB/wPIAf8DyQH/A80B/wHgAugB/wNtAfcEAAM3AVoCTQEoAfoBgwEcAQAB/wHLAUYBAAH/AeUBiwET
|
||||
Af8B/gG2AUgC/wHjAcIB/wH0AbwBhQH/AdYBTQEAAf8BxQFEAQAB/wG6ATkBAAH/Aa8BTQEPAf8BrgGI
|
||||
ATMB/wGUAUwBMwH/ATIBFAEAAf8DPAFmDAABOQGVAc0B/wGoAc8B5QH/AYwBvwHdAf8BGwGlAYEB/wGN
|
||||
AcUBuAH/AYkBwwG0Af8BhgHBAbEB/wGEAb8BrwH/AU0BuQGfAf8BRAGtAaAB/wNWAbMBUAFSAVABpAMY
|
||||
ASIEAAHBAYgBWAH6BP8B7QHDAZoB/wHtAcMBmgH/Ae0BwwGaAf8B7QHDAZoB/wHtAcMBmgH/Ae0BwwGa
|
||||
Af8B7QHDAZoB/wHtAcMBmgH/Ae0BwwGaAf8B7QHDAZoF/wG9AYABVAH/CAADYAHWAccCzQH/AdsC5AH/
|
||||
AdsC5AH/AdsC5QH/AdwC5QH/AdwC5QH/Ad0C5gH/Ad0C5gH/Ad4C5wH/Ad8C6AH/AeAC6AH/Ac0C0wH/
|
||||
A18B4wQAAyYBOQFgAloB3gGOASQBAAH/AewBngEpAf8B/gG/AYUC/wHMAaEC/wHfAbsB/wH+AcIBVQH/
|
||||
AeIBjgEfAf8B0wGEARAB/wHKAU8BAgH/AbUBRgEAAf8BlwE3AQAB/wGBATQBDwH/A1kB7AMuAUgMAAE9
|
||||
AZgB0AH/AasB0QHnAf8BkAHCAd8B/wEiAakBiAH/AZEByQG7Af8BTAG6AaUB/wFIAbgBoQH/AUQBtgGe
|
||||
Af8BSAG4AZ0B/wEzAaUBkgH/A1YBswNWAbMBVQFWAVUBsQQAAbYBhwFdAfAE/wHtAcMBmwH/AfQB2gHA
|
||||
Af8B9AHaAcAB/wH0AdsBwQH/AfQB2wHBAf8B9AHbAcEB/wH0AdsBwQH/AfQB2wHBAf8B9AHbAcEB/wHt
|
||||
AcMBmgX/AbsBfwFXAf4IAAMsAUMDWwHIA50B/wOdAf8DnQH/A50B/wOdAf8DnQH/A50B/wOdAf8DnQH/
|
||||
A50B/wNeAd0DMQFOBAADCQEMA0sBjgHAAUQBAwL/AbwBVQH/AfoBzgGnAf8B+AHbAb4C/wHiAcYC/wG+
|
||||
AYYB/wH0AawBSwH/AewBwgGaAf8B4gG1AYsB/wG4AUsBCQH/AZ0BOgECAf8BiAE6ARYB/wNPAaUDEAEV
|
||||
DAABQQGbAdMB/wGuAdQB6AH/AasB0wHoAf8BLwGxAZAB/wGbAc4BwAH/AZkBzQG9Af8BlgHLAbsB/wGV
|
||||
AcoBuQH/AYABvwGoAf8BTQGzAakB/wNWAbMDVQGyAwgBCwQAAZcBegFeAdgE/wHtAcMBmwH/Ae0BwwGb
|
||||
Af8B7QHDAZsB/wHtAcMBmgH/Ae0BwwGaAf8B7QHDAZoB/wHtAcMBmgH/Ae0BwwGaAf8B7QHDAZoB/wHt
|
||||
AcMBmgX/AbsBhAFcAfhIAAMTARoCZAFTAfEB2AGeAUgB/wHnAdMBwAH/AfwB9QHuAv8B+AHrAv8B5QHC
|
||||
Af8B9gG5AYIB/wHyAdIBuAH/Ae4B0gG2Af8BwgGGASQB/wGnAUwBHQH/Ak0BKQH6Ax0BKRAAAUQBnQHV
|
||||
Af8BQgGbAdMB/wE/AZoB0gH/AR8BoQGMAf8BGgGfAYoB/wEXAZ0BhQH/ARMBmQGAAf8BLAGlAZIB/wFV
|
||||
AbgBsQH/ASYBoQGLAf8DVQGyAwYBCAgAAWEBWQFSAZsw/wHWAakBiAH/TAADNQFXAakBOAEKAf8BygG4
|
||||
AagG/wH+AfwC/wH2AeIB/wH7AcUBoAH/AeQBuQGVAf8B2wGsAVMB/wHDAY4BMgH/AZMBOgEOAf8BPgI9
|
||||
AWowAAFTAlQBrANWAbMDVgGzAwQBBgwAAUYBQwFBAXEBWQFTAU4BkAGLAXMBXAHMAc4BkgFcAf8ByAGN
|
||||
AV4B/gHNAZEBXAH/AcwBjwFcAf8BzQGRAV4B/wHNAZIBYAH/AcsBkAFeAf8BsAGDAVsB7wGJAXIBXgHL
|
||||
AdgBrQGKAf8B1wGrAYoB/1AAAzIBUQJkAVkB7AHQAbIBlQH/AewB4AHZAf8B5gHVAcQB/wHTAbABlAH/
|
||||
AdMBpgFNAf8BywGPASsB/wFnAWUBWQHyAToCOQFgNAABUwJUAawDVgGzAwQBBpwAAxEBFwNEAXoCWgFX
|
||||
AcUCZQFeAeUCYQFYAeYCXAFZAckCSAFHAYMDFQEdEAABQgFNAT4HAAE+AwABKAMAAUADAAEwAwABAQEA
|
||||
AQEFAAGAAQEWAAP/gQAB4AEHAgAB/AE/Av8BwAEDAgAB/AE/AfwBHwHAAQMCAAHAAQMB+AEHAcABAwIA
|
||||
AcABAwH4AQMBwAEDAgABwAEDAfABAQHAAQMCAAHAAQMBgAEAAcABAwYAAcABAwIAAQEBgAEBAQABwAED
|
||||
AYACAQGAAgABwAEDAYABAQQAAcABAwHAAQMBwAEDAgABwAEDAfABDwHAAQMBgAEAAcABAwHwAQ8BgAED
|
||||
AYABAAHAAQMB8AEPAcABAwHgAQEBwAEDAfABDwHwAQ8B8AEDAcABAwH4AR8B/AE/AfwBDwHjBf8B4AEH
|
||||
AYABAQGAAQEC/wHAAQMBgAEHAYABAQL/AYABAwEAAQcBgAEBAv8BwAEDAQABBwGAAQECAAHAAQMBAAEH
|
||||
AYABAQIAAYABAQGAAQcBgAEBAYABAQIAAcABBwGAAQEBgAEBAgAB4AEDAYABAQGAAQECAAHgAQEBgAEB
|
||||
AYABAQIAAeABAAGAAQEBgAEBAgAB4AEAAYABAQGAAQECAAHgAQABgAEBAv8BgAEBAeABAQGAAQEC/wHA
|
||||
AQMB/wHDAYABAQL/AeABBwH/AccE/wHwAQ8L
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="dlgColor.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>140, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
2205
mRemoteV1/Forms/frmOptions.vb
Normal file
14
mRemoteV1/Forms/frmPassword.Designer.vb
generated
@@ -64,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
|
||||
'
|
||||
@@ -73,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
|
||||
'
|
||||
@@ -83,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
|
||||
@@ -95,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
|
||||
@@ -107,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)
|
||||
@@ -152,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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ,
|
||||
@@ -72,6 +75,8 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[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 ,
|
||||
@@ -87,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 ,
|
||||
@@ -112,7 +118,11 @@ CREATE TABLE [dbo].[tblCons] (
|
||||
[InheritRDGatewayUseConnectionCredentials] [bit] NOT NULL ,
|
||||
[InheritRDGatewayUsername] [bit] NOT NULL ,
|
||||
[InheritRDGatewayPassword] [bit] NOT NULL ,
|
||||
[InheritRDGatewayDomain] [bit] NOT NULL
|
||||
[InheritRDGatewayDomain] [bit] NOT NULL ,
|
||||
[LoadBalanceInfo] [varchar] (1024) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
|
||||
[AutomaticResize] [bit] NOT NULL DEFAULT 1 ,
|
||||
[InheritLoadBalanceInfo] [bit] NOT NULL DEFAULT 0 ,
|
||||
[InheritAutomaticResize] [bit] NOT NULL DEFAULT 0
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
@@ -125,7 +135,7 @@ CREATE TABLE [dbo].[tblRoot] (
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[tblUpdate] (
|
||||
[LastUpdate] [datetime] NULL
|
||||
[LastUpdate] [datetime] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
BIN
mRemoteV1/Icons/PuTTY.ico
Normal file
|
After Width: | Height: | Size: 318 B |
BIN
mRemoteV1/Icons/mRemoteNG.ico
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
@@ -5,6 +5,7 @@ Namespace Images
|
||||
Container = 1
|
||||
ConnectionOpen = 2
|
||||
ConnectionClosed = 3
|
||||
PuttySessions = 4
|
||||
End Enum
|
||||
|
||||
Public Enum ErrorImage
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
Namespace Language
|
||||
Public Class Base
|
||||
Inherits Language.EN
|
||||
Public Shared ReadOnly CurrentLanguage As Languages = Languages.EN
|
||||
End Class
|
||||
|
||||
Public Enum Languages
|
||||
EN = 1
|
||||
DE = 2
|
||||
End Enum
|
||||
End Namespace
|
||||
@@ -1,390 +0,0 @@
|
||||
Namespace Language
|
||||
Public Class DE
|
||||
Public Const Button_Cancel As String = "&Abbrechen"
|
||||
Public Const Button_New As String = "&Neu"
|
||||
Public Const Button_OK As String = "&OK"
|
||||
Public Const Button_Close As String = "&Schließen"
|
||||
Public Const Button_Scan As String = "&Scannnen"
|
||||
Public Const Button_Stop As String = "&Stop"
|
||||
Public Const Button_Import As String = "&Importieren"
|
||||
|
||||
Public Const Props_Name As String = "Name"
|
||||
Public Const Descr_Name As String = "Dies ist der Name der im Verbindungs Baum angezeigt wird."
|
||||
Public Const Props_Description As String = "Beschreibung"
|
||||
Public Const Descr_Description As String = "Hier kann eine Beschreibung für den Host hinterlegt werden."
|
||||
Public Const Props_Icon As String = "Icon"
|
||||
Public Const Descr_Icon As String = "Das ausgewählte Icon wird bei Verbindung zum Host im Tab angezeigt."
|
||||
Public Const Props_Panel As String = "Panel"
|
||||
Public Const Descr_Panel As String = "Setzt das Panel in dem die Verbindung geöffnet wird."
|
||||
Public Const Props_HostnameIP As String = "Hostname/IP"
|
||||
Public Const Descr_HostnameIP As String = "Der Hostname od. die IP zu der eine Verbinung aufgebaut werden soll."
|
||||
Public Const Props_Username As String = "Benutzername"
|
||||
Public Const Descr_Username As String = "Geben sie hier ihren Benutzernamen ein."
|
||||
Public Const Props_Password As String = "Passwort"
|
||||
Public Const Descr_Password As String = "Geben sie hier ihr Passwort ein."
|
||||
Public Const Props_Domain As String = "Domäne"
|
||||
Public Const Descr_Domain As String = "Geben sie hier ihre Domäne ein."
|
||||
Public Const Props_Protocol As String = "Protokoll"
|
||||
Public Const Descr_Protocol As String = "Wählen sie das Protokoll das verwendet werden soll um eine Verbindung aufzubauen."
|
||||
Public Const Props_Port As String = "Port"
|
||||
Public Const Descr_Port As String = "Geben sie den Port ein auf dem das Protokoll auf Verbindungen wartet."
|
||||
Public Const Props_PuttySession As String = "Putty Session"
|
||||
Public Const Descr_PuttySession As String = "Wählen sie eine PuTTY session die bei Verbindung verwendet werden soll."
|
||||
Public Const Props_EncryrptionStrength As String = "Verschlüsselungsstärke"
|
||||
Public Const Descr_EncryptionStrength As String = "Wählen sie die Verschlüsselungsstärke des Remote Hosts."
|
||||
Public Const Props_AuthenticationLevel As String = "Serverauthentifizierung"
|
||||
Public Const Descr_AuthenticationLevel As String = "Wählen sie welche Authentifizierungs-Variante verwendet wird."
|
||||
Public Const Props_UseConsoleSession As String = "Verwende Console Session"
|
||||
Public Const Descr_UseConsoleSession As String = "Zur Console Session des Remote Hosts verbinden."
|
||||
Public Const Props_Resolution As String = "Auflösung"
|
||||
Public Const Descr_Resolution As String = "Wählen sie die Auflösung in welcher der Host geöffnet werden soll."
|
||||
Public Const Props_Colors As String = "Farben"
|
||||
Public Const Descr_Colors As String = "Wählen sie die Farb Qualität."
|
||||
Public Const Props_CacheBitmaps As String = "Bitmaps zwischenspeichern"
|
||||
Public Const Descr_CacheBitmaps As String = "Wählen sie ob Bitmap caching zum Einsatz kommen soll."
|
||||
Public Const Props_DisplayWallpaper As String = "Hintergrundbild anzeigen"
|
||||
Public Const Descr_DisplayWallpaper As String = "Wählen sie ob Hintergrundbilder am Remote Host angezeigt werden sollen."
|
||||
Public Const Props_DisplayThemes As String = "Themen anzeigen"
|
||||
Public Const Descr_DisplayThemes As String = "Wählen sie ob Themen am Remote Host angezeigt werden sollen."
|
||||
Public Const Props_RedKeyCombinations As String = "Tastenkombinationen"
|
||||
Public Const Descr_RedKeyCombinations As String = "Wählen sie ob Tastenkombinationen wie z.B. Alt+Tab auf den Remote Host umgeleitet werden sollen."
|
||||
Public Const Props_RedDiskDrives As String = "Festplatten"
|
||||
Public Const Descr_RedDiskDrives As String = "Wählen sie ob ihre lokalen Festplatten am Remote Host angezeigt werden sollen."
|
||||
Public Const Props_RedPrinters As String = "Drucker"
|
||||
Public Const Descr_RedPrinters As String = "Wählen sie ob ihre lokalen Drucker am Remote Host angezeigt werden sollen."
|
||||
Public Const Props_RedPorts As String = "Ports"
|
||||
Public Const Descr_RedPorts As String = "Wählen sie ob ihre lokalen Ports wie z.B. COM, Parallel auf dem Remote Host angezeigt werden sollen."
|
||||
Public Const Props_RedSmartCards As String = "Smart Cards"
|
||||
Public Const Descr_RedSmartCards As String = "Wählen sie ob ihre lokalen Smart Cards auf dem Remote Host zur Verfügung stehen sollen."
|
||||
Public Const Props_RedSounds As String = "Töne"
|
||||
Public Const Descr_RedSound As String = "Wählen sie wie Töne auf dem Remote Host wiedergegeben werden sollen."
|
||||
Public Const Props_PreExtApp As String = "Pre Ext. App"
|
||||
Public Const Descr_PreExtApp As String = "Wählen sie eine Ext. App die gestartet werden soll bevor die Verbindung zum Remote Host aufgebaut wurde."
|
||||
Public Const Props_PostExtApp As String = "Post Ext. App"
|
||||
Public Const Descr_PostExtApp As String = "Wählen sie eine Ext. App die gestartet werden soll nachdem die Verbindung zum Remote Host getrennt wurde."
|
||||
Public Const Props_Compression As String = "Kompremierung"
|
||||
Public Const Descr_Compression As String = "Wählen sie die Kompressionsrate die verwendet werden soll."
|
||||
Public Const Props_Encoding As String = "Codierung"
|
||||
Public Const Descr_Encoding As String = "Wählen sie die Codierung die verwendet werden soll."
|
||||
Public Const Props_AuthMode As String = "Auth. Modus"
|
||||
Public Const Descr_AuthMode As String = "Wählen sie wie sie sich am VNC server authentifizieren wollen."
|
||||
Public Const Props_ProxyType As String = "Proxy Typ"
|
||||
Public Const Descr_ProxyType As String = "Wenn sie einen Proxy verwenden um auf den Remote Host zugreifen zu können, wählen sie hier den Typ."
|
||||
Public Const Props_ProxyIP As String = "Proxy IP"
|
||||
Public Const Descr_ProxyIP As String = "Geben sie die IP des Proxy Servers ein."
|
||||
Public Const Props_ProxyPort As String = "Proxy Port"
|
||||
Public Const Descr_ProxyPort As String = "Geben sie den Port des Proxy Servers ein."
|
||||
Public Const Props_ProxyUsername As String = "Proxy Benutzername"
|
||||
Public Const Descr_ProxyUsername As String = "Geben sie ihren Benutzernamen ein."
|
||||
Public Const Props_ProxyPassword As String = "Proxy Passwort"
|
||||
Public Const Descr_ProxyPassword As String = "Geben sie ihr Password ein."
|
||||
Public Const Props_SmartSizeMode As String = "SmartSize Modus"
|
||||
Public Const Descr_SmartSizeMode As String = "Wählen sie den SmartSize Modus der verwendet werden soll."
|
||||
Public Const Props_ViewOnly As String = "View-Only"
|
||||
Public Const Descr_ViewOnly As String = "Wählen sie ob sie eine View-Only Verbindung aufbauen wollen."
|
||||
Public Const Props_RenderingEngine As String = "Rendering Engine"
|
||||
Public Const Descr_RenderingEngine As String = "Wählen sie eine der Rendering Engines die verwendet wird um html darzustellen."
|
||||
Public Const Props_MacAddress As String = "MAC Adresse"
|
||||
Public Const Descr_MacAddress As String = "Geben sie die MAC Adresse des Remote Hosts ein (kann für Ext. Apps verwendet werden)."
|
||||
Public Const Props_UserField As String = "Benutzer Feld"
|
||||
Public Const Descr_UserField As String = "Dieses Feld ist frei beschreibbar."
|
||||
|
||||
Public Const Props_General As String = "Generell"
|
||||
Public Const Props_Display As String = "Anzeige"
|
||||
Public Const Props_Connection As String = "Verbindung"
|
||||
Public Const Props_Appearance As String = "Aussehen"
|
||||
Public Const Props_Redirect As String = "Umleitung"
|
||||
Public Const Props_Misc As String = "Verschiedenes"
|
||||
Public Const Props_InheritEverything As String = "Alles vererben"
|
||||
Public Const Props_ExtApp As String = "Ext. App"
|
||||
Public Const Descr_ExtApp As String = "Wählen sie die Ext. App die gestartet werden soll."
|
||||
|
||||
|
||||
Public Const Menu_About As String = "Über"
|
||||
Public Const Menu_AddConnectionPanel As String = "Verbindungs Panel hinzufügen"
|
||||
Public Const Menu_Forum As String = "Support Forum" ' TODO: Translate
|
||||
Public Const Menu_BugReport As String = "Bug Report" ' TODO: Translate
|
||||
Public Const Menu_Config As String = "Konfiguration"
|
||||
Public Const Menu_ConnectionPanels As String = "Verbindungs Panels"
|
||||
Public Const Menu_Connections As String = "Verbindungen"
|
||||
Public Const Menu_ConnectionsConfig As String = "Verbindungen && Konfiguration"
|
||||
Public Const Menu_Donate As String = "Spenden"
|
||||
Public Const Menu_ErrorsAndInfos As String = "Fehler und Infos"
|
||||
Public Const Menu_ErrorsInfos As String = "Fehler && Infos"
|
||||
Public Const Menu_Exit As String = "Beenden"
|
||||
Public Const Menu_ExternalApplications As String = "Externe Programme"
|
||||
Public Const Menu_ExternalApplicationsToolbar As String = "Externe Programme Symbolleiste"
|
||||
Public Const Menu_File As String = "&Datei"
|
||||
Public Const Menu_FullScreenKioskMode As String = "Vollbild (Kiosk Modus)"
|
||||
Public Const Menu_Help As String = "Hilfe"
|
||||
Public Const Menu_Info As String = "&Info"
|
||||
Public Const Menu_JumpTo As String = "Springe zu"
|
||||
Public Const Menu_NewConnections As String = "Neu Verbindungen"
|
||||
Public Const Menu_OpenConnections As String = "Verbindungen öffnen"
|
||||
Public Const Menu_Options As String = "Optionen"
|
||||
Public Const Menu_PortScan As String = "Port Scan"
|
||||
Public Const Menu_QuickyToolbar As String = "Quicky Symbolleiste"
|
||||
Public Const Menu_SaveConnections As String = "Verbindungen speichern"
|
||||
Public Const Menu_SaveConnectionsAs As String = "Verbindungen speichern unter"
|
||||
Public Const Menu_ScreenshotManager As String = "Screenshot Manager"
|
||||
Public Const Menu_Sessions As String = "Sessions"
|
||||
Public Const Menu_SessionsScreenshots As String = "Sessions && Screenshots"
|
||||
Public Const Menu_SSHFileTransfer As String = "SSH Datei Transfer"
|
||||
Public Const Menu_Tools As String = "E&xtras"
|
||||
Public Const Menu_Update As String = "Update"
|
||||
Public Const Menu_View As String = "&Ansicht"
|
||||
Public Const Menu_Website As String = "Webseite"
|
||||
|
||||
Public Const Toolbar_Play As String = "Los!"
|
||||
Public Const Toolbar_Quicky As String = "&Quicky:"
|
||||
Public Const Toolbar_ShowText As String = "Text anzeigen"
|
||||
|
||||
Public Const Password As String = "Passwort:"
|
||||
Public Const Security As String = "Sicherheit"
|
||||
Public Const SelectAPanel As String = "Wähle ein Panel aus der Liste oder klicke auf Neu um ein neues zu erstellen. Klicke OK um fortzufahren."
|
||||
Public Const SelectPanel As String = "Wähle Panel"
|
||||
Public Const Status As String = "Status"
|
||||
Public Const Verify As String = "Überprüfen:"
|
||||
Public Const Aspect As String = "Aspekt"
|
||||
Public Const Free As String = "Frei"
|
||||
Public Const NoSmartSize As String = "Kein SmartSize"
|
||||
Public Const Normal As String = "Normal"
|
||||
Public Const None As String = "Kein"
|
||||
Public Const NoCompression As String = "Keine Kompression"
|
||||
Public Const Connecting As String = "Verbinde..."
|
||||
Public Const Disconnected As String = "Getrennt"
|
||||
Public Const RDP256Colors As String = "256 Farben"
|
||||
Public Const RDPSoundBringToThisComputer As String = "Auf diesem Computer wiedergeben"
|
||||
Public Const RDPSoundLeaveAtRemoteComputer As String = "Auf dem Remotecomputer wiedergeben"
|
||||
Public Const RDPSoundDoNotPlay As String = "Nicht wiedergeben"
|
||||
Public Const RDPFitToPanel As String = "An das Panel anpassen"
|
||||
Public Const RDPSmartSize As String = "Smart Size"
|
||||
Public Const Active As String = "Aktiv"
|
||||
Public Const Inactive As String = "Inaktiv"
|
||||
Public Const Fullscreen As String = "Vollbild"
|
||||
Public Const Information As String = "Information"
|
||||
Public Const Warning As String = "Warnung"
|
||||
Public Const Error_ As String = "Fehler"
|
||||
Public Const PasswordProtect As String = "Passwortschützen"
|
||||
Public Const AutomaticReconnect As String = "Automatisches wiederverbinden"
|
||||
Public Const ServerStatus As String = "Server Status:"
|
||||
Public Const ReconnectWhenReady As String = "Verbinden wenn bereit"
|
||||
Public Const Connections As String = "Verbindungen"
|
||||
Public Const Files As String = "Dateien"
|
||||
Public Const All As String = "Alle"
|
||||
Public Const Yes As String = "Ja"
|
||||
Public Const No As String = "Nein"
|
||||
Public Const New_ As String = "Neu"
|
||||
Public Const Connection As String = "Verbindung"
|
||||
Public Const Folder As String = "Ordner"
|
||||
Public Const Root As String = "Wurzel"
|
||||
Public Const SureToDeleteItem As String = "Sind sie sicher dass sie dieses Objekt löschen möchten?"
|
||||
Public Const License As String = "Lizenz"
|
||||
Public Const About As String = "Über"
|
||||
Public Const ChangeLog As String = "Änderungen:"
|
||||
Public Const ReleasedUnderGPL As String = "Unter der GNU General Public License (GPL) veröffentlicht"
|
||||
Public Const SomeIconsBy As String = "Einige Icons von"
|
||||
Public Const Change As String = "Ändern"
|
||||
Public Const Inheritance As String = "Vererbung"
|
||||
Public Const Default_ As String = "Standard"
|
||||
Public Const Properties As String = "Eigenschaften"
|
||||
Public Const SmartSize As String = "SmartSize"
|
||||
Public Const Screenshot As String = "Screenshot"
|
||||
Public Const StartChat As String = "Chat starten"
|
||||
Public Const TransferFile As String = "Datei übertragen"
|
||||
Public Const RefreshScreen As String = "Anzeige aktualisieren"
|
||||
Public Const SendSpecialKeys As String = "Tastenkombination senden"
|
||||
Public Const RenameTab As String = "Tab umbenennen"
|
||||
Public Const DuplicateTab As String = "Tab klonen"
|
||||
Public Const Reconnect As String = "Wiederverbinden"
|
||||
Public Const Disconnect As String = "Trennen"
|
||||
Public Const Message As String = "Nachricht"
|
||||
Public Const Copy As String = "Kopieren"
|
||||
Public Const Paste As String = "Einfügen"
|
||||
Public Const Delete As String = "Löschen"
|
||||
Public Const Filename As String = "Dateiname"
|
||||
Public Const Arguments As String = "Parameter"
|
||||
Public Const WaitForExit As String = "Auf Beendigung warten"
|
||||
Public Const Add As String = "Hinzufügen"
|
||||
Public Const Remove As String = "Entfernen"
|
||||
Public Const Start As String = "Starten"
|
||||
Public Const Application As String = "Applikation"
|
||||
Public Const Editor As String = "Editor"
|
||||
Public Const Browse As String = "Öffnen..."
|
||||
Public Const DisplayName As String = Props_Display & " " & Props_Name
|
||||
Public Const ReallyDeleteSelectedApplications As String = "Sind sie sicher dass sie die ausgewählte(n) Applikation(en) löschen möchten?"
|
||||
|
||||
Public Const Key_Control As String = "Strg"
|
||||
Public Const Key_Alt As String = "Alt"
|
||||
Public Const Key_Del As String = "Entf"
|
||||
Public Const Key_Esc As String = "Esc"
|
||||
|
||||
Public Const Advanced As String = "Erweitert"
|
||||
Public Const TestProxy As String = "Test Proxy"
|
||||
Public Const Seconds As String = "Sekunden"
|
||||
Public Const MaxPuttyWaitTime As String = "Maximale Zeit die auf PuTTY und integrierte Ext. Apps gewartet wird"
|
||||
Public Const AutomaticallyTryToReconnect As String = "Automatisch versuchen zu verbinden wenn Verbindung getrennt wird (nur RDP && ICA)"
|
||||
Public Const Address As String = "Addresse"
|
||||
Public Const UseAuthentication As String = "Benutze Authentifizierung"
|
||||
Public Const UseProxyForAutomaticUpdates As String = "Proxy für automatische Updates verwenden"
|
||||
Public Const ToConfigurePuttySessions As String = "Hier klicken um PuTTY Sessions zu konfigurieren:"
|
||||
Public Const LaunchPutty As String = "Starte PuTTY"
|
||||
Public Const UseCustomPuttyPath As String = "Eigener PuTTY Pfad:"
|
||||
Public Const AutomaticallyGetSessionInfo As String = "Automatisch Session Informationen einholen"
|
||||
Public Const WriteLogFile As String = "Log File schreiben (mRemoteNG.log)"
|
||||
Public Const StartupExit As String = "Start/Ende"
|
||||
Public Const AllowOnlySingleInstance As String = "Nur eine Instanz zulassen (mRemote Neustart benötigt)"
|
||||
Public Const ReconnectAtStartup As String = "Offene Verbindungen speichern und beim nächsten Start wiederverbinden"
|
||||
Public Const CheckForUpdatesOnStartup As String = "Beim Start auf Updates prüfen"
|
||||
Public Const ConfirmExit As String = "Schließen bestätigen wenn Verbindungen bestehen"
|
||||
Public Const SaveConsOnExit As String = "Verbindungen beim Schließen speichern"
|
||||
Public Const MinimizeToSysTray As String = "In die System Tray minimieren"
|
||||
Public Const ShowFullConsFilePath As String = "Vollen Verbindungsdateipfad im Titel anzeigen"
|
||||
Public Const AlwaysShowSysTrayIcon As String = "System Tray Icon immer anzeigen"
|
||||
Public Const ShowDescriptionTooltips As String = "Beschreibungs Tooltips in der Verbindungsliste anzeigen"
|
||||
Public Const TabsAndPanels As String = "Tabs && Panele"
|
||||
Public Const ShowProtocolOnTabs As String = "Protokoll im Tab Titel anzeigen"
|
||||
Public Const ShowLogonInfoOnTabs As String = "Anmeldeinformationen im Tab Titel anzeigen"
|
||||
Public Const OpenNewTabRight As String = "Neue Tabs rechts vom momentan selektierten Tab öffnen"
|
||||
Public Const AlwaysShowPanelSelection As String = "Panel Auswahl Dialog immer anzeigen"
|
||||
Public Const DoubleClickTabClosesIt As String = "Doppelklick schließt Tabs"
|
||||
Public Const SetHostnameLikeDisplayName As String = "Beim Anlegen einer neuen Verbindung Hostname wie Anzeige Name setzen"
|
||||
Public Const Experimental As String = "Experimentell"
|
||||
Public Const UseSQLServer As String = "SQL Server für das Laden && Speichern der Verbindungen verwenden"
|
||||
Public Const SQLInfo As String = "Für mehr Infos bitte Hilfeeintrag lesen (Info - Help - Getting started - SQL Configuration)"
|
||||
Public Const SQLServer As String = "SQL Server"
|
||||
Public Const AutoSaveMins As String = "Minuten (0 = Ausgeschalten)"
|
||||
Public Const AutoSaveEvery As String = "Automatisch speichern jede:"
|
||||
Public Const TheFollowing As String = "die folgenden"
|
||||
Public Const MyCurrentWindowsCreds As String = "meine aktuellen (windows login info)"
|
||||
Public Const NoInformation As String = "keine"
|
||||
Public Const EmptyUsernamePasswordDomainFields As String = "Bei leeren Benutzername, Passwort oder Domänen Feldern benutze:"
|
||||
Public Const SingleClickOnOpenConnectionSwitchesToIt As String = "Ein einzelner Klick auf eine geöffnete Verbindung springt zu dieser"
|
||||
Public Const SingleClickOnConnectionOpensIt As String = "Ein einzelner Klick auf eine Verbindung öffnet diese"
|
||||
Public Const SwitchToErrorsAndInfos As String = "Öffne das Fehler && Infos Panel bei"
|
||||
Public Const Errors As String = "Fehler"
|
||||
Public Const Warnings As String = "Warnungen"
|
||||
Public Const Informations As String = "Informationen"
|
||||
Public Const UseOnlyErrorsAndInfosPanel As String = "Nur Fehler && Infos Panel benutzen (Keine Popups)"
|
||||
Public Const Applications As String = "Applikationen"
|
||||
Public Const ProxyTestSucceeded As String = "Proxy test erfolgreich!"
|
||||
Public Const ProxyTestFailed As String = "Proxy test fehlgeschlagen!"
|
||||
|
||||
Public Const StartIP As String = "Start IP"
|
||||
Public Const EndIP As String = "End IP"
|
||||
Public Const ProtocolToImport As String = "Zu importierendes Protokoll"
|
||||
Public Const OpenPorts As String = "Offene Ports"
|
||||
Public Const ClosedPorts As String = "Geschlossene Ports"
|
||||
Public Const StartPort As String = "Start Port"
|
||||
Public Const EndPort As String = "End Port"
|
||||
Public Const QuickConnect As String = "Quick Connect"
|
||||
Public Const UncheckProperties As String = "Deaktivieren sie alle Eigenschaften die nicht gespeichert werden sollen."
|
||||
Public Const Export As String = "Export"
|
||||
Public Const SaveAll As String = "Alle speichern"
|
||||
Public Const RemoveAll As String = "Alle entfernen"
|
||||
Public Const Save As String = "Speichern"
|
||||
Public Const SaveImageFilter As String = "Graphics Interchange Format File (.gif)|*.gif|Joint Photographic Experts Group File (.jpeg)|*.jpeg|Joint Photographic Experts Group File (.jpg)|*.jpg|Portable Network Graphics File (.png)|*.png" ' TODO: Translate
|
||||
Public Const Screenshots As String = "Screenshots"
|
||||
Public Const Activity As String = "Aktivität"
|
||||
Public Const Type As String = "Type"
|
||||
Public Const Refresh As String = "Aktualisieren"
|
||||
Public Const LogOff As String = "Ausloggen"
|
||||
Public Const LocalFile As String = "Lokale Datei"
|
||||
Public Const RemoteFile As String = "Remote Datei"
|
||||
Public Const User As String = "Benutzer"
|
||||
Public Const Host As String = "Host"
|
||||
Public Const Transfer As String = "Transfer"
|
||||
Public Const AddConnection As String = "Verbindung hinzufügen"
|
||||
Public Const AddFolder As String = "Ordner hinzufügen"
|
||||
Public Const Connect As String = "Verbinden"
|
||||
Public Const ConnectWithOptions As String = "Verbinden (mit Optionen)"
|
||||
Public Const ConnectToConsoleSession As String = "Mit der Console Session verbinden"
|
||||
Public Const ConnectInFullscreen As String = "Im Vollbild verbinden"
|
||||
Public Const ChoosePanelBeforeConnecting As String = "Panel vor Verbindung auswählen"
|
||||
Public Const Tools As String = "Extras"
|
||||
Public Const ImportExport As String = "Importieren/Exportieren"
|
||||
Public Const ExportmRemoteXML As String = "mRemote XML exportieren"
|
||||
Public Const ImportmRemoteXML As String = "mRemote XML importieren"
|
||||
Public Const ImportAD As String = "Aus Active Directory importieren"
|
||||
Public Const ImportRDPFiles As String = "Aus .RDP Datei(en) importieren"
|
||||
Public Const ImportPortScan As String = "Von Port Scan importieren"
|
||||
Public Const Sort As String = "Sortieren"
|
||||
Public Const SortAsc As String = "Aufsteigend (A-Z)"
|
||||
Public Const SortDesc As String = "Abfallend (Z-A)"
|
||||
Public Const Duplicate As String = "Duplizieren"
|
||||
Public Const Rename As String = "Umbenennen"
|
||||
Public Const MoveUp As String = "Nach oben"
|
||||
Public Const MoveDown As String = "Nach unten"
|
||||
Public Const ExpandAllFolders As String = "Alle Ordner erweitern"
|
||||
Public Const CollapseAllFolders As String = "Alle Ordner schließen"
|
||||
Public Const NewConnection As String = "Neue Verbindung"
|
||||
Public Const NewFolder As String = "Neuer Ordner"
|
||||
Public Const CheckForUpdate As String = "Auf Update prüfen"
|
||||
Public Const DownloadAndInstall As String = "Downloaden && Installieren"
|
||||
Public Const AvailableVersion As String = "Verfügbare Version"
|
||||
Public Const CurrentVersion As String = "Aktuelle Version"
|
||||
Public Const Version As String = "Version"
|
||||
Public Const UpdateAvailable As String = "Update verfügbar!"
|
||||
Public Const NoUpdateAvailable As String = "Kein Update verfügbar!"
|
||||
Public Const UpdateDownloadComplete As String = "Download fertiggestellt!" & vbNewLine & "mRemote wird nun geschlossen und die Installation gestartet."
|
||||
Public Const SendTo As String = "Senden an..."
|
||||
Public Const Screen As String = "Bildschirm"
|
||||
|
||||
Public Const UnclosedConnectionPanels As String = "Es sind noch geöffnete Verbindungs Panele vorhanden, wollen sie wirklich beenden?"
|
||||
Public Const SaveConnectionsFileBeforeOpeningAnother As String = "Wollen sie die aktuelle Verbindungs-Datei speichern bevor eine andere geladen wird?"
|
||||
Public Const NewPanel As String = "Neues Panel"
|
||||
Public Const PanelName As String = "Panel Name"
|
||||
Public Const NewTitle As String = "Neuer Titel"
|
||||
|
||||
Public Const AlwaysConnectEvenIfAuthFails As String = "Immer verbinden, auch wenn Authentifizierung fehlschlägt"
|
||||
Public Const DontConnectWhenAuthFails As String = "Keine Verbindung herstellen wenn Authentifizierung fehlschlägt"
|
||||
Public Const WarnIfAuthFails As String = "Warnung anzeigen wenn Authentifizierung fehlschlägt"
|
||||
Public Const UltraVNCSCListeningPort As String = "UltraVNC SingleClick Port"
|
||||
Public Const ListeningForIncomingVNCConnections As String = "Warte auf eingehende VNC Verbindungen auf Port"
|
||||
|
||||
Public Const CheckProperInstallationOfComponentsAtStartup As String = "Überprüfe die Installation aller Komponenten beim Start"
|
||||
Public Const XULrunnerPath As String = "XULrunner Pfad"
|
||||
Public Const Inherit As String = "Vererbe"
|
||||
|
||||
Public Const ComponentsCheck As String = "Komponenten Check"
|
||||
|
||||
Public Const EncryptCompleteConnectionFile As String = "Connections Datei vollständig verschlüsseln"
|
||||
|
||||
Public Const EmptyPasswordContinue As String = "Wollen sie ohne Passwort fortfahren?"
|
||||
|
||||
'CompCheck
|
||||
Public Const CcAlwaysShowScreen As String = "Bei jedem Start anzeigen"
|
||||
Public Const CcCheckAgain As String = "Aktualisieren"
|
||||
Public Const CcNotInstalledProperly As String = "nicht korrekt installiert"
|
||||
Public Const CcCheckSucceeded As String = "Check erfolgreich!"
|
||||
Public Const CcCheckFailed As String = "Check fehlgeschlagen!"
|
||||
Public Const CcRDPOK As String = "Alle RDP Komponenten wurden gefunden und scheinen korrekt registriert zu sein."
|
||||
Public Const CcRDPFailed As String = "Um RDP korrekt betreiben können muss mindestens Remote Desktop Connection (Terminal Services Client) 6.0 installiert sein. Hier können sie die Software herunterladen: http://support.microsoft.com/kb/925876" & vbNewLine & _
|
||||
"Wenn sie RDP 6.0 bereits installiert haben und der Check noch immer fehlschlägt, versuchen sie die Datei mstscax.dll manuell zu registrieren. Öffnen sie hierzu den Ausführen Dialog (Start - Ausführen) und geben sie Folgendes ein: regsvr32 ""c:\windows\system32\mstscax.dll"" (Wobei c:\ ihr System-Laufwerk ist)." & vbNewLine & _
|
||||
"Wenn sie noch immer Probleme mit RDP haben, konsultieren sie bitte das mRemote Forum: http://forum.mremoteng.org/"
|
||||
Public Const CcVNCOK As String = "Alle VNC Komponenten wurden gefunden und scheinen korrekt registriert zu sein."
|
||||
Public Const CcVNCFailed As String = "VNC benötigt die Datei scvncctrl.dll (wird mitgeliefert). Diese muss registriert sein. Wenn sie eines der nicht-Setup Pakete verwenden muss dies manuell durchgeführt werden." & vbNewLine & _
|
||||
"Öffnen sie hierzu den Ausführen Dialog (Start - Ausführen) und geben sie Folgendes ein: regsvr32 ""c:\Programme\mRemote\scvncctrl.dll"" (Wobei c:\Programme\mRemote\ ihr mRemote Installations-Pfad ist)." & vbNewLine & _
|
||||
"Wenn sie noch immer Probleme mit VNC haben, konsultieren sie bitte das mRemote Forum: http://forum.mremoteng.org/"
|
||||
Public Const CcPuttyOK As String = "PuTTY wurde gefunden und scheint betriebsbereit zu sein."
|
||||
Public Const CcPuttyFailed As String = "Die Protokolle, SSH, Telnet, Rlogin und RAW benötigen PuTTY. PuTTY wird in allen mRemote Paketen mitgeliefert und befindet sich im Installations-Pfad." & vbNewLine & _
|
||||
"Bitte versichern sie sich dass sich die Datei Putty.exe in ihrem mRemote Installations-Pfad befindet (Standard: c:\Programme\mRemote\) oder dass sie einen korrekten Pfad in den Optionen (Extras - Optionen - Erweitert - Eigener PuTTY Pfad) angegeben haben."
|
||||
Public Const CcICAOK As String = "Alle ICA Komponenten wurden gefunden und scheinen korrekt registriert zu sein."
|
||||
Public Const CcICAFailed As String = "ICA benötigt eine funktionierende Citrix Presentation Server Client Installation und dass die Datei wfica.ocx korrekt registriert ist. Hier können sie den Client herunterladen: http://www.citrix.com/download/" & vbNewLine & _
|
||||
"Wenn sie Citrix Presentation Server Client installiert haben und noch immer Probleme haben diesen Check erfolgreich abzuschließen, versuchen sie die Datei wfica.ocx manuell zu registrieren." & vbNewLine & _
|
||||
"Öffnen sie hierzu den Ausführen Dialog (Start - Ausführen) und geben sie Folgendes ein: regsvr32 ""c:\Programme\Citrix\ICA Client\wfica.ocx"" (Wobei c:\Programme\Citrix\ICA Client\ ihr Citrix Presentation Server Client Installations-Pfad ist)." & vbNewLine & _
|
||||
"Wenn sie noch immer Probleme mit ICA haben, konsultieren sie bitte das mRemote Forum: http://forum.mremoteng.org/"
|
||||
Public Const CcGeckoOK As String = "XULrunner wurde gefunden und scheint korrekt installiert zu sein."
|
||||
Public Const CcGeckoFailed As String = "Um die Gecko Rendering Engine benutzen zu können benötigen sie XULrunner 1.8.1.x und einen korrekt eingetragenen Pfad in den Optionen." & vbNewLine & _
|
||||
"Hier können sie XULrunner 1.8.1.3 herunterladen: ftp://ftp.mozilla.org/pub/xulrunner/releases/1.8.1.3/contrib/win32/" & vbNewLine & _
|
||||
"Wenn der Download abgeschlossen ist entpacken sie das Paket (Der Speicherort ist dabei ihnen überlassen). Als nächstes öffnen sie (in mRemote) Extras - Optionen - Erweitert und geben sie den korrekten Pfad im XULrunner Feld an." & vbNewLine & _
|
||||
"Wenn sie noch immer Probleme mit der Gecko Engine in mRemote haben, konsultieren sie bitte das mRemote Forum: http://forum.mremoteng.org/"
|
||||
Public Const CcEOLOK As String = "EOLWTSCOM wurde gefunden und scheint korrekt registriert zu sein."
|
||||
Public Const CcEOLFailed As String = "Das (RDP) Sessions feature benötigt die Datei eolwtscom.dll. Diese muss korrekt registriert sein." & vbNewLine & _
|
||||
"Alle mRemote Pakete beinhalten diese Datei, jedoch muss sie, wenn sie eines der nicht-Setup Pakete verwenden manuell registriert werden." & vbNewLine & _
|
||||
"Öffnen sie hierzu den Ausführen Dialog (Start - Ausführen) und geben sie Folgendes ein: regsvr32 ""c:\Programme\mRemote\eolwtscom.dll"" (Wobei c:\Programme\mRemote\ ihr mRemote Installations-Pfad ist)." & vbNewLine & _
|
||||
"Wenn sie noch immer Probleme mit dem (RDP) Sessions Feature in mRemote haben, konsultieren sie bitte das mRemote Forum: http://forum.mremoteng.org/"
|
||||
|
||||
Public Const PropertiesWillOnlyBeSavedMRemoteXML As String = "(Diese Einstellungen werden nur gespeichert wenn sie mRemote XML als Dateiformat auswählen!)"
|
||||
End Class
|
||||
End Namespace
|
||||
6440
mRemoteV1/Language/Language.Designer.vb
generated
Normal file
@@ -1,401 +0,0 @@
|
||||
Namespace Language
|
||||
Public Class EN
|
||||
Public Const Button_Cancel As String = "&Cancel"
|
||||
Public Const Button_New As String = "&New"
|
||||
Public Const Button_OK As String = "&OK"
|
||||
Public Const Button_Close As String = "&Close"
|
||||
Public Const Button_Scan As String = "&Scan"
|
||||
Public Const Button_Stop As String = "&Stop"
|
||||
Public Const Button_Import As String = "&Import"
|
||||
|
||||
Public Const Props_Name As String = "Name"
|
||||
Public Const Descr_Name As String = "This is the name that will be displayed in the connections tree."
|
||||
Public Const Props_Description As String = "Description"
|
||||
Public Const Descr_Description As String = "Put your notes or a description for the host here."
|
||||
Public Const Props_Icon As String = "Icon"
|
||||
Public Const Descr_Icon As String = "Choose a icon that will be displayed when connected to the host."
|
||||
Public Const Props_Panel As String = "Panel"
|
||||
Public Const Descr_Panel As String = "Sets the panel in which the connection will open."
|
||||
Public Const Props_HostnameIP As String = "Hostname/IP"
|
||||
Public Const Descr_HostnameIP As String = "Enter the hostname or ip you want to connect to."
|
||||
Public Const Props_Username As String = "Username"
|
||||
Public Const Descr_Username As String = "Enter your username."
|
||||
Public Const Props_Password As String = "Password"
|
||||
Public Const Descr_Password As String = "Enter your password."
|
||||
Public Const Props_Domain As String = "Domain"
|
||||
Public Const Descr_Domain As String = "Enter your domain."
|
||||
Public Const Props_Protocol As String = "Protocol"
|
||||
Public Const Descr_Protocol As String = "Choose the protocol mRemoteNG should use to connect to the host."
|
||||
Public Const Props_Port As String = "Port"
|
||||
Public Const Descr_Port As String = "Enter the port the selected protocol is listening on."
|
||||
Public Const Props_PuttySession As String = "Putty Session"
|
||||
Public Const Descr_PuttySession As String = "Select a PuTTY session to be used when connecting."
|
||||
Public Const Props_EncryrptionStrength As String = "Encryption Strength"
|
||||
Public Const Descr_EncryptionStrength As String = "Select the encryption strength of the remote host."
|
||||
Public Const Props_AuthenticationLevel As String = "Server authentication"
|
||||
Public Const Descr_AuthenticationLevel As String = "Select which authentication level this connection should use."
|
||||
Public Const Props_UseConsoleSession As String = "Use console session"
|
||||
Public Const Descr_UseConsoleSession As String = "Connect to the console session of the remote host."
|
||||
Public Const Props_Resolution As String = "Resolution"
|
||||
Public Const Descr_Resolution As String = "Choose the resolution or mode this connection will open in."
|
||||
Public Const Props_Colors As String = "Colors"
|
||||
Public Const Descr_Colors As String = "Select the color quality to be used."
|
||||
Public Const Props_CacheBitmaps As String = "Cache Bitmaps"
|
||||
Public Const Descr_CacheBitmaps As String = "Select whether to use bitmap caching or not."
|
||||
Public Const Props_DisplayWallpaper As String = "Display Wallpaper"
|
||||
Public Const Descr_DisplayWallpaper As String = "Select yes if the wallpaper of the remote host should be displayed."
|
||||
Public Const Props_DisplayThemes As String = "Display Themes"
|
||||
Public Const Descr_DisplayThemes As String = "Select yes if the theme of the remote host should be displayed."
|
||||
Public Const Props_RedKeyCombinations As String = "Key combinations"
|
||||
Public Const Descr_RedKeyCombinations As String = "Select whether key combinations (ie. Alt+Tab) should be redirected to the remote host."
|
||||
Public Const Props_RedDiskDrives As String = "Disk Drives"
|
||||
Public Const Descr_RedDiskDrives As String = "Select whether local disk drives should be shown on the remote host."
|
||||
Public Const Props_RedPrinters As String = "Printers"
|
||||
Public Const Descr_RedPrinters As String = "Select whether local printers should be shown on the remote host."
|
||||
Public Const Props_RedPorts As String = "Ports"
|
||||
Public Const Descr_RedPorts As String = "Select whether local ports (ie. com, parallel) should be shown on the remote host."
|
||||
Public Const Props_RedSmartCards As String = "Smart Cards"
|
||||
Public Const Descr_RedSmartCards As String = "Select whether local Smart Cards should be available on the remote host."
|
||||
Public Const Props_RedSounds As String = "Sounds"
|
||||
Public Const Descr_RedSound As String = "Select how remote sound should be redirected."
|
||||
Public Const Props_PreExtApp As String = "Pre Ext. App"
|
||||
Public Const Descr_PreExtApp As String = "Select a Ext. App to be started before the connection to the remote host is established."
|
||||
Public Const Props_PostExtApp As String = "Post Ext. App"
|
||||
Public Const Descr_PostExtApp As String = "Select a Ext. App to be started after the disconnection to the remote host."
|
||||
Public Const Props_Compression As String = "Compression"
|
||||
Public Const Descr_Compression As String = "Select the compression value to be used."
|
||||
Public Const Props_Encoding As String = "Encoding"
|
||||
Public Const Descr_Encoding As String = "Select the encoding mode to be used."
|
||||
Public Const Props_AuthMode As String = "Auth. Mode"
|
||||
Public Const Descr_AuthMode As String = "Select how you want to authenticate against the VNC server."
|
||||
Public Const Props_ProxyType As String = "Proxy Type"
|
||||
Public Const Descr_ProxyType As String = "If you use a proxy to tunnel VNC connections, select which type it is."
|
||||
Public Const Props_ProxyIP As String = "Proxy IP"
|
||||
Public Const Descr_ProxyIP As String = "Enter the Proxy IP to be used."
|
||||
Public Const Props_ProxyPort As String = "Proxy Port"
|
||||
Public Const Descr_ProxyPort As String = "Enter the port the Proxy Server listens on."
|
||||
Public Const Props_ProxyUsername As String = "Proxy Username"
|
||||
Public Const Descr_ProxyUsername As String = "Enter your username for authenticating against the Proxy."
|
||||
Public Const Props_ProxyPassword As String = "Proxy Password"
|
||||
Public Const Descr_ProxyPassword As String = "Enter your password for authenticating against the Proxy."
|
||||
Public Const Props_SmartSizeMode As String = "SmartSize Mode"
|
||||
Public Const Descr_SmartSizeMode As String = "Select the SmartSize mode to be used."
|
||||
Public Const Props_ViewOnly As String = "View Only"
|
||||
Public Const Descr_ViewOnly As String = "If you want to establish a view-only connection to the host select yes."
|
||||
Public Const Props_RenderingEngine As String = "Rendering Engine"
|
||||
Public Const Descr_RenderingEngine As String = "Select one of the available rendering engines that will be used to display html."
|
||||
Public Const Props_MacAddress As String = "MAC Address"
|
||||
Public Const Descr_MacAddress As String = "Enter the MAC Address of the remote host if you wish to use it in Ext. Apps."
|
||||
Public Const Props_UserField As String = "User Field"
|
||||
Public Const Descr_UserField As String = "Feel free to enter any information you need here."
|
||||
Public Const Props_RDGatewayUsageMethod As String = "Use Gateway"
|
||||
Public Const Descr_RDGatewayUsageMethod As String = "Specifies when to use a Remote Desktop Gateway (RD Gateway) server."
|
||||
Public Const Props_RDGatewayHostname As String = "Gateway Hostname"
|
||||
Public Const Descr_RDGatewayHostname As String = "Specifies the host name of the Remote Desktop Gateway server."
|
||||
Public Const Props_RDGatewayUseConnectionCredentials As String = "Gateway Credentials"
|
||||
Public Const Descr_RDGatewayUseConnectionCredentials As String = "Specifies whether or not to log on to the gateway using the same username and password as the connection."
|
||||
Public Const Props_RDGatewayUsername As String = "Gateway Username"
|
||||
Public Const Descr_RDGatewayUsername As String = "Specifies the user name that a user provides to connect to the RD Gateway server."
|
||||
Public Const Props_RDGatewayPassword As String = "Gateway Password"
|
||||
Public Const Descr_RDGatewayPassword As String = "Specifies the password that a user provides to connect to the RD Gateway server."
|
||||
Public Const Props_RDGatewayDomain As String = "Gateway Domain"
|
||||
Public Const Descr_RDGatewayDomain As String = "Specifies the domain name that a user provides to connect to the RD Gateway server."
|
||||
|
||||
Public Const Props_General As String = "General"
|
||||
Public Const Props_Display As String = "Display"
|
||||
Public Const Props_Connection As String = "Connection"
|
||||
Public Const Category_RDGateway As String = "Gateway"
|
||||
Public Const Props_Appearance As String = "Appearance"
|
||||
Public Const Props_Redirect As String = "Redirect"
|
||||
Public Const Props_Misc As String = "Misc"
|
||||
Public Const Props_InheritEverything As String = "Inherit Everything"
|
||||
Public Const Props_ExtApp As String = "Ext. App"
|
||||
Public Const Descr_ExtApp As String = "Select the Ext. App to be started."
|
||||
|
||||
|
||||
Public Const Menu_About As String = "About"
|
||||
Public Const Menu_AddConnectionPanel As String = "Add Connection Panel"
|
||||
Public Const Menu_Forum As String = "Support Forum"
|
||||
Public Const Menu_BugReport As String = "Report a Bug"
|
||||
Public Const Menu_Config As String = "Config"
|
||||
Public Const Menu_ConnectionPanels As String = "Connection Panels"
|
||||
Public Const Menu_Connections As String = "Connections"
|
||||
Public Const Menu_ConnectionsConfig As String = "Connections && Config"
|
||||
Public Const Menu_Donate As String = "Donate"
|
||||
Public Const Menu_ErrorsAndInfos As String = "Notifications"
|
||||
Public Const Menu_ErrorsInfos As String = "Notifications"
|
||||
Public Const Menu_Exit As String = "Exit"
|
||||
Public Const Menu_ExternalApplications As String = "External Applications"
|
||||
Public Const Menu_ExternalApplicationsToolbar As String = "External Applications Toolbar"
|
||||
Public Const Menu_File As String = "&File"
|
||||
Public Const Menu_FullScreenKioskMode As String = "Full Screen"
|
||||
Public Const Menu_Help As String = "mRemoteNG Help"
|
||||
Public Const Menu_Info As String = "&Help"
|
||||
Public Const Menu_JumpTo As String = "Jump To"
|
||||
Public Const Menu_NewConnections As String = "New Connections"
|
||||
Public Const Menu_OpenConnections As String = "Open Connections"
|
||||
Public Const Menu_Options As String = "Options"
|
||||
Public Const Menu_PortScan As String = "Port Scan"
|
||||
Public Const Menu_QuickyToolbar As String = "Quick Connect Toolbar"
|
||||
Public Const Menu_SaveConnections As String = "Save Connections"
|
||||
Public Const Menu_SaveConnectionsAs As String = "Save Connections As"
|
||||
Public Const Menu_ScreenshotManager As String = "Screenshot Manager"
|
||||
Public Const Menu_Sessions As String = "Sessions"
|
||||
Public Const Menu_SessionsScreenshots As String = "Sessions && Screenshots"
|
||||
Public Const Menu_SSHFileTransfer As String = "SSH File Transfer"
|
||||
Public Const Menu_Tools As String = "&Tools"
|
||||
Public Const Menu_Update As String = "Check for Updates"
|
||||
Public Const Menu_View As String = "&View"
|
||||
Public Const Menu_Website As String = "Website"
|
||||
|
||||
Public Const Toolbar_Play As String = "Connect"
|
||||
Public Const Toolbar_Quicky As String = "&Connect:"
|
||||
Public Const Toolbar_ShowText As String = "Show Text"
|
||||
|
||||
Public Const Password As String = "Password:"
|
||||
Public Const Security As String = "Security"
|
||||
Public Const SelectAPanel As String = "Select a panel from the list below or click New to add a new one. Click OK to continue."
|
||||
Public Const SelectPanel As String = "Select Panel"
|
||||
Public Const Status As String = "Status"
|
||||
Public Const Verify As String = "Verify:"
|
||||
Public Const Aspect As String = "Aspect"
|
||||
Public Const Free As String = "Free"
|
||||
Public Const NoSmartSize As String = "No SmartSize"
|
||||
Public Const Normal As String = "Normal"
|
||||
Public Const None As String = "None"
|
||||
Public Const NoCompression As String = "No Compression"
|
||||
Public Const Connecting As String = "Connecting..."
|
||||
Public Const Disconnected As String = "Disconnected"
|
||||
Public Const RDP256Colors As String = "256 Colors"
|
||||
Public Const RDPSoundBringToThisComputer As String = "Bring to this computer"
|
||||
Public Const RDPSoundLeaveAtRemoteComputer As String = "Leave at remote computer"
|
||||
Public Const RDPSoundDoNotPlay As String = "Do not play"
|
||||
Public Const RDPFitToPanel As String = "Fit To Panel"
|
||||
Public Const RDPSmartSize As String = "Smart Size"
|
||||
Public Const Active As String = "Active"
|
||||
Public Const Inactive As String = "Inactive"
|
||||
Public Const Fullscreen As String = "Fullscreen"
|
||||
Public Const Information As String = "Information"
|
||||
Public Const Warning As String = "Warning"
|
||||
Public Const Error_ As String = "Error"
|
||||
Public Const PasswordProtect As String = "Password Protect"
|
||||
Public Const AutomaticReconnect As String = "Automatic Reconnect"
|
||||
Public Const ServerStatus As String = "Server Status:"
|
||||
Public Const ReconnectWhenReady As String = "Reconnect when ready"
|
||||
Public Const Connections As String = "Connections"
|
||||
Public Const Files As String = "Files"
|
||||
Public Const All As String = "All"
|
||||
Public Const Yes As String = "Yes"
|
||||
Public Const No As String = "No"
|
||||
Public Const New_ As String = "New"
|
||||
Public Const Connection As String = "Connection"
|
||||
Public Const Folder As String = "Folder"
|
||||
Public Const Root As String = "Root"
|
||||
Public Const SureToDeleteItem As String = "Are you sure you want to delete this Item?"
|
||||
Public Const License As String = "License"
|
||||
Public Const Change As String = "Change"
|
||||
Public Const Inheritance As String = "Inheritance"
|
||||
Public Const Default_ As String = "Default"
|
||||
Public Const Properties As String = "Properties"
|
||||
Public Const SmartSize As String = "SmartSize"
|
||||
Public Const Screenshot As String = "Screenshot"
|
||||
Public Const StartChat As String = "Start Chat"
|
||||
Public Const TransferFile As String = "Transfer File"
|
||||
Public Const RefreshScreen As String = "Refresh Screen"
|
||||
Public Const SendSpecialKeys As String = "Send special Keys"
|
||||
Public Const RenameTab As String = "Rename Tab"
|
||||
Public Const DuplicateTab As String = "Duplicate Tab"
|
||||
Public Const Reconnect As String = "Reconnect"
|
||||
Public Const Disconnect As String = "Disconnect"
|
||||
Public Const Message As String = "Message"
|
||||
Public Const Copy As String = "Copy"
|
||||
Public Const Paste As String = "Paste"
|
||||
Public Const Delete As String = "Delete"
|
||||
Public Const Filename As String = "Filename"
|
||||
Public Const Arguments As String = "Arguments"
|
||||
Public Const WaitForExit As String = "Wait for exit"
|
||||
Public Const Add As String = "Add"
|
||||
Public Const Remove As String = "Remove"
|
||||
Public Const Start As String = "Start"
|
||||
Public Const Application As String = "Application"
|
||||
Public Const Editor As String = "Editor"
|
||||
Public Const Browse As String = "Browse..."
|
||||
Public Const DisplayName As String = Props_Display & " " & Props_Name
|
||||
Public Const ReallyDeleteSelectedApplications As String = "Do you really want to delete the selected application(s)?"
|
||||
|
||||
|
||||
Public Const Key_Control As String = "Ctrl"
|
||||
Public Const Key_Alt As String = "Alt"
|
||||
Public Const Key_Del As String = "Del"
|
||||
Public Const Key_Esc As String = "Esc"
|
||||
|
||||
Public Const Advanced As String = "Advanced"
|
||||
Public Const TestProxy As String = "Test Proxy"
|
||||
Public Const Seconds As String = "seconds"
|
||||
Public Const MaxPuttyWaitTime As String = "Max. PuTTY && Integrated Ext. Apps wait time"
|
||||
Public Const AutomaticallyTryToReconnect As String = "Automatically try to reconnect when disconnected from server (RDP && ICA only)"
|
||||
Public Const Address As String = "Address"
|
||||
Public Const UseAuthentication As String = "This proxy server requires authentication"
|
||||
Public Const UseProxyForAutomaticUpdates As String = "Use a proxy server to connect"
|
||||
Public Const ToConfigurePuttySessions As String = "To configure PuTTY sessions click this button:"
|
||||
Public Const LaunchPutty As String = "Launch PuTTY"
|
||||
Public Const UseCustomPuttyPath As String = "Use custom PuTTY path:"
|
||||
Public Const AutomaticallyGetSessionInfo As String = "Automatically get session information"
|
||||
Public Const WriteLogFile As String = "Write log file (mRemoteNG.log)"
|
||||
Public Const StartupExit As String = "Startup/Exit"
|
||||
Public Const AllowOnlySingleInstance As String = "Allow only a single instance of the application (mRemoteNG restart required)"
|
||||
Public Const ReconnectAtStartup As String = "Reconnect to previously opened sessions on startup"
|
||||
Public Const CheckForUpdatesOnStartup As String = "Check for updates and announcements"
|
||||
Public Const ConfirmExit As String = "Confirm exit if there are open connections"
|
||||
Public Const SaveConsOnExit As String = "Save connections on exit"
|
||||
Public Const MinimizeToSysTray As String = "Minimize to System Tray"
|
||||
Public Const ShowFullConsFilePath As String = "Show full connections file path in window title"
|
||||
Public Const AlwaysShowSysTrayIcon As String = "Always show System Tray Icon"
|
||||
Public Const ShowDescriptionTooltips As String = "Show description tooltips in connection tree"
|
||||
Public Const TabsAndPanels As String = "Tabs && Panels"
|
||||
Public Const ShowProtocolOnTabs As String = "Show protocols on tab names"
|
||||
Public Const ShowLogonInfoOnTabs As String = "Show logon information on tab names"
|
||||
Public Const OpenNewTabRight As String = "Open new tab to the right of the currently selected tab"
|
||||
Public Const AlwaysShowPanelSelection As String = "Always show panel selection dialog when opening connectins"
|
||||
Public Const DoubleClickTabClosesIt As String = "Double click on tab closes it"
|
||||
Public Const SetHostnameLikeDisplayName As String = "Set hostname like display name when creating new connections"
|
||||
Public Const Experimental As String = "Experimental"
|
||||
Public Const UseSQLServer As String = "Use SQL Server to load && save connections"
|
||||
Public Const SQLInfo As String = "Please see Help - Getting started - SQL Configuration for more Info!"
|
||||
Public Const SQLServer As String = "SQL Server"
|
||||
Public Const AutoSaveMins As String = "Minutes (0 means disabled)"
|
||||
Public Const AutoSaveEvery As String = "Auto Save every:"
|
||||
Public Const TheFollowing As String = "the following"
|
||||
Public Const MyCurrentWindowsCreds As String = "my current credentials (windows logon info)"
|
||||
Public Const NoInformation As String = "no information"
|
||||
Public Const EmptyUsernamePasswordDomainFields As String = "For empty Username, Password or Domain fields use:"
|
||||
Public Const SingleClickOnOpenConnectionSwitchesToIt As String = "Single click on opened connection switches to it"
|
||||
Public Const SingleClickOnConnectionOpensIt As String = "Single click on connection opens it"
|
||||
Public Const SwitchToErrorsAndInfos As String = "Switch to Notifications panel on"
|
||||
Public Const Errors As String = "Errors"
|
||||
Public Const Warnings As String = "Warnings"
|
||||
Public Const Informations As String = "Informations"
|
||||
Public Const UseOnlyErrorsAndInfosPanel As String = "Use only Notifications panel (no messagebox popups)"
|
||||
Public Const Applications As String = "Applications"
|
||||
Public Const ProxyTestSucceeded As String = "Proxy test succeeded!"
|
||||
Public Const ProxyTestFailed As String = "Proxy test failed!"
|
||||
|
||||
Public Const StartIP As String = "Start IP"
|
||||
Public Const EndIP As String = "End IP"
|
||||
Public Const ProtocolToImport As String = "Protocol to import"
|
||||
Public Const OpenPorts As String = "Open Ports"
|
||||
Public Const ClosedPorts As String = "Closed Ports"
|
||||
Public Const StartPort As String = "Start Port"
|
||||
Public Const EndPort As String = "End Port"
|
||||
Public Const QuickConnect As String = "Quick Connect"
|
||||
Public Const UncheckProperties As String = "Uncheck the properties you want not to be saved!"
|
||||
Public Const Export As String = "Export"
|
||||
Public Const SaveAll As String = "Save All"
|
||||
Public Const RemoveAll As String = "Remove All"
|
||||
Public Const Save As String = "Save"
|
||||
Public Const SaveImageFilter As String = "Graphics Interchange Format File (.gif)|*.gif|Joint Photographic Experts Group File (.jpeg)|*.jpeg|Joint Photographic Experts Group File (.jpg)|*.jpg|Portable Network Graphics File (.png)|*.png"
|
||||
Public Const Screenshots As String = "Screenshots"
|
||||
Public Const Activity As String = "Activity"
|
||||
Public Const Type As String = "Type"
|
||||
Public Const Refresh As String = "Refresh"
|
||||
Public Const LogOff As String = "Log off"
|
||||
Public Const LocalFile As String = "Local File"
|
||||
Public Const RemoteFile As String = "Remote File"
|
||||
Public Const User As String = "User"
|
||||
Public Const Host As String = "Host"
|
||||
Public Const Transfer As String = "Transfer"
|
||||
Public Const AddConnection As String = "Add Connection"
|
||||
Public Const AddFolder As String = "Add Folder"
|
||||
Public Const Connect As String = "Connect"
|
||||
Public Const ConnectWithOptions As String = "Connect (with options)"
|
||||
Public Const ConnectToConsoleSession As String = "Connect to console session"
|
||||
Public Const ConnectInFullscreen As String = "Connect in fullscreen"
|
||||
Public Const ChoosePanelBeforeConnecting As String = "Choose panel before connecting"
|
||||
Public Const Tools As String = "Tools"
|
||||
Public Const ImportExport As String = "Import/Export"
|
||||
Public Const ExportmRemoteXML As String = "Export mRemote/mRemoteNG XML"
|
||||
Public Const ImportmRemoteXML As String = "Import mRemote/mRemoteNG XML"
|
||||
Public Const ImportAD As String = "Import from Active Directory"
|
||||
Public Const ImportRDPFiles As String = "Import from .RDP file(s)"
|
||||
Public Const ImportPortScan As String = "Import from Port Scan"
|
||||
Public Const Sort As String = "Sort"
|
||||
Public Const SortAsc As String = "Ascending (A-Z)"
|
||||
Public Const SortDesc As String = "Descending (Z-A)"
|
||||
Public Const Duplicate As String = "Duplicate"
|
||||
Public Const Rename As String = "Rename"
|
||||
Public Const MoveUp As String = "Move up"
|
||||
Public Const MoveDown As String = "Move down"
|
||||
Public Const ExpandAllFolders As String = "Expand all folders"
|
||||
Public Const CollapseAllFolders As String = "Collapse all folders"
|
||||
Public Const NewConnection As String = "New Connection"
|
||||
Public Const NewFolder As String = "New Folder"
|
||||
Public Const CheckForUpdate As String = "Check Again"
|
||||
Public Const DownloadAndInstall As String = "Download and Install"
|
||||
Public Const AvailableVersion As String = "Current version"
|
||||
Public Const CurrentVersion As String = "Installed version"
|
||||
Public Const Version As String = "Version"
|
||||
Public Const UpdateAvailable As String = "mRemoteNG requires an update"
|
||||
Public Const NoUpdateAvailable As String = "mRemoteNG is up to date"
|
||||
Public Const UpdateDownloadComplete As String = "Download complete!" & vbNewLine & "mRemoteNG will now quit and begin with the installation."
|
||||
Public Const SendTo As String = "Send to..."
|
||||
Public Const Screen As String = "Screen"
|
||||
|
||||
Public Const SaveConnectionsFileBeforeOpeningAnother As String = "Do you want to save the current connections file before loading another?"
|
||||
Public Const NewPanel As String = "New Panel"
|
||||
Public Const PanelName As String = "Panel name"
|
||||
Public Const NewTitle As String = "New Title"
|
||||
|
||||
Public Const AlwaysConnectEvenIfAuthFails As String = "Always connect, even if authentication fails"
|
||||
Public Const DontConnectWhenAuthFails As String = "Don't connect if authentication fails"
|
||||
Public Const WarnIfAuthFails As String = "Warn me if authentication fails"
|
||||
Public Const UltraVNCSCListeningPort As String = "UltraVNC SingleClick Listening Port"
|
||||
Public Const ListeningForIncomingVNCConnections As String = "Listening for incoming VNC connections on port"
|
||||
|
||||
Public Const CheckProperInstallationOfComponentsAtStartup As String = "Check proper installation of components at startup"
|
||||
Public Const XULrunnerPath As String = "XULrunner path"
|
||||
Public Const Inherit As String = "Inherit"
|
||||
Public Const ComponentsCheck As String = "Components Check"
|
||||
|
||||
Public Const EncryptCompleteConnectionFile As String = "Completely encrypt connection file"
|
||||
|
||||
Public Const EmptyPasswordContinue As String = "Do you want to continue with no password?"
|
||||
|
||||
'CompCheck
|
||||
Public Const CcAlwaysShowScreen As String = "Always show this screen at startup"
|
||||
Public Const CcCheckAgain As String = "Refresh"
|
||||
Public Const CcNotInstalledProperly As String = "not installed properly"
|
||||
Public Const CcCheckSucceeded As String = "Check succeeded!"
|
||||
Public Const CcCheckFailed As String = "Check failed!"
|
||||
Public Const CcRDPOK As String = "All RDP components were found and seem to be registered properly." & vbNewLine & _
|
||||
"Remote Desktop Connection Control Version {0}"
|
||||
Public Const CcRDPFailed As String = "For RDP to work properly you need to have at least Remote Desktop Connection (Terminal Services Client) 6.1 installed. You can get it here: http://support.microsoft.com/kb/951616" & vbNewLine & _
|
||||
"If you have RDP 6.1 installed and the check still fails, try to register mstscax.dll manually. To do this open up the run dialog (Start - Run) and enter the following: regsvr32 ""c:\windows\system32\mstscax.dll"" (Where c:\ is your system drive)." & vbNewLine & _
|
||||
"If you still have trouble getting RDP to work please consult the mRemoteNG Forum at http://forum.mremoteng.org/"
|
||||
Public Const CcVNCOK As String = "All VNC components were found and seem to be registered properly." & vbNewLine & _
|
||||
"VncSharpNG Control Version {0}"
|
||||
Public Const CcVNCFailed As String = "VNC requires VncSharpNG.dll to be located in your mRemoteNG application folder." & vbNewLine & _
|
||||
"Please make sure that you have the VncSharpNG.dll file in your mRemoteNG application folder (usually C:\Program Files\mRemoteNG\)." & vbNewLine & _
|
||||
"If you are still not able to pass this check or use VNC in mRemoteNG please consult the mRemoteNG Forum at http://forum.mremoteng.org/"
|
||||
Public Const CcPuttyOK As String = "The PuTTY executable was found and should be ready to use."
|
||||
Public Const CcPuttyFailed As String = "The SSH, Telnet, Rlogin and RAW protocols need PuTTY to work. PuTTY comes with every mRemoteNG package and is located in the installation path." & vbNewLine & _
|
||||
"Please make sure that either you have the Putty.exe in your mRemoteNG directory (default: c:\Program Files\mRemoteNG\) or that you specified a valid path to your PuTTY executable in the Options (Tools - Options - Advanced - Custom PuTTY path)"
|
||||
Public Const CcICAOK As String = "All ICA components were found and seem to be registered properly." & vbNewLine & _
|
||||
"Citrix ICA Client Control Version {0}"
|
||||
Public Const CcICAFailed As String = "ICA requires that the Citrix Presentation Server Client is installed and that the wfica.ocx library is registered. You can download the client here: http://www.citrix.com/download/" & vbNewLine & _
|
||||
"If you have the Citrix Presentation Server Client installed and the check still fails, try to register wfica.ocx manually." & vbNewLine & _
|
||||
"To do this open up the run dialog (Start - Run) and enter the following: regsvr32 ""c:\Program Files\Citrix\ICA Client\wfica.ocx"" (Where c:\Program Files\Citrix\ICA Client\ is the path to your Citrix Presentation Server Client installation)." & vbNewLine & _
|
||||
"If you are still not able to pass this check or use ICA in mRemoteNG please consult the mRemoteNG Forum at http://forum.mremoteng.org/"
|
||||
Public Const CcGeckoOK As String = "XULrunner was found and seems to be installed properly."
|
||||
Public Const CcGeckoFailed As String = "To use the Gecko Rendering Engine you need to have XULrunner 1.8.1.x and the path to the installation set in your Options." & vbNewLine & _
|
||||
"You can download XULrunner 1.8.1.3 here: ftp://ftp.mozilla.org/pub/xulrunner/releases/1.8.1.3/contrib/win32/" & vbNewLine & _
|
||||
"When you are finished downloading extract the package to a path of your choice. Then in mRemoteNG go to Tools - Options - Advanced and enter the correct path in the XULrunner path field." & vbNewLine & _
|
||||
"If you are still not able to pass this check or use the Gecko Engine in mRemoteNG please consult the mRemoteNG Forum at http://forum.mremoteng.org/"
|
||||
Public Const CcEOLOK As String = "EOLWTSCOM was found and seems to be registered properly."
|
||||
Public Const CcEOLFailed As String = "The (RDP) Sessions feature requires that you have a registered copy of eolwtscom.dll on your system." & vbNewLine & _
|
||||
"mRemoteNG ships with this component but will not register it automatically unless you run the setup package." & vbNewLine & _
|
||||
"To do register it manually do this: Open up the run dialog (Start - Run) and enter the following: regsvr32 ""c:\Program Files\mRemoteNG\eolwtscom.dll"" (Where c:\Program Files\mRemoteNG\ is the path to your mRemoteNG installation)." & vbNewLine & _
|
||||
"If you are still not able to pass this check or use the (RDP) Sessions feature in mRemoteNG please consult the mRemoteNG Forum at http://forum.mremoteng.org/"
|
||||
|
||||
Public Const PropertiesWillOnlyBeSavedMRemoteXML As String = "(These properties will only be saved if you select mRemote/mRemoteNG XML as output file format!)"
|
||||
End Class
|
||||
End Namespace
|
||||
2197
mRemoteV1/Language/Language.de.resx
Normal file
348
mRemoteV1/Language/Language.el.resx
Normal file
@@ -0,0 +1,348 @@
|
||||
<?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 xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||
<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="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strAbout" xml:space="preserve">
|
||||
<value>Σχετικά με</value>
|
||||
</data>
|
||||
<data name="strActive" xml:space="preserve">
|
||||
<value>Ενεργό</value>
|
||||
</data>
|
||||
<data name="strActivity" xml:space="preserve">
|
||||
<value>Δραστηριότητα</value>
|
||||
</data>
|
||||
<data name="strAddConnection" xml:space="preserve">
|
||||
<value>Νέα σύνδεση</value>
|
||||
</data>
|
||||
<data name="strAddFolder" xml:space="preserve">
|
||||
<value>Νέος φάκελος</value>
|
||||
</data>
|
||||
<data name="strAddNodeFromXmlFailed" xml:space="preserve">
|
||||
<value>AddNodeFromXML απέτυχε!</value>
|
||||
</data>
|
||||
<data name="strAddNodesFromSqlFailed" xml:space="preserve">
|
||||
<value>AddNodesFromSQL απέτυχε!</value>
|
||||
</data>
|
||||
<data name="strAllowOnlySingleInstance" xml:space="preserve">
|
||||
<value>Επιτρέπετε μόνο ένα μόνο παράδειγμα της εφαρμογής (απαιτείται επανεκκίνηση του mRemoteNG)</value>
|
||||
</data>
|
||||
<data name="strAlways" xml:space="preserve">
|
||||
<value>Πάντα</value>
|
||||
</data>
|
||||
<data name="strAlwaysConnectEvenIfAuthFails" xml:space="preserve">
|
||||
<value>Πάντοτε να συνδεθεί, ακόμη και αν ο έλεγχος ταυτότητας αποτυγχάνει</value>
|
||||
</data>
|
||||
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
|
||||
<value>Πάντα Εμφάνιση πίνακα διαλόγου επιλογής κατά το άνοιγμα συνδέσεων</value>
|
||||
</data>
|
||||
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
|
||||
<value>Να εμφανίζονται πάντα γνωστοποίησης περιοχων εικόνας</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
|
||||
<value>Ρωτήστε με ξανά αργότερα</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandCustom" xml:space="preserve">
|
||||
<value>Προσαρμογή των ρυθμίσεων τώρα</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandRecommended" xml:space="preserve">
|
||||
<value>Χρήση των προτεινόμενων ρυθμίσεων</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesContent" xml:space="preserve">
|
||||
<value>{0} μπορεί να ελέγχει αυτόματα ενημερώσεις που μπορούν να παρέχουν νέα χαρακτηριστικά και διορθώσεις σφαλμάτων. Συνιστάται να επιτρέψετε {0} να ελέγξει για ενημερώσεις σε εβδομαδιαία βάση.</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesMainInstruction" xml:space="preserve">
|
||||
<value>Ρυθμίσεις αυτόματης ενημέρωσης</value>
|
||||
</data>
|
||||
<data name="strAspect" xml:space="preserve">
|
||||
<value>Πτυχή</value>
|
||||
</data>
|
||||
<data name="strAutomaticallyGetSessionInfo" xml:space="preserve">
|
||||
<value>Αυτόματη λήψη πληροφοριών περιόδου</value>
|
||||
</data>
|
||||
<data name="strAutoSaveEvery" xml:space="preserve">
|
||||
<value>Αυτόματη αποθήκευση κάθε:</value>
|
||||
</data>
|
||||
<data name="strAutoSaveMins" xml:space="preserve">
|
||||
<value>Λεπτά (0 σημαίνει απενεργοποιημένο)</value>
|
||||
</data>
|
||||
<data name="strAvailableVersion" xml:space="preserve">
|
||||
<value>Τρέχουσα έκδοση</value>
|
||||
</data>
|
||||
<data name="strButtonBrowse" xml:space="preserve">
|
||||
<value>&Αναζήτηση...</value>
|
||||
</data>
|
||||
<data name="strButtonCancel" xml:space="preserve">
|
||||
<value>&Ακύρωση</value>
|
||||
</data>
|
||||
<data name="strButtonChange" xml:space="preserve">
|
||||
<value>Αλλαγή</value>
|
||||
</data>
|
||||
<data name="strButtonClose" xml:space="preserve">
|
||||
<value>&Κλείσιμο</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultInheritance" xml:space="preserve">
|
||||
<value>Προεπιλογή κληρονομικότητας</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultProperties" xml:space="preserve">
|
||||
<value>Προεπιλεγμένες ιδιότητες</value>
|
||||
</data>
|
||||
<data name="strButtonDisconnect" xml:space="preserve">
|
||||
<value>Αποσύνδεση</value>
|
||||
</data>
|
||||
<data name="strButtonIcon" xml:space="preserve">
|
||||
<value>Εικονίδιο</value>
|
||||
</data>
|
||||
<data name="strButtonImport" xml:space="preserve">
|
||||
<value>&Εισαγωγή</value>
|
||||
</data>
|
||||
<data name="strButtonInheritance" xml:space="preserve">
|
||||
<value>Κληρονομιά</value>
|
||||
</data>
|
||||
<data name="strButtonLaunchPutty" xml:space="preserve">
|
||||
<value>Εκκίνηση του PuTTY</value>
|
||||
</data>
|
||||
<data name="strButtonNew" xml:space="preserve">
|
||||
<value>& Νέο</value>
|
||||
</data>
|
||||
<data name="strButtonOK" xml:space="preserve">
|
||||
<value>&ΟΚ</value>
|
||||
</data>
|
||||
<data name="strButtonProperties" xml:space="preserve">
|
||||
<value>Ιδιότητες</value>
|
||||
</data>
|
||||
<data name="strButtonScan" xml:space="preserve">
|
||||
<value>&Σάρωση</value>
|
||||
</data>
|
||||
<data name="strButtonStop" xml:space="preserve">
|
||||
<value>&Διακοπή</value>
|
||||
</data>
|
||||
<data name="strButtonTestProxy" xml:space="preserve">
|
||||
<value>Δοκιμή διακομιστή μεσολάβησης</value>
|
||||
</data>
|
||||
<data name="strCannotImportNormalSessionFile" xml:space="preserve">
|
||||
<value>Δεν μπορείτε να εισαγάγετε ένα κανονικό αρχείο σύνδεσης.
|
||||
Παρακαλούμε χρησιμοποιήστε Αρχείο - Συνδέσεις φορτίου για τα κανονικά αρχεία σύνδεσης!</value>
|
||||
</data>
|
||||
<data name="strCannotStartPortScan" xml:space="preserve">
|
||||
<value>Δεν είναι δυνατή η εκκίνηση της σάρωσης υποδοχων, εσφαλμένη μορφή IP!</value>
|
||||
</data>
|
||||
<data name="strCategoryAppearance" xml:space="preserve">
|
||||
<value>Εμφάνιση</value>
|
||||
</data>
|
||||
<data name="strCategoryConnection" xml:space="preserve">
|
||||
<value>Σύνδεση</value>
|
||||
</data>
|
||||
<data name="strCategoryCredentials" xml:space="preserve">
|
||||
<value>Πιστοποιήσεις</value>
|
||||
</data>
|
||||
<data name="strCategoryDisplay" xml:space="preserve">
|
||||
<value>Οθόνη</value>
|
||||
</data>
|
||||
<data name="strCategoryGateway" xml:space="preserve">
|
||||
<value>Πύλη</value>
|
||||
</data>
|
||||
<data name="strCategoryGeneral" xml:space="preserve">
|
||||
<value>Γενική</value>
|
||||
</data>
|
||||
<data name="strCategoryMiscellaneous" xml:space="preserve">
|
||||
<value>Διάφορα</value>
|
||||
</data>
|
||||
<data name="strCategoryProtocol" xml:space="preserve">
|
||||
<value>Πρωτόκολλο</value>
|
||||
</data>
|
||||
<data name="strCategoryRedirect" xml:space="preserve">
|
||||
<value>Ανακατεύθυνση</value>
|
||||
</data>
|
||||
<data name="strCcAlwaysShowScreen" xml:space="preserve">
|
||||
<value>Πάντα εμφάνιση αυτής της οθόνης κατά την εκκίνηση</value>
|
||||
</data>
|
||||
<data name="strCcCheckAgain" xml:space="preserve">
|
||||
<value>Ανανέωση</value>
|
||||
</data>
|
||||
<data name="strCcCheckFailed" xml:space="preserve">
|
||||
<value>Ο ελέγχος απέτυχε!</value>
|
||||
</data>
|
||||
<data name="strCcCheckSucceeded" xml:space="preserve">
|
||||
<value>Ο ελεγχος πέτυχε!</value>
|
||||
</data>
|
||||
<data name="strCcEOLFailed" xml:space="preserve">
|
||||
<value>Η δυνατότητα (RDP) συνεδρίες προϋποθέτει ότι έχετε μια εγγεγραμμένο αντίγραφο του eolwtscom.dll στο σύστημά σας. mRemoteNG πλοία με αυτό το στοιχείο αλλά θα δεν εγγραφείτε αυτόματα εκτός αν η εκτέλεση του πακέτου εγκατάστασης. Να εγγραφείτε δεν με μη αυτόματο τρόπο αυτό: Ανοίξτε στο τρέχω διάλογος (έναρξη - Run) και πληκτρολογήστε τα παρακάτω: regsvr32 "c:\Program Files\mRemoteNG\eolwtscom.dll" (όπου c:\Program Files\mRemoteNG\ είναι η διαδρομή προς την εγκατάσταση mRemoteNG). Εάν είστε ακόμα δεν είναι σε θέση να περάσει ο έλεγχος αυτός ή να χρησιμοποιήσετε τη δυνατότητα συνεδρίες (RDP) στο mRemoteNG συμβουλευτείτε το mRemoteNG φόρουμ στο http://forum.mremoteng.org/</value>
|
||||
</data>
|
||||
<data name="strCcEOLOK" xml:space="preserve">
|
||||
<value>Το EOLWTSCOM βρέθηκε και φαίνεται να έχει καταχωρηθεί σωστά.</value>
|
||||
</data>
|
||||
<data name="strCcGeckoFailed" xml:space="preserve">
|
||||
<value>Για να χρησιμοποιήσετε το μηχανισμό απόδοσης Gecko πρέπει να έχετε XULrunner 1.8.1.x και ο δρόμος για την εγκατάσταση ορίστε στις επιλογές σας. Μπορείτε να κατεβάσετε XULrunner 1.8.1.3 εδώ: ftp://ftp.mozilla.org/pub/xulrunner/releases/1.8.1.3/contrib/win32/ όταν ολοκληρώσετε τη λήψη κάντε εξαγωγή του πακέτου για την πορεία της επιλογής σας. Στη συνέχεια, στο mRemoteNG πηγαίνετε στο εργαλεία - επιλογές - προηγμένες και πληκτρολογήσει τη σωστή διαδρομή στο πεδίο διαδρομή XULrunner. Εάν είστε ακόμα δεν είναι σε θέση να περάσει ο έλεγχος αυτός ή χρησιμοποιούν την μηχανή Gecko στο mRemoteNG συμβουλευτείτε το mRemoteNG φόρουμ στο http://forum.mremoteng.org/</value>
|
||||
</data>
|
||||
<data name="strCcGeckoOK" xml:space="preserve">
|
||||
<value>Το XULrunner βρέθηκε και φαίνεται να έχει εγκατασταθεί σωστά.</value>
|
||||
</data>
|
||||
<data name="strCcICAFailed" xml:space="preserve">
|
||||
<value>ICA απαιτεί ότι είναι εγκατεστημένο το XenDesktop Online Plugin και ότι καταχωρείται η βιβλιοθήκη wfica.ocx. Μπορείτε να κατεβάσετε τον πελάτη εδώ: http://www.citrix.com/download/ αν έχετε το XenDesktop Online Plugin εγκατασταθεί και ο έλεγχος συνεχίσει να αποτυγχάνει, προσπαθήστε να εγγραφείτε wfica.ocx με μη αυτόματο τρόπο. Να κάνει αυτό ανοίγω πάνω στο τρέχω διάλογος (έναρξη - Run) και πληκτρολογήστε τα παρακάτω: regsvr32 "c:\Program Files\Citrix\ICA Client\wfica.ocx" (όπου c:\Program Files\Citrix\ICA Client\ είναι η διαδρομή στην εγκατάσταση XenDesktop Online Plugin). Εάν είστε ακόμα δεν είναι σε θέση να περάσει ο έλεγχος αυτός ή να χρησιμοποιήσετε ICA στο mRemoteNG συμβουλευτείτε το mRemoteNG φόρουμ στο http://forum.mremoteng.org/"</value>
|
||||
</data>
|
||||
<data name="strCcICAOK" xml:space="preserve">
|
||||
<value>Όλα τα συστατικά ICA βρέθηκαν και φαίνεται να καταχωρηθηκαν σωστά. Πρόγραμμα-πελάτη Citrix ICA ελέγχου έκδοση {0}</value>
|
||||
</data>
|
||||
<data name="strCcNotInstalledProperly" xml:space="preserve">
|
||||
<value>δεν έχει εγκατασταθεί σωστά</value>
|
||||
</data>
|
||||
<data name="strConnectInFullscreen" xml:space="preserve">
|
||||
<value>Σύνδεση σε λειτουργία πλήρους οθόνης</value>
|
||||
</data>
|
||||
<data name="strConnecting" xml:space="preserve">
|
||||
<value>Σύνδεση...</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnected" xml:space="preserve">
|
||||
<value>Πρωτόκολλο γεγονός που συνδέεται</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnectedDetail" xml:space="preserve">
|
||||
<value>Σύνδεση με "{0}" μέσω "{1}" από το χρήστη "{2}" (Περιγραφή: «{3}»? Χρήστη το πεδίο: «{4}")</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnectionFailed" xml:space="preserve">
|
||||
<value>Η συνδεση απέτυχε!</value>
|
||||
</data>
|
||||
<data name="strConnectionEventErrorOccured" xml:space="preserve">
|
||||
<value>Πρωτόκολλο ErrorOccured εκδήλωση</value>
|
||||
</data>
|
||||
<data name="strConnectionOpenFailed" xml:space="preserve">
|
||||
<value>Άνοιγμα σύνδεσης απέτυχε!</value>
|
||||
</data>
|
||||
<data name="strConnectionOpenFailedNoHostname" xml:space="preserve">
|
||||
<value>Δεν μπορεί να ανοίχθει η σύνδεση: Το όνομα του κεντρικού υπολογιστή δεν ειναι καθορισμένο!</value>
|
||||
</data>
|
||||
<data name="strConnectionRdpErrorDetail" xml:space="preserve">
|
||||
<value>RDP λάθος!
|
||||
Κωδικός σφάλματος: {0}
|
||||
Περιγραφή σφάλματος: {1}</value>
|
||||
</data>
|
||||
<data name="strConnections" xml:space="preserve">
|
||||
<value>Συνδέσεις</value>
|
||||
</data>
|
||||
<data name="strConnectionSetDefaultPortFailed" xml:space="preserve">
|
||||
<value>Αδυναμία ορισμού προεπιλεγμένης θύρας!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileBackupFailed" xml:space="preserve">
|
||||
<value>Δεν ήταν δυνατή η δημιουργία αντιγράφων ασφαλείας των συνδέσεων αρχείου!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeImported" xml:space="preserve">
|
||||
<value>Δεν ήταν δυνατή η εισαγωγή συνδέσεων αρχείου!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeLoaded" xml:space="preserve">
|
||||
<value>Το αρχείο συνδέσεων "{0}" δεν μπορεί να φορτωθεί!</value>
|
||||
</data>
|
||||
</root>
|
||||
243
mRemoteV1/Language/Language.en-US.resx
Normal file
@@ -0,0 +1,243 @@
|
||||
<?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 xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||
<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="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strPropertyDescriptionColors" xml:space="preserve">
|
||||
<value>Select the color quality to be used.</value>
|
||||
</data>
|
||||
<data name="strPropertyNameColors" xml:space="preserve">
|
||||
<value>Colors</value>
|
||||
</data>
|
||||
<data name="strRDP16777216Colors" xml:space="preserve">
|
||||
<value>16777216 Colors (24-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP256Colors" xml:space="preserve">
|
||||
<value>256 Colors (8-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP32768Colors" xml:space="preserve">
|
||||
<value>32768 Colors (15-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP4294967296Colors" xml:space="preserve">
|
||||
<value>16777216 Colors (32-bit)</value>
|
||||
</data>
|
||||
<data name="strRDP65536Colors" xml:space="preserve">
|
||||
<value>65536 Colors (16-bit)</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConfigPanelBackgroundColor" xml:space="preserve">
|
||||
<value>The background color of the config panel.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConfigPanelCategoryTextColor" xml:space="preserve">
|
||||
<value>The color of the category text in the config panel.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConfigPanelGridLineColor" xml:space="preserve">
|
||||
<value>The color of the grid lines in the config panel</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConfigPanelHelpBackgroundColor" xml:space="preserve">
|
||||
<value>The background color of the help area of the config panel.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConfigPanelHelpTextColor" xml:space="preserve">
|
||||
<value>The color of the text in the help area of the config panel.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConfigPanelTextColor" xml:space="preserve">
|
||||
<value>The color of the text in the config panel.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConnectionsPanelBackgroundColor" xml:space="preserve">
|
||||
<value>The background color of the connections panel.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConnectionsPanelTextColor" xml:space="preserve">
|
||||
<value>The color of the text in the connections panel.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionConnectionsPanelTreeLineColor" xml:space="preserve">
|
||||
<value>The color of the tree lines in the connections panel.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionMenuBackgroundColor" xml:space="preserve">
|
||||
<value>The background color of the menus.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionMenuTextColor" xml:space="preserve">
|
||||
<value>The color of the text in the menus.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionSearchBoxBackgroundColor" xml:space="preserve">
|
||||
<value>The background color of the search box.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionSearchBoxTextColor" xml:space="preserve">
|
||||
<value>The color of the text in the search box.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionSearchBoxTextPromptColor" xml:space="preserve">
|
||||
<value>The color of the prompt text in the search box.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionToolbarBackgroundColor" xml:space="preserve">
|
||||
<value>The background color of the toolbars.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionToolbarTextColor" xml:space="preserve">
|
||||
<value>The color of the text in the toolbars.</value>
|
||||
</data>
|
||||
<data name="strThemeDescriptionWindowBackgroundColor" xml:space="preserve">
|
||||
<value>The background color of the main window.</value>
|
||||
</data>
|
||||
<data name="strThemeNameConfigPanelBackgroundColor" xml:space="preserve">
|
||||
<value>Config Panel Background Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameConfigPanelCategoryTextColor" xml:space="preserve">
|
||||
<value>Config Panel Category Text Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameConfigPanelGridLineColor" xml:space="preserve">
|
||||
<value>Config Panel Grid Line Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameConfigPanelHelpBackgroundColor" xml:space="preserve">
|
||||
<value>Config Panel Help Background Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameConfigPanelHelpTextColor" xml:space="preserve">
|
||||
<value>Config Panel Help Text Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameConfigPanelTextColor" xml:space="preserve">
|
||||
<value>Config Panel Text Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameConnectionsPanelBackgroundColor" xml:space="preserve">
|
||||
<value>Connections Panel Background Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameConnectionsPanelTextColor" xml:space="preserve">
|
||||
<value>Connections Panel Text Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameConnectionsPanelTreeLineColor" xml:space="preserve">
|
||||
<value>Connections Panel Tree Line Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameMenuBackgroundColor" xml:space="preserve">
|
||||
<value>Menu Background Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameMenuTextColor" xml:space="preserve">
|
||||
<value>Menu Text Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameSearchBoxBackgroundColor" xml:space="preserve">
|
||||
<value>Search Box Background Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameSearchBoxTextColor" xml:space="preserve">
|
||||
<value>Search Box Text Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameSearchBoxTextPromptColor" xml:space="preserve">
|
||||
<value>Search Box Text Prompt Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameToolbarBackgroundColor" xml:space="preserve">
|
||||
<value>Toolbar Background Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameToolbarTextColor" xml:space="preserve">
|
||||
<value>Toolbar Text Color</value>
|
||||
</data>
|
||||
<data name="strThemeNameWindowBackgroundColor" xml:space="preserve">
|
||||
<value>Window Background Color</value>
|
||||
</data>
|
||||
</root>
|
||||
387
mRemoteV1/Language/Language.es-AR.resx
Normal file
@@ -0,0 +1,387 @@
|
||||
<?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 xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||
<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="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strActive" xml:space="preserve">
|
||||
<value>Activo</value>
|
||||
</data>
|
||||
<data name="strActivity" xml:space="preserve">
|
||||
<value>Actividad</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultProperties" xml:space="preserve">
|
||||
<value>Propiedades por defecto</value>
|
||||
</data>
|
||||
<data name="strButtonDisconnect" xml:space="preserve">
|
||||
<value>Desconectar</value>
|
||||
</data>
|
||||
<data name="strButtonIcon" xml:space="preserve">
|
||||
<value>Icono</value>
|
||||
</data>
|
||||
<data name="strButtonLaunchPutty" xml:space="preserve">
|
||||
<value>Ejecutar PuTTY</value>
|
||||
</data>
|
||||
<data name="strButtonOK" xml:space="preserve">
|
||||
<value>& OK</value>
|
||||
</data>
|
||||
<data name="strButtonProperties" xml:space="preserve">
|
||||
<value>Propiedades</value>
|
||||
</data>
|
||||
<data name="strButtonScan" xml:space="preserve">
|
||||
<value>& Scanear</value>
|
||||
</data>
|
||||
<data name="strButtonStop" xml:space="preserve">
|
||||
<value>& Parar</value>
|
||||
</data>
|
||||
<data name="strButtonTestProxy" xml:space="preserve">
|
||||
<value>Probar Proxy</value>
|
||||
</data>
|
||||
<data name="strCategoryCredentials" xml:space="preserve">
|
||||
<value>Credenciales</value>
|
||||
</data>
|
||||
<data name="strCategoryMiscellaneous" xml:space="preserve">
|
||||
<value>Varios</value>
|
||||
</data>
|
||||
<data name="strCcAlwaysShowScreen" xml:space="preserve">
|
||||
<value>Siempre mostrar esta pantalla al inicio</value>
|
||||
</data>
|
||||
<data name="strCcNotInstalledProperly" xml:space="preserve">
|
||||
<value>no está correctamente instalado</value>
|
||||
</data>
|
||||
<data name="strCcPuttyOK" xml:space="preserve">
|
||||
<value>El ejecutable de PuTTY se encontró y debería estar listo para usarse.</value>
|
||||
</data>
|
||||
<data name="strCcRDPOK" xml:space="preserve">
|
||||
<value>Todos los componentes RDP se encontraron y parecen estar registrados correctamente. Versión de escritorio remoto {0}</value>
|
||||
</data>
|
||||
<data name="strCcVNCOK" xml:space="preserve">
|
||||
<value>Todos los componentes de VNC se encontraron y parecen estar registrados correctamente.
|
||||
VncSharpNG Control {0}</value>
|
||||
</data>
|
||||
<data name="strCheckboxAutomaticReconnect" xml:space="preserve">
|
||||
<value>Intentar reconectar automáticamente cuando se desconecte (solo para RDP && ICA)</value>
|
||||
</data>
|
||||
<data name="strCheckboxDomain" xml:space="preserve">
|
||||
<value>Dominio</value>
|
||||
</data>
|
||||
<data name="strCheckboxDoNotShowThisMessageAgain" xml:space="preserve">
|
||||
<value>No mostrar este mensaje de nuevo.</value>
|
||||
</data>
|
||||
<data name="strCheckboxInheritance" xml:space="preserve">
|
||||
<value>Herencia</value>
|
||||
</data>
|
||||
<data name="strCheckboxPassword" xml:space="preserve">
|
||||
<value>Contraseña</value>
|
||||
</data>
|
||||
<data name="strCheckboxProxyAuthentication" xml:space="preserve">
|
||||
<value>Este servidor proxy requiere autenticación</value>
|
||||
</data>
|
||||
<data name="strCheckboxPuttyPath" xml:space="preserve">
|
||||
<value>Usar ruta de Putty personalizada:</value>
|
||||
</data>
|
||||
<data name="strCheckboxReconnectWhenReady" xml:space="preserve">
|
||||
<value>Vuelva a conectarse cuando esté listo</value>
|
||||
</data>
|
||||
<data name="strCheckboxUpdateUseProxy" xml:space="preserve">
|
||||
<value>Usar un servidor proxy para conectarse</value>
|
||||
</data>
|
||||
<data name="strCheckboxUsername" xml:space="preserve">
|
||||
<value>Usuario</value>
|
||||
</data>
|
||||
<data name="strCheckboxWaitForExit" xml:space="preserve">
|
||||
<value>Esperar a Salir</value>
|
||||
</data>
|
||||
<data name="strCheckForUpdate" xml:space="preserve">
|
||||
<value>Pruebe nuevamente</value>
|
||||
</data>
|
||||
<data name="strCheckForUpdatesOnStartup" xml:space="preserve">
|
||||
<value>Comprobar las actualizaciones y anuncios en el inicio</value>
|
||||
</data>
|
||||
<data name="strCheckNow" xml:space="preserve">
|
||||
<value>Compruebe ahora</value>
|
||||
</data>
|
||||
<data name="strCheckProperInstallationOfComponentsAtStartup" xml:space="preserve">
|
||||
<value>Verifique la correcta instalación de los componentes en el inicio</value>
|
||||
</data>
|
||||
<data name="strChoosePanelBeforeConnecting" xml:space="preserve">
|
||||
<value>Elija el panel antes de conectarse</value>
|
||||
</data>
|
||||
<data name="strClosedPorts" xml:space="preserve">
|
||||
<value>Puertos Cerrados</value>
|
||||
</data>
|
||||
<data name="strCollapseAllFolders" xml:space="preserve">
|
||||
<value>Contraer todas las carpetas</value>
|
||||
</data>
|
||||
<data name="strComponentsCheck" xml:space="preserve">
|
||||
<value>Comprobación de componentes</value>
|
||||
</data>
|
||||
<data name="strConfigPropertyGridButtonIconClickFailed" xml:space="preserve">
|
||||
<value>btnIcon_Click falló!</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
|
||||
<value>¿Desea cerrar la conexión, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnectionPanelMainInstruction" xml:space="preserve">
|
||||
<value>¿Está seguro que desea cerrar el panel, "{0}"? Cualquier conexión que contenga el panel también estará cerrada.</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeFolder" xml:space="preserve">
|
||||
<value>¿Está seguro que desea eliminar la carpeta vacía, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
|
||||
<value>¿Está seguro que desea eliminar la carpeta "{0}"? También se eliminará cualquier carpetas o conexiones que contiene.</value>
|
||||
</data>
|
||||
<data name="strConfirmExitMainInstruction" xml:space="preserve">
|
||||
<value>¿Desea cerrar todas las conexiones abiertas?</value>
|
||||
</data>
|
||||
<data name="strConfirmResetLayout" xml:space="preserve">
|
||||
<value>¿Estás seguro que deseas restablecer los paneles a su diseño predeterminado?</value>
|
||||
</data>
|
||||
<data name="strConnect" xml:space="preserve">
|
||||
<value>Conectar</value>
|
||||
</data>
|
||||
<data name="strConnecting" xml:space="preserve">
|
||||
<value>Conectando...</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnected" xml:space="preserve">
|
||||
<value>Evento de protocolo conectado</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnectionFailed" xml:space="preserve">
|
||||
<value>¡Error de conexión!</value>
|
||||
</data>
|
||||
<data name="strConnectionOpenFailed" xml:space="preserve">
|
||||
<value>No se pudo abrir la conexión!</value>
|
||||
</data>
|
||||
<data name="strConnectionOpenFailedNoHostname" xml:space="preserve">
|
||||
<value>No se puede abrir la conexión: ningún nombre de host especificado!</value>
|
||||
</data>
|
||||
<data name="strConnectionRdpErrorDetail" xml:space="preserve">
|
||||
<value>Error de RDP.
|
||||
Código de Error: {0}
|
||||
Descripción del Error: {1}</value>
|
||||
</data>
|
||||
<data name="strConnections" xml:space="preserve">
|
||||
<value>Conexiones</value>
|
||||
</data>
|
||||
<data name="strConnectionSetDefaultPortFailed" xml:space="preserve">
|
||||
<value>No se ha podido establecer el puerto predeterminado!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileBackupFailed" xml:space="preserve">
|
||||
<value>No se pudo crear copia de seguridad del archivo de conexiones!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeImported" xml:space="preserve">
|
||||
<value>No se pudo importar archivo de conexiones!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeLoaded" xml:space="preserve">
|
||||
<value>No se pudo cargar el archivo de conexiones "{0}"!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeSaved" xml:space="preserve">
|
||||
<value>No se pudo guardar el archivo de conexiones!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotSaveAs" xml:space="preserve">
|
||||
<value>No se pudo guardar archivo de conexiones como "{0}"!</value>
|
||||
</data>
|
||||
<data name="strConnectToConsoleSession" xml:space="preserve">
|
||||
<value>Conectar con la sesión de consola</value>
|
||||
</data>
|
||||
<data name="strConnectWithOptions" xml:space="preserve">
|
||||
<value>Conectar (con opciones)</value>
|
||||
</data>
|
||||
<data name="strConnenctionClosedByUser" xml:space="preserve">
|
||||
<value>Conexión a {0} {1} vía cerrada por usuario {2}.</value>
|
||||
</data>
|
||||
<data name="strConnenctionClosedByUserDetail" xml:space="preserve">
|
||||
<value>Conexión a {0} {1} vía cerrada por usuario {2}. (Descripción: "{3}"; Campo de usuario: "{4}")</value>
|
||||
</data>
|
||||
<data name="strConnenctionCloseEvent" xml:space="preserve">
|
||||
<value>Evento de conexión cerrada</value>
|
||||
</data>
|
||||
<data name="strConnenctionCloseEventFailed" xml:space="preserve">
|
||||
<value>Evento de cerrar conexión falló!</value>
|
||||
</data>
|
||||
<data name="strCouldNotCreateNewConnectionsFile" xml:space="preserve">
|
||||
<value>No se pudo crear el nuevo archivo de conexiones!</value>
|
||||
</data>
|
||||
<data name="strCurrentVersion" xml:space="preserve">
|
||||
<value>Versión instalada</value>
|
||||
</data>
|
||||
<data name="strDetect" xml:space="preserve">
|
||||
<value>Detectar</value>
|
||||
</data>
|
||||
<data name="strDontConnectWhenAuthFails" xml:space="preserve">
|
||||
<value>No conectar si falla la autenticación</value>
|
||||
</data>
|
||||
<data name="strDownloadAndInstall" xml:space="preserve">
|
||||
<value>Descargar e instalar</value>
|
||||
</data>
|
||||
<data name="strDuplicate" xml:space="preserve">
|
||||
<value>Duplicar</value>
|
||||
</data>
|
||||
<data name="strEmptyPasswordContinue" xml:space="preserve">
|
||||
<value>¿Desea continuar sin contraseña?</value>
|
||||
</data>
|
||||
<data name="strEmptyUsernamePasswordDomainFields" xml:space="preserve">
|
||||
<value>Si desea Nombre de usuario, password o dominio vacio use:</value>
|
||||
</data>
|
||||
<data name="strEnc128Bit" xml:space="preserve">
|
||||
<value>128-bit</value>
|
||||
</data>
|
||||
<data name="strEnc128BitLogonOnly" xml:space="preserve">
|
||||
<value>128-bit (iniciar sesión)</value>
|
||||
</data>
|
||||
<data name="strEncBasic" xml:space="preserve">
|
||||
<value>Básica</value>
|
||||
</data>
|
||||
<data name="strEncryptCompleteConnectionFile" xml:space="preserve">
|
||||
<value>Encriptar completamente el archivo de conexiones</value>
|
||||
</data>
|
||||
<data name="strEndIP" xml:space="preserve">
|
||||
<value>Último IP</value>
|
||||
</data>
|
||||
<data name="strEndPort" xml:space="preserve">
|
||||
<value>Último puerto</value>
|
||||
</data>
|
||||
<data name="strErrorAddExternalToolsToToolBarFailed" xml:space="preserve">
|
||||
<value>BarraAgregarHerramientasExternas (frmMain) falló. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorBadDatabaseVersion" xml:space="preserve">
|
||||
<value>La versión de la base de datos {0} no es compatible con esta versión de {1}.</value>
|
||||
</data>
|
||||
<data name="strErrorCloneNodeFailed" xml:space="preserve">
|
||||
<value>ClonarModulo (Tree.Node) falló. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorCode" xml:space="preserve">
|
||||
<value>Código de Error {0}.</value>
|
||||
</data>
|
||||
<data name="strErrorConnectionListSaveFailed" xml:space="preserve">
|
||||
<value>La lista de conexiones no pudo ser guardada.</value>
|
||||
</data>
|
||||
<data name="strErrorDecryptionFailed" xml:space="preserve">
|
||||
<value>La decriptación falló. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorEncryptionFailed" xml:space="preserve">
|
||||
<value>La encriptación falló. {0}</value>
|
||||
</data>
|
||||
<data name="strErrorFipsPolicyIncompatible" xml:space="preserve">
|
||||
<value>La configuración de seguridad de Windows, "criptografía de sistema: usar FIPS algoritmos compatibles para codificación, algoritmos hash y firma", está habilitada. Esta configuración no es compatible con {0}. Consulte el artículo de soporte técnico de Microsoft en http://support.microsoft.com/kb/811833 para obtener más información. {0} se cerrará.</value>
|
||||
</data>
|
||||
<data name="strErrors" xml:space="preserve">
|
||||
<value>Errores</value>
|
||||
</data>
|
||||
<data name="strErrorVerifyDatabaseVersionFailed" xml:space="preserve">
|
||||
<value>VerificarVersionBasedeDatos (Config.Connections.Save) falló. {0}</value>
|
||||
</data>
|
||||
</root>
|
||||
2086
mRemoteV1/Language/Language.es.resx
Normal file
2176
mRemoteV1/Language/Language.fr.resx
Normal file
438
mRemoteV1/Language/Language.hu.resx
Normal file
@@ -0,0 +1,438 @@
|
||||
<?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 xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||
<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="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strAbout" xml:space="preserve">
|
||||
<value>Névjegy</value>
|
||||
</data>
|
||||
<data name="strActive" xml:space="preserve">
|
||||
<value>Aktív</value>
|
||||
</data>
|
||||
<data name="strActivity" xml:space="preserve">
|
||||
<value>Tevékenység</value>
|
||||
</data>
|
||||
<data name="strAddConnection" xml:space="preserve">
|
||||
<value>Új kapcsolat</value>
|
||||
</data>
|
||||
<data name="strAddFolder" xml:space="preserve">
|
||||
<value>Új mappa</value>
|
||||
</data>
|
||||
<data name="strAlways" xml:space="preserve">
|
||||
<value>Mindig</value>
|
||||
</data>
|
||||
<data name="strAlwaysConnectEvenIfAuthFails" xml:space="preserve">
|
||||
<value>Kapcsolódj mindig, sikertelen hitelesítés esetén is</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
|
||||
<value>Kérdezz rá később</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandRecommended" xml:space="preserve">
|
||||
<value>Javasolt beállítások használata</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesMainInstruction" xml:space="preserve">
|
||||
<value>Automatikus frissítés beállításai</value>
|
||||
</data>
|
||||
<data name="strAutomaticallyGetSessionInfo" xml:space="preserve">
|
||||
<value>Munkamenet információk automatikus megszerzése</value>
|
||||
</data>
|
||||
<data name="strAutoSaveEvery" xml:space="preserve">
|
||||
<value>Automatikus mentés minden:</value>
|
||||
</data>
|
||||
<data name="strAutoSaveMins" xml:space="preserve">
|
||||
<value>Perc (0 - kikapcsolva)</value>
|
||||
</data>
|
||||
<data name="strAvailableVersion" xml:space="preserve">
|
||||
<value>Aktuális verzió</value>
|
||||
</data>
|
||||
<data name="strButtonBrowse" xml:space="preserve">
|
||||
<value>&Böngészés...</value>
|
||||
</data>
|
||||
<data name="strButtonCancel" xml:space="preserve">
|
||||
<value>&Mégsem</value>
|
||||
</data>
|
||||
<data name="strButtonChange" xml:space="preserve">
|
||||
<value>Módosít</value>
|
||||
</data>
|
||||
<data name="strButtonClose" xml:space="preserve">
|
||||
<value>Be&zár</value>
|
||||
</data>
|
||||
<data name="strButtonDisconnect" xml:space="preserve">
|
||||
<value>Kapcsolat bontása</value>
|
||||
</data>
|
||||
<data name="strButtonIcon" xml:space="preserve">
|
||||
<value>Ikon</value>
|
||||
</data>
|
||||
<data name="strButtonImport" xml:space="preserve">
|
||||
<value>&Improtálás</value>
|
||||
</data>
|
||||
<data name="strButtonLaunchPutty" xml:space="preserve">
|
||||
<value>PuTTY indítása</value>
|
||||
</data>
|
||||
<data name="strButtonNew" xml:space="preserve">
|
||||
<value>&Új</value>
|
||||
</data>
|
||||
<data name="strButtonOK" xml:space="preserve">
|
||||
<value>&OK</value>
|
||||
</data>
|
||||
<data name="strButtonProperties" xml:space="preserve">
|
||||
<value>Tulajdonságok</value>
|
||||
</data>
|
||||
<data name="strCannotStartPortScan" xml:space="preserve">
|
||||
<value>Helytelen IP cím, a port szkennelés nem indítható!</value>
|
||||
</data>
|
||||
<data name="strCategoryAppearance" xml:space="preserve">
|
||||
<value>Megjelenés</value>
|
||||
</data>
|
||||
<data name="strCategoryConnection" xml:space="preserve">
|
||||
<value>Kapcsolat</value>
|
||||
</data>
|
||||
<data name="strCategoryCredentials" xml:space="preserve">
|
||||
<value>Hitelesítés</value>
|
||||
</data>
|
||||
<data name="strCategoryDisplay" xml:space="preserve">
|
||||
<value>Képernyő</value>
|
||||
</data>
|
||||
<data name="strCategoryGateway" xml:space="preserve">
|
||||
<value>Átjáró</value>
|
||||
</data>
|
||||
<data name="strCategoryGeneral" xml:space="preserve">
|
||||
<value>Általános</value>
|
||||
</data>
|
||||
<data name="strCategoryMiscellaneous" xml:space="preserve">
|
||||
<value>Egyéb</value>
|
||||
</data>
|
||||
<data name="strCategoryProtocol" xml:space="preserve">
|
||||
<value>Protokoll</value>
|
||||
</data>
|
||||
<data name="strCategoryRedirect" xml:space="preserve">
|
||||
<value>Átirányítás</value>
|
||||
</data>
|
||||
<data name="strCcCheckFailed" xml:space="preserve">
|
||||
<value>Az ellenőrzés sikertelen!</value>
|
||||
</data>
|
||||
<data name="strCcCheckSucceeded" xml:space="preserve">
|
||||
<value>Az ellenőrzés sikeres!</value>
|
||||
</data>
|
||||
<data name="strCheckboxDomain" xml:space="preserve">
|
||||
<value>Tartomány</value>
|
||||
</data>
|
||||
<data name="strCheckboxDoNotShowThisMessageAgain" xml:space="preserve">
|
||||
<value>Többé ne mutasd ezt az üzenetet.</value>
|
||||
</data>
|
||||
<data name="strColumnFilename" xml:space="preserve">
|
||||
<value>Fájlnév</value>
|
||||
</data>
|
||||
<data name="strColumnHostnameIP" xml:space="preserve">
|
||||
<value>Kiszolgálónév/IP cím</value>
|
||||
</data>
|
||||
<data name="strColumnMessage" xml:space="preserve">
|
||||
<value>Üzenet</value>
|
||||
</data>
|
||||
<data name="strColumnUsername" xml:space="preserve">
|
||||
<value>Felhasználónév</value>
|
||||
</data>
|
||||
<data name="strCommandLineArgsCouldNotBeParsed" xml:space="preserve">
|
||||
<value>Nem értelmezhető parancssori argumentum!</value>
|
||||
</data>
|
||||
<data name="strConnecting" xml:space="preserve">
|
||||
<value>Kapcsolódás...</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnectionFailed" xml:space="preserve">
|
||||
<value>Sikertelen kapcsolódás!</value>
|
||||
</data>
|
||||
<data name="strConnections" xml:space="preserve">
|
||||
<value>Kapcsolatok</value>
|
||||
</data>
|
||||
<data name="strCurrentVersion" xml:space="preserve">
|
||||
<value>Telepített verzió</value>
|
||||
</data>
|
||||
<data name="strDontConnectWhenAuthFails" xml:space="preserve">
|
||||
<value>Ne kapcsolódj sikertelen hitelesítéskor</value>
|
||||
</data>
|
||||
<data name="strDoubleClickTabClosesIt" xml:space="preserve">
|
||||
<value>Duplaklikk a fülön bezárja azt</value>
|
||||
</data>
|
||||
<data name="strExperimental" xml:space="preserve">
|
||||
<value>Kísérleti</value>
|
||||
</data>
|
||||
<data name="strFullscreen" xml:space="preserve">
|
||||
<value>Teljes képernyő</value>
|
||||
</data>
|
||||
<data name="strGeneral" xml:space="preserve">
|
||||
<value>Általános</value>
|
||||
</data>
|
||||
<data name="strGroupboxFiles" xml:space="preserve">
|
||||
<value>Fájlok</value>
|
||||
</data>
|
||||
<data name="strHttpConnectFailed" xml:space="preserve">
|
||||
<value>A HTTP csatlakozás nem sikerült!</value>
|
||||
</data>
|
||||
<data name="strImportExport" xml:space="preserve">
|
||||
<value>Importálás/Exportálás</value>
|
||||
</data>
|
||||
<data name="strKeysCtrlAltDel" xml:space="preserve">
|
||||
<value>CTRL-ALT-DEL</value>
|
||||
</data>
|
||||
<data name="strKeysCtrlEsc" xml:space="preserve">
|
||||
<value>CONTROL-ESC</value>
|
||||
</data>
|
||||
<data name="strLabelAddress" xml:space="preserve">
|
||||
<value>Cím:</value>
|
||||
</data>
|
||||
<data name="strLabelDisplayName" xml:space="preserve">
|
||||
<value>Megjelenítendő név</value>
|
||||
</data>
|
||||
<data name="strLabelDomain" xml:space="preserve">
|
||||
<value>Tartomány:</value>
|
||||
</data>
|
||||
<data name="strLabelFilename" xml:space="preserve">
|
||||
<value>Fájlnév:</value>
|
||||
</data>
|
||||
<data name="strLabelHostname" xml:space="preserve">
|
||||
<value>Hosztnév:</value>
|
||||
</data>
|
||||
<data name="strLabelOptions" xml:space="preserve">
|
||||
<value>Opciók:</value>
|
||||
</data>
|
||||
<data name="strLabelPassword" xml:space="preserve">
|
||||
<value>Jelszó:</value>
|
||||
</data>
|
||||
<data name="strLabelPort" xml:space="preserve">
|
||||
<value>Port:</value>
|
||||
</data>
|
||||
<data name="strLabelPortableEdition" xml:space="preserve">
|
||||
<value>Hordozható kiadás</value>
|
||||
</data>
|
||||
<data name="strLabelProtocol" xml:space="preserve">
|
||||
<value>Protokoll:</value>
|
||||
</data>
|
||||
<data name="strLabelServerStatus" xml:space="preserve">
|
||||
<value>Szerver állapot:</value>
|
||||
</data>
|
||||
<data name="strLabelSQLDatabaseName" xml:space="preserve">
|
||||
<value>Adatbázis:</value>
|
||||
</data>
|
||||
<data name="strLabelSQLServerDatabaseName" xml:space="preserve">
|
||||
<value>Adatbázis:</value>
|
||||
</data>
|
||||
<data name="strLabelUsername" xml:space="preserve">
|
||||
<value>Felhasználónév:</value>
|
||||
</data>
|
||||
<data name="strLabelVerify" xml:space="preserve">
|
||||
<value>Ellenőrzés:</value>
|
||||
</data>
|
||||
<data name="strLanguage" xml:space="preserve">
|
||||
<value>Nyelv</value>
|
||||
</data>
|
||||
<data name="strLanguageDefault" xml:space="preserve">
|
||||
<value>(Automatikus észlelés)</value>
|
||||
</data>
|
||||
<data name="strMenuAbout" xml:space="preserve">
|
||||
<value>Névjegy</value>
|
||||
</data>
|
||||
<data name="strMenuCheckForUpdates" xml:space="preserve">
|
||||
<value>Frissítés keresése</value>
|
||||
</data>
|
||||
<data name="strMenuJumpTo" xml:space="preserve">
|
||||
<value>Ugrás</value>
|
||||
</data>
|
||||
<data name="strMenuLaunchExternalTool" xml:space="preserve">
|
||||
<value>Külső eszköz indítása</value>
|
||||
</data>
|
||||
<data name="strMenuNewConnectionFile" xml:space="preserve">
|
||||
<value>Új kapcsolatfájl</value>
|
||||
</data>
|
||||
<data name="strMenuNewExternalTool" xml:space="preserve">
|
||||
<value>Új külső eszköz</value>
|
||||
</data>
|
||||
<data name="strMenuNotifications" xml:space="preserve">
|
||||
<value>Értesítések</value>
|
||||
</data>
|
||||
<data name="strMenuOpenConnectionFile" xml:space="preserve">
|
||||
<value>Kapcsolatfájl megnyitása...</value>
|
||||
</data>
|
||||
<data name="strMenuOptions" xml:space="preserve">
|
||||
<value>Opciók</value>
|
||||
</data>
|
||||
<data name="strMenuReconnect" xml:space="preserve">
|
||||
<value>Újrakapcsolódás</value>
|
||||
</data>
|
||||
<data name="strMenuRename" xml:space="preserve">
|
||||
<value>Átnevezés</value>
|
||||
</data>
|
||||
<data name="strMenuRenameConnection" xml:space="preserve">
|
||||
<value>Kapcsolat átnevezése</value>
|
||||
</data>
|
||||
<data name="strMenuRenameFolder" xml:space="preserve">
|
||||
<value>Könyvtár átnevezése</value>
|
||||
</data>
|
||||
<data name="strMenuRenameTab" xml:space="preserve">
|
||||
<value>Fül átnevezése</value>
|
||||
</data>
|
||||
<data name="strMenuReportBug" xml:space="preserve">
|
||||
<value>Hibabejelentés</value>
|
||||
</data>
|
||||
<data name="strMenuResetLayout" xml:space="preserve">
|
||||
<value>Elrendezés alaphelyzetbe állítása</value>
|
||||
</data>
|
||||
<data name="strMenuSaveConnectionFile" xml:space="preserve">
|
||||
<value>Kapcsolatfájl mentése</value>
|
||||
</data>
|
||||
<data name="strMenuSaveConnectionFileAs" xml:space="preserve">
|
||||
<value>Kapcsolatfájl mentése, mint...</value>
|
||||
</data>
|
||||
<data name="strMenuScreenshot" xml:space="preserve">
|
||||
<value>Képernyőmentés</value>
|
||||
</data>
|
||||
<data name="strMenuScreenshotManager" xml:space="preserve">
|
||||
<value>Képernyőmentés kezelő</value>
|
||||
</data>
|
||||
<data name="strMenuSessions" xml:space="preserve">
|
||||
<value>Munkamenetek</value>
|
||||
</data>
|
||||
<data name="strMenuSessionsAndScreenshots" xml:space="preserve">
|
||||
<value>Munkamanetek és képernyőmentések</value>
|
||||
</data>
|
||||
<data name="strMenuWebsite" xml:space="preserve">
|
||||
<value>Honlap</value>
|
||||
</data>
|
||||
<data name="strNever" xml:space="preserve">
|
||||
<value>Soha</value>
|
||||
</data>
|
||||
<data name="strNewConnection" xml:space="preserve">
|
||||
<value>Új kapcsolat</value>
|
||||
</data>
|
||||
<data name="strNewFolder" xml:space="preserve">
|
||||
<value>Új mappa</value>
|
||||
</data>
|
||||
<data name="strNewPanel" xml:space="preserve">
|
||||
<value>Új panel</value>
|
||||
</data>
|
||||
<data name="strNewRoot" xml:space="preserve">
|
||||
<value>Új gyökérelem</value>
|
||||
</data>
|
||||
<data name="strNewTitle" xml:space="preserve">
|
||||
<value>Új cím</value>
|
||||
</data>
|
||||
<data name="strNo" xml:space="preserve">
|
||||
<value>Nem</value>
|
||||
</data>
|
||||
<data name="strUseSQLServer" xml:space="preserve">
|
||||
<value>SQL szerver használata a kapcsolatok kezelésére</value>
|
||||
</data>
|
||||
</root>
|
||||
2177
mRemoteV1/Language/Language.it.resx
Normal file
2195
mRemoteV1/Language/Language.nb-NO.resx
Normal file
2196
mRemoteV1/Language/Language.nl.resx
Normal file
1905
mRemoteV1/Language/Language.pl.resx
Normal file
490
mRemoteV1/Language/Language.pt-BR.resx
Normal file
@@ -0,0 +1,490 @@
|
||||
<?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 xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
|
||||
<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="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="strAbout" xml:space="preserve">
|
||||
<value>Sobre</value>
|
||||
</data>
|
||||
<data name="strActive" xml:space="preserve">
|
||||
<value>Ativo</value>
|
||||
</data>
|
||||
<data name="strActivity" xml:space="preserve">
|
||||
<value>Atividade</value>
|
||||
</data>
|
||||
<data name="strAddConnection" xml:space="preserve">
|
||||
<value>Nova conexão</value>
|
||||
</data>
|
||||
<data name="strAddFolder" xml:space="preserve">
|
||||
<value>Nova pasta</value>
|
||||
</data>
|
||||
<data name="strAddNodeFromXmlFailed" xml:space="preserve">
|
||||
<value>AddNodeFromXML falhou!</value>
|
||||
</data>
|
||||
<data name="strAddNodesFromSqlFailed" xml:space="preserve">
|
||||
<value>AddNodesFromSQL falhou!</value>
|
||||
</data>
|
||||
<data name="strAllowOnlySingleInstance" xml:space="preserve">
|
||||
<value>Permitir apenas uma única instância do aplicativo (É necessário reiniciar o mRemoteNG)</value>
|
||||
</data>
|
||||
<data name="strAlways" xml:space="preserve">
|
||||
<value>Sempre</value>
|
||||
</data>
|
||||
<data name="strAlwaysConnectEvenIfAuthFails" xml:space="preserve">
|
||||
<value>Conectar sempre, mesmo se a autenticação falhar</value>
|
||||
</data>
|
||||
<data name="strAlwaysShowPanelSelection" xml:space="preserve">
|
||||
<value>Sempre mostrar a caixa de diálogo de seleção de painel ao abrir conexões</value>
|
||||
</data>
|
||||
<data name="strAlwaysShowSysTrayIcon" xml:space="preserve">
|
||||
<value>Sempre mostrar ícone da área de notificação</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandAskLater" xml:space="preserve">
|
||||
<value>Me pergunte novamente mais tarde</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandCustom" xml:space="preserve">
|
||||
<value>Personalizar as configurações agora</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesCommandRecommended" xml:space="preserve">
|
||||
<value>Usar as configurações recomendadas</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesContent" xml:space="preserve">
|
||||
<value>{0} pode verificar automaticamente as atualizações que podem fornecer novas funcionalidades e correções de bugs. É recomendável que você permita {0} verificar atualizações semanais.</value>
|
||||
</data>
|
||||
<data name="strAskUpdatesMainInstruction" xml:space="preserve">
|
||||
<value>Configurações de atualização automática</value>
|
||||
</data>
|
||||
<data name="strAspect" xml:space="preserve">
|
||||
<value>Aspecto</value>
|
||||
</data>
|
||||
<data name="strAutomaticallyGetSessionInfo" xml:space="preserve">
|
||||
<value>Obter automaticamente informações de sessão</value>
|
||||
</data>
|
||||
<data name="strAutoSaveEvery" xml:space="preserve">
|
||||
<value>Salvar automaticamente a cada:</value>
|
||||
</data>
|
||||
<data name="strAutoSaveMins" xml:space="preserve">
|
||||
<value>Minutos (0 significa desativado)</value>
|
||||
</data>
|
||||
<data name="strAvailableVersion" xml:space="preserve">
|
||||
<value>Versão atual</value>
|
||||
</data>
|
||||
<data name="strButtonBrowse" xml:space="preserve">
|
||||
<value>& Procurar...</value>
|
||||
</data>
|
||||
<data name="strButtonCancel" xml:space="preserve">
|
||||
<value>& Cancelar</value>
|
||||
</data>
|
||||
<data name="strButtonChange" xml:space="preserve">
|
||||
<value>Alterar</value>
|
||||
</data>
|
||||
<data name="strButtonClose" xml:space="preserve">
|
||||
<value>& Fechar</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultInheritance" xml:space="preserve">
|
||||
<value>Herança padrão</value>
|
||||
</data>
|
||||
<data name="strButtonDefaultProperties" xml:space="preserve">
|
||||
<value>Propriedades padrões</value>
|
||||
</data>
|
||||
<data name="strButtonDisconnect" xml:space="preserve">
|
||||
<value>Desconectar</value>
|
||||
</data>
|
||||
<data name="strButtonIcon" xml:space="preserve">
|
||||
<value>Ícone</value>
|
||||
</data>
|
||||
<data name="strButtonImport" xml:space="preserve">
|
||||
<value>& Importar</value>
|
||||
</data>
|
||||
<data name="strButtonInheritance" xml:space="preserve">
|
||||
<value>Herança</value>
|
||||
</data>
|
||||
<data name="strButtonLaunchPutty" xml:space="preserve">
|
||||
<value>Executar o PuTTY</value>
|
||||
</data>
|
||||
<data name="strButtonNew" xml:space="preserve">
|
||||
<value>& Novo</value>
|
||||
</data>
|
||||
<data name="strButtonOK" xml:space="preserve">
|
||||
<value>& OK</value>
|
||||
</data>
|
||||
<data name="strButtonProperties" xml:space="preserve">
|
||||
<value>Propriedades</value>
|
||||
</data>
|
||||
<data name="strButtonScan" xml:space="preserve">
|
||||
<value>& Scanear</value>
|
||||
</data>
|
||||
<data name="strButtonStop" xml:space="preserve">
|
||||
<value>& Parar</value>
|
||||
</data>
|
||||
<data name="strButtonTestProxy" xml:space="preserve">
|
||||
<value>Testar Proxy</value>
|
||||
</data>
|
||||
<data name="strCannotImportNormalSessionFile" xml:space="preserve">
|
||||
<value>Você não pode importar um arquivo de conexão normal. Por favor, use Arquivo - Carregar Conexões para os arquivos de conexão normal!</value>
|
||||
</data>
|
||||
<data name="strCannotStartPortScan" xml:space="preserve">
|
||||
<value>Não é possível iniciar a varredura de portas, formato IP incorreto!</value>
|
||||
</data>
|
||||
<data name="strCategoryAppearance" xml:space="preserve">
|
||||
<value>Aparência</value>
|
||||
</data>
|
||||
<data name="strCategoryConnection" xml:space="preserve">
|
||||
<value>Conexão</value>
|
||||
</data>
|
||||
<data name="strCategoryCredentials" xml:space="preserve">
|
||||
<value>Credenciais</value>
|
||||
</data>
|
||||
<data name="strCategoryDisplay" xml:space="preserve">
|
||||
<value>Mostrar</value>
|
||||
</data>
|
||||
<data name="strCategoryGateway" xml:space="preserve">
|
||||
<value>Gateway</value>
|
||||
</data>
|
||||
<data name="strCategoryGeneral" xml:space="preserve">
|
||||
<value>Geral</value>
|
||||
</data>
|
||||
<data name="strCategoryMiscellaneous" xml:space="preserve">
|
||||
<value>Diversos</value>
|
||||
</data>
|
||||
<data name="strCategoryProtocol" xml:space="preserve">
|
||||
<value>Protocolo</value>
|
||||
</data>
|
||||
<data name="strCategoryRedirect" xml:space="preserve">
|
||||
<value>Redirecionar</value>
|
||||
</data>
|
||||
<data name="strCcAlwaysShowScreen" xml:space="preserve">
|
||||
<value>Sempre mostrar esta tela na inicialização</value>
|
||||
</data>
|
||||
<data name="strCcCheckAgain" xml:space="preserve">
|
||||
<value>Atualizar</value>
|
||||
</data>
|
||||
<data name="strCcCheckFailed" xml:space="preserve">
|
||||
<value>Falha na verificação!</value>
|
||||
</data>
|
||||
<data name="strCcCheckSucceeded" xml:space="preserve">
|
||||
<value>Verificação com sucesso!</value>
|
||||
</data>
|
||||
<data name="strCcEOLFailed" xml:space="preserve">
|
||||
<value>O recurso de sessões (RDP) requer que você tenha uma cópia registrada do eolwtscom.dll no seu sistema.
|
||||
mRemoteNG vem com este componente mas não o registra automaticamente a menos que você instale o pacote.
|
||||
Para registrá-lo manualmente faça isso: Abra a caixa de diálogo Executar (Iniciar - Executar) e digite o seguinte: regsvr32 "c:\Program Files\mRemoteNG\eolwtscom.dll" (onde c:\Program Files\mRemoteNG\ é o caminho para a instalação de mRemoteNG).
|
||||
Se você ainda não conseguir passar por esta verificação ou não conseguir usar o recurso de sessões (RDP) no mRemoteNG, por favor, consulte o fórum de mRemoteNG em http://forum.mremoteng.org/</value>
|
||||
</data>
|
||||
<data name="strCcEOLOK" xml:space="preserve">
|
||||
<value>EOLWTSCOM foi encontrada e parece ser registrado corretamente.</value>
|
||||
</data>
|
||||
<data name="strCcGeckoFailed" xml:space="preserve">
|
||||
<value>Para usar o motor de renderização Gecko, você precisa ter o XULrunner 1.8.1.x e o caminho para a instalação do conjunto em suas opções.
|
||||
Você pode baixar o XULrunner 1.8.1.3 em: ftp://ftp.mozilla.org/pub/xulrunner/releases/1.8.1.3/contrib/win32/
|
||||
Quando terminar de baixar o pacote, extraia o pacote para um caminho de sua escolha.
|
||||
Em seguida, emtre no mRemoteNG e vá em ferramentas - opções - avançadas e digite o caminho correto no campo caminho XULrunner.
|
||||
Se ainda não conseguir passar esta verificação ou usar o motor Gecko em mRemoteNG por favor consultar o fórum de mRemoteNG em http://forum.mremoteng.org/</value>
|
||||
</data>
|
||||
<data name="strCcGeckoOK" xml:space="preserve">
|
||||
<value>XULrunner foi encontrado e aparenta estar instalado corretamente.</value>
|
||||
</data>
|
||||
<data name="strCcICAFailed" xml:space="preserve">
|
||||
<value>ICA requer que o XenDesktop Online Plugin esteja instalado e a biblioteca wfica.ocs registrada. Você pode baixar o cliente aqui: http://www.citrix.com/download/
|
||||
Se você tiver o Plugin Online XenDesktop instalado e a verificação ainda falhar, tente registrar manualmente o wfica.ocx
|
||||
Para fazer isso abra a caixa de diálogo Executar (Iniciar - Executar) e digite o seguinte: regsvr32 "c:\Program Files\Citrix\ICA Client\wfica.ocx" (onde c:\Program Files\Citrix\ICA Client\ é o caminho para a instalação do Plugin Online do XenDesktop).
|
||||
Se você ainda não puder passar por esta verificação ou usar ICA em mRemoteNG, por favor, consulte o fórum de mRemoteNG no http://forum.mremoteng.org/"</value>
|
||||
</data>
|
||||
<data name="strCcICAOK" xml:space="preserve">
|
||||
<value>Todos os componentes de ICA, foram encontrados e parecem ser registrado corretamente. Citrix ICA cliente controle versão {0}</value>
|
||||
</data>
|
||||
<data name="strCcNotInstalledProperly" xml:space="preserve">
|
||||
<value>não instalado corretamente</value>
|
||||
</data>
|
||||
<data name="strCcPuttyFailed" xml:space="preserve">
|
||||
<value>O SSH, Telnet, Rlogin e protocolos RAW precisam PuTTY para trabalhar. PuTTY vem com cada pacote de mRemoteNG e está localizado no caminho de instalação.
|
||||
Por favor, certifique-se de que você tem o Putty.exe em seu diretório mRemoteNG (padrão: c:\Program Files\mRemoteNG\) ou que você tenha especificado um caminho válido para seu executável PuTTY nas opções (ferramentas - opções - avançadas - caminho personalizado PuTTY)</value>
|
||||
</data>
|
||||
<data name="strCcPuttyOK" xml:space="preserve">
|
||||
<value>O executável PuTTY foi encontrado e está pronto para usar.</value>
|
||||
</data>
|
||||
<data name="strCheckboxDomain" xml:space="preserve">
|
||||
<value>Domínio</value>
|
||||
</data>
|
||||
<data name="strCheckboxDoNotShowThisMessageAgain" xml:space="preserve">
|
||||
<value>Não mostre esta mensagem novamente.</value>
|
||||
</data>
|
||||
<data name="strCheckboxInheritance" xml:space="preserve">
|
||||
<value>Herança</value>
|
||||
</data>
|
||||
<data name="strCheckboxPassword" xml:space="preserve">
|
||||
<value>Senha</value>
|
||||
</data>
|
||||
<data name="strCheckboxProxyAuthentication" xml:space="preserve">
|
||||
<value>Este servidor proxy requer autenticação</value>
|
||||
</data>
|
||||
<data name="strCheckboxPuttyPath" xml:space="preserve">
|
||||
<value>Use o caminho personalizado para o PuTTY:</value>
|
||||
</data>
|
||||
<data name="strCheckboxReconnectWhenReady" xml:space="preserve">
|
||||
<value>Reconectar quando estiver pronto</value>
|
||||
</data>
|
||||
<data name="strCheckboxUpdateUseProxy" xml:space="preserve">
|
||||
<value>Usar um servidor proxy para se conectar</value>
|
||||
</data>
|
||||
<data name="strCheckboxUsername" xml:space="preserve">
|
||||
<value>Nome de usuário</value>
|
||||
</data>
|
||||
<data name="strCheckboxWaitForExit" xml:space="preserve">
|
||||
<value>Esperar para sair</value>
|
||||
</data>
|
||||
<data name="strCheckForUpdate" xml:space="preserve">
|
||||
<value>Verificar novamente</value>
|
||||
</data>
|
||||
<data name="strCheckForUpdatesOnStartup" xml:space="preserve">
|
||||
<value>Verificar se há atualizações e anúncios na inicialização</value>
|
||||
</data>
|
||||
<data name="strCheckNow" xml:space="preserve">
|
||||
<value>Verificar agora</value>
|
||||
</data>
|
||||
<data name="strClosedPorts" xml:space="preserve">
|
||||
<value>Portas fechadas</value>
|
||||
</data>
|
||||
<data name="strCollapseAllFolders" xml:space="preserve">
|
||||
<value>Recolher todas as pastas</value>
|
||||
</data>
|
||||
<data name="strColumnArguments" xml:space="preserve">
|
||||
<value>Argumentos</value>
|
||||
</data>
|
||||
<data name="strColumnDisplayName" xml:space="preserve">
|
||||
<value>Nome de exibição</value>
|
||||
</data>
|
||||
<data name="strColumnFilename" xml:space="preserve">
|
||||
<value>Nome do arquivo</value>
|
||||
</data>
|
||||
<data name="strColumnHostnameIP" xml:space="preserve">
|
||||
<value>HostName/IP</value>
|
||||
</data>
|
||||
<data name="strColumnMessage" xml:space="preserve">
|
||||
<value>Mensagem</value>
|
||||
</data>
|
||||
<data name="strColumnUsername" xml:space="preserve">
|
||||
<value>Nome de usuário</value>
|
||||
</data>
|
||||
<data name="strColumnWaitForExit" xml:space="preserve">
|
||||
<value>Esperar para sair</value>
|
||||
</data>
|
||||
<data name="strComponentsCheck" xml:space="preserve">
|
||||
<value>Validação de componentes</value>
|
||||
</data>
|
||||
<data name="strConfigPropertyGridButtonIconClickFailed" xml:space="preserve">
|
||||
<value>btnIcon_Click falhou!</value>
|
||||
</data>
|
||||
<data name="strConfigPropertyGridHideItemsFailed" xml:space="preserve">
|
||||
<value>ShowHideGridItems falhou!</value>
|
||||
</data>
|
||||
<data name="strConfigPropertyGridMenuClickFailed" xml:space="preserve">
|
||||
<value>IconMenu_Click falhou!</value>
|
||||
</data>
|
||||
<data name="strConfigPropertyGridObjectFailed" xml:space="preserve">
|
||||
<value>Propriedade do Objeto de grade falhou!</value>
|
||||
</data>
|
||||
<data name="strConfigPropertyGridSetHostStatusFailed" xml:space="preserve">
|
||||
<value>SetHostStatus falhou!</value>
|
||||
</data>
|
||||
<data name="strConfigPropertyGridValueFailed" xml:space="preserve">
|
||||
<value>pGrid_PopertyValueChanged falhou!</value>
|
||||
</data>
|
||||
<data name="strConfigUiLoadFailed" xml:space="preserve">
|
||||
<value>Config UI carregamento falhou!</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnectionMainInstruction" xml:space="preserve">
|
||||
<value>Você quer fechar a conexão, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmCloseConnectionPanelMainInstruction" xml:space="preserve">
|
||||
<value>Tem certeza que deseja fechar o painel, "{0}"? Todas as ligações ativas serão fechadas.</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteExternalTool" xml:space="preserve">
|
||||
<value>Tem certeza que deseja excluir a ferramenta externa, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteExternalToolMultiple" xml:space="preserve">
|
||||
<value>Tem certeza que deseja excluir as ferramentas externas {0} selecionadas?</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeConnection" xml:space="preserve">
|
||||
<value>Tem certeza que deseja excluir a ligação, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeFolder" xml:space="preserve">
|
||||
<value>Tem certeza que deseja excluir a pasta vazia, "{0}"?</value>
|
||||
</data>
|
||||
<data name="strConfirmDeleteNodeFolderNotEmpty" xml:space="preserve">
|
||||
<value>Tem certeza que deseja excluir a pasta, "{0}"? Pastas ou ligações que ele contém também serão excluídas.</value>
|
||||
</data>
|
||||
<data name="strConfirmExitMainInstruction" xml:space="preserve">
|
||||
<value>Você quer fechar todas as conexões abertas?</value>
|
||||
</data>
|
||||
<data name="strConfirmResetLayout" xml:space="preserve">
|
||||
<value>Tem certeza de que deseja redefinir os painéis para o layout padrão?</value>
|
||||
</data>
|
||||
<data name="strConnect" xml:space="preserve">
|
||||
<value>Conectar-se</value>
|
||||
</data>
|
||||
<data name="strConnectInFullscreen" xml:space="preserve">
|
||||
<value>Se conectar em modo fullscreen</value>
|
||||
</data>
|
||||
<data name="strConnecting" xml:space="preserve">
|
||||
<value>Conectando...</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnected" xml:space="preserve">
|
||||
<value>Protocolo evento conectado</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnectedDetail" xml:space="preserve">
|
||||
<value>Conexão para "{0}" via "{1}" estabelecido pelo usuário "{2}" (Descrição: "{3}"; Campo usuário: "{4}")</value>
|
||||
</data>
|
||||
<data name="strConnectionEventConnectionFailed" xml:space="preserve">
|
||||
<value>Conexão falhou!</value>
|
||||
</data>
|
||||
<data name="strConnectionEventErrorOccured" xml:space="preserve">
|
||||
<value>Erro no evento de protocolo</value>
|
||||
</data>
|
||||
<data name="strConnectionOpenFailed" xml:space="preserve">
|
||||
<value>Abrir conexão falhou!</value>
|
||||
</data>
|
||||
<data name="strConnectionOpenFailedNoHostname" xml:space="preserve">
|
||||
<value>Não é possível abrir a conexão: nenhum nome de host especificado!</value>
|
||||
</data>
|
||||
<data name="strConnectionRdpErrorDetail" xml:space="preserve">
|
||||
<value>Erro RDP!
|
||||
Código de erro: {0}
|
||||
Descrição do erro: {1}</value>
|
||||
</data>
|
||||
<data name="strConnections" xml:space="preserve">
|
||||
<value>Conexões</value>
|
||||
</data>
|
||||
<data name="strConnectionSetDefaultPortFailed" xml:space="preserve">
|
||||
<value>Impossível definir porta padrão!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileBackupFailed" xml:space="preserve">
|
||||
<value>Não foi possível criar o backup do arquivo de conexões!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeImported" xml:space="preserve">
|
||||
<value>Falha na importação do arquivo de conexões!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeLoaded" xml:space="preserve">
|
||||
<value>Arquivo de conexões "{0}" não pôde ser carregado!</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeLoadedNew" xml:space="preserve">
|
||||
<value>Arquivo de conexões "{0}" não pôde ser carregado! Começando com o novo arquivo de conexões.</value>
|
||||
</data>
|
||||
<data name="strConnectionsFileCouldNotBeSaved" xml:space="preserve">
|
||||
<value>Não consegui salvar o arquivo de conexões!</value>
|
||||
</data>
|
||||
</root>
|
||||
2129
mRemoteV1/Language/Language.pt.resx
Normal file
2264
mRemoteV1/Language/Language.resx
Normal file
2205
mRemoteV1/Language/Language.ru.resx
Normal file
2007
mRemoteV1/Language/Language.uk.resx
Normal file
2131
mRemoteV1/Language/Language.zh-CN.resx
Normal file
2164
mRemoteV1/Language/Language.zh-TW.resx
Normal file
@@ -81,9 +81,8 @@ Namespace Messages
|
||||
If My.Settings.SwitchToMCOnError And nMsg.MsgClass = Messages.MessageClass.ErrorMsg Then
|
||||
Debug.Print("Error: " & nMsg.MsgText)
|
||||
|
||||
If My.Settings.WriteLogFile Then
|
||||
App.Runtime.log.Error(nMsg.MsgText)
|
||||
End If
|
||||
' Always log error messages
|
||||
App.Runtime.Log.Error(nMsg.MsgText)
|
||||
|
||||
If OnlyLog Then
|
||||
Exit Sub
|
||||
@@ -100,14 +99,7 @@ Namespace Messages
|
||||
Debug.Print("Report: " & nMsg.MsgText)
|
||||
|
||||
If My.Settings.WriteLogFile Then
|
||||
App.Runtime.log.Info(nMsg.MsgText)
|
||||
End If
|
||||
|
||||
If App.Editions.Spanlink.Enabled Then
|
||||
App.Runtime.Report(Tools.Misc.LeadingZero(Now.Year) & "-" & Tools.Misc.LeadingZero(Now.Month) & "-" & _
|
||||
Tools.Misc.LeadingZero(Now.Day) & " " & Tools.Misc.LeadingZero(Now.Hour) & ":" & _
|
||||
Tools.Misc.LeadingZero(Now.Minute) & ":" & Tools.Misc.LeadingZero(Now.Second) & _
|
||||
" " & nMsg.MsgText)
|
||||
App.Runtime.Log.Info(nMsg.MsgText)
|
||||
End If
|
||||
|
||||
Exit Sub
|
||||
@@ -121,6 +113,10 @@ Namespace Messages
|
||||
AddToList(lvItem)
|
||||
End Sub
|
||||
|
||||
Public Sub AddExceptionMessage(ByVal message As String, ByVal ex As Exception, Optional ByVal msgClass As MessageClass = MessageClass.ErrorMsg, Optional ByVal logOnly As Boolean = False)
|
||||
AddMessage(msgClass, message & vbNewLine & Tools.Misc.GetExceptionMessageRecursive(ex), logOnly)
|
||||
End Sub
|
||||
|
||||
Private Sub SwitchTimerTick(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Me.SwitchToMessage()
|
||||
Me.ECTimer.Enabled = False
|
||||
@@ -138,11 +134,11 @@ Namespace Messages
|
||||
Private Shared Sub ShowMessageBox(ByVal Msg As Messages.Message)
|
||||
Select Case Msg.MsgClass
|
||||
Case Messages.MessageClass.InformationMsg
|
||||
MessageBox.Show(Msg.MsgText, Language.Base.Information & " (" & Msg.MsgDate & ")", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Language.strTitleInformation, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Information)
|
||||
Case Messages.MessageClass.WarningMsg
|
||||
MessageBox.Show(Msg.MsgText, Language.Base.Warning & " (" & Msg.MsgDate & ")", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Language.strTitleWarning, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
||||
Case Messages.MessageClass.ErrorMsg
|
||||
MessageBox.Show(Msg.MsgText, Language.Base.Error_ & " (" & Msg.MsgDate & ")", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
MessageBox.Show(Msg.MsgText, String.Format(My.Language.strTitleError, Msg.MsgDate), MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
4
mRemoteV1/My Project/Application.Designer.vb
generated
@@ -1,7 +1,7 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:2.0.50727.1433
|
||||
' Runtime Version:4.0.30319.239
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
@@ -32,7 +32,7 @@ Namespace My
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Protected Overrides Sub OnCreateMainForm()
|
||||
Me.MainForm = Global.mRemote.frmMain
|
||||
Me.MainForm = Global.mRemoteNG.frmMain
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System
|
||||
Imports System.Resources
|
||||
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
@@ -12,10 +13,10 @@ Imports System.Runtime.InteropServices
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("")>
|
||||
<Assembly: AssemblyProduct("mRemoteNG")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2007-2010 Felix Deimel, Riley McArdle")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2007-2009 Felix Deimel, 2010-2013 Riley McArdle")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
<Assembly: Guid("A99669B2-FAEB-11DE-995A-826C56D89593")>
|
||||
@@ -31,5 +32,6 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.63")>
|
||||
<Assembly: AssemblyFileVersion("1.63")>
|
||||
<Assembly: AssemblyVersion("1.72.*")>
|
||||
|
||||
<Assembly: NeutralResourcesLanguageAttribute("en")>
|
||||
|
||||