From 64b3bf8bc1f8bbb7787354c77d12240a9501fb90 Mon Sep 17 00:00:00 2001 From: binarymaster Date: Thu, 20 Nov 2014 16:36:04 +0300 Subject: [PATCH] Added license info Now license can be viewed in applications --- src-installer/RDPWInst.dpr | 36 ++++++++++++++++++++-- src-installer/RDPWInst.dproj.local | 8 ----- src-installer/RDPWInst.identcache | Bin 114 -> 0 bytes src-installer/resource.res | Bin 342528 -> 353628 bytes src-rdpconfig/LicenseUnit.dcu | Bin 0 -> 4169 bytes src-rdpconfig/LicenseUnit.dfm | 47 +++++++++++++++++++++++++++++ src-rdpconfig/LicenseUnit.pas | 43 ++++++++++++++++++++++++++ src-rdpconfig/MainUnit.dcu | Bin 11088 -> 12506 bytes src-rdpconfig/MainUnit.dfm | 15 +++++++-- src-rdpconfig/MainUnit.pas | 31 ++++++++++++++++++- src-rdpconfig/RDPConf.dpr | 4 ++- src-rdpconfig/RDPConf.dproj | 3 ++ src-rdpconfig/manifest.res | Bin 1836 -> 0 bytes src-rdpconfig/resource.res | Bin 0 -> 12936 bytes 14 files changed, 172 insertions(+), 15 deletions(-) delete mode 100644 src-installer/RDPWInst.dproj.local delete mode 100644 src-installer/RDPWInst.identcache create mode 100644 src-rdpconfig/LicenseUnit.dcu create mode 100644 src-rdpconfig/LicenseUnit.dfm create mode 100644 src-rdpconfig/LicenseUnit.pas delete mode 100644 src-rdpconfig/manifest.res create mode 100644 src-rdpconfig/resource.res diff --git a/src-installer/RDPWInst.dpr b/src-installer/RDPWInst.dpr index 4ae678c..3d4527c 100644 --- a/src-installer/RDPWInst.dpr +++ b/src-installer/RDPWInst.dpr @@ -573,6 +573,23 @@ begin ResStream.Free; end; +function ExtractResText(ResName: String): String; +var + ResStream: TResourceStream; + Str: TStringList; +begin + ResStream := TResourceStream.Create(HInstance, ResName, RT_RCDATA); + Str := TStringList.Create; + try + Str.LoadFromStream(ResStream); + except + + end; + ResStream.Free; + Result := Str.Text; + Str.Free; +end; + procedure ExtractFiles; begin if not DirectoryExists(ExtractFilePath(ExpandPath(WrapPath))) then @@ -904,14 +921,16 @@ begin if (ParamCount < 1) or ( - (ParamStr(1) <> '-i') + (ParamStr(1) <> '-l') + and (ParamStr(1) <> '-i') and (ParamStr(1) <> '-u') and (ParamStr(1) <> '-r') ) then begin Writeln('USAGE:'); - Writeln('RDPWInst.exe [-i[-s]|-u|-r]'); + Writeln('RDPWInst.exe [-l|-i[-s]|-u|-r]'); Writeln(''); + Writeln('-l display the license agreement'); Writeln('-i install wrapper to Program Files folder (default)'); Writeln('-i -s install wrapper to System32 folder'); Writeln('-u uninstall wrapper'); @@ -919,6 +938,12 @@ begin Exit; end; + if ParamStr(1) = '-l' then + begin + Writeln(ExtractResText('LICENSE')); + Exit; + end; + if not SupportedArchitecture then begin Writeln('[-] Unsupported processor architecture.'); @@ -934,6 +959,13 @@ begin Writeln('[*] RDP Wrapper Library is already installed.'); Halt(ERROR_INVALID_FUNCTION); end; + Writeln('[*] Notice to user:'); + Writeln(' - By using all or any portion of this software, you are agreeing'); + Writeln(' to be bound by all the terms and conditions of the license agreement.'); + Writeln(' - To read the license agreement, run the installer with -l parameter.'); + Writeln(' - If you do not agree to any terms of the license agreement,'); + Writeln(' do not use the software.'); + Writeln('[*] Installing...'); if ParamStr(2) = '-s' then WrapPath := '%SystemRoot%\system32\rdpwrap.dll' diff --git a/src-installer/RDPWInst.dproj.local b/src-installer/RDPWInst.dproj.local deleted file mode 100644 index 673bb99..0000000 --- a/src-installer/RDPWInst.dproj.local +++ /dev/null @@ -1,8 +0,0 @@ - - - - 2013.12.07 17:17:05.152.dproj,C:\Users\user\Documents\RAD Studio\Projects\Project1.dproj=C:\Users\user\Documents\Delphi Projects (local)\RDPWrapInst\RDPInstall.dproj - 2013.12.07 19:48:57.905.dproj,C:\Users\user\Documents\Delphi Projects (local)\RDPWrapInst\RDPInstall.dproj=C:\Users\user\Documents\Delphi Projects (local)\RDPWrapInst\RDPWInst.dproj - 2013.12.08 01:45:08.501.dproj,C:\Users\user\Documents\Delphi Projects (local)\RDPWrapInst\RDPWInst.dproj=C:\Users\user\Documents\Delphi Projects (local)\RDPWrap\devel\installer2.0-binarymaster\RDPWInst.dproj - - diff --git a/src-installer/RDPWInst.identcache b/src-installer/RDPWInst.identcache deleted file mode 100644 index 2ed9853aae7263541ce1747962a39f8114c51ae5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmZQ%U|>jewu%WYPAw{qDFu=-F8Rr&xv6<2#W60aIRzP+3IRp=S*gh-#R?iZ`N@en znlV8x0pUf71u-e9WvMwanR&$}i8(o`MY>6ud5J}pxrxOkKx06PJb_YrDFsD9OW*(i D_Yfs& diff --git a/src-installer/resource.res b/src-installer/resource.res index f0f95debf3febcc1f6f4979b8f955939d9a5a0f6..5f44448f08ac935e35955525cde9df0acb4edaca 100644 GIT binary patch delta 11144 zcmcJVO^+N|R)&inMo5+{fnX$HHkXnRWsy#Mni+=fURB%W=>m7zsw$7MTD^$OjLZt0 z8IiB>vFU~H)vlr*# z)y2sqoS(crfARFy6Ma3gr=Ff(T%MnP{z~8I{hv(3({!2TS&b&uR9}S<4o%axN)JPI zm8{oclO}nnF`-V&O%;-S5#~j{@VCOUC__`FlTfDHvRE{837eQCJ-NuLy3A&cz70tg z7CJCpgxM}!r1oqTeuDI}XjWI@lTa-AkX4~w6!T`2=Jmc>RZ-qjYhG-3WwyGiLvfv_ zWk4a`%j#W7n)<3JvwyPlOeL9d^ZEKJsRKu@%7oYQmD$?Hcn!y=t7IKcOz^9}<+8Nm91g~nby=(@At|MreORZ977tBiioS001@Fy^&8Emr zP<$?2XZ4kf@zbW^8L!C5ZBuTGibFbwn&T~I9-PA{nC)fQBzdw*6*C=LHS??JgGso)O3ielZpY#xBo98h&V(S& zI?7N(VQkClD%(oXGFuYLZCa8)bvXLj<3HyKPAhPXd)(zTbyb5nxgOk>Y1Iit;w;U< z-8>_LhLKM8NXb6XZ;IwH9JL&A$Un=&2jes#6XcF}*`krGGCUu_!t_YrqiI%24RqdQ zmC`(d%W-e`z6q}jj+&Elq|-(Rw&TRxmgzDrOJ27>E9ExHTOF|}78!;mmcbs_ET69% za|2ly@}dswY?IZzO!%r|SzilMm7Pa47C64kH4|f2RIU9TRC=~AvsF{tpNYph9mwLv z>>q%}pm(QslJ8tu0@183A(mya0c`WDBu8Vp{Yjz3>>g+g z4^S4I2jDSx5sz{(4o&J>1<1lLW{|2T;0Q3M?~~1zV|fks2G;(XoqxRDreOU&*|RRL zAM^?GG%d4t#OqxetwS=WRaIpNrt>Jy6XzT+aX2*5FBCfo``TVu^8$(--2beoih z4|&9hZIhPidPi>OZ_Q^jcuC;MlTC`t3b_Zd)a+$4w>scp*Vnx>Z)wC|%d}Wd@3*lT zc%q6F>-U|3-gm_)LCps`t@m6^u*lkj7Q)P4EO-U~FJg<~f@Bco(o_cm-=+D0DA`W6 zE{NHBXELg01`$Rk^r#?7fHL=6KSs`&hv5IWa;H8FnP$bqgIiiAeyALb+YeE%oi2#a zQu?YTZs=Wf;{*Vu`lGWyRL8?%Z_%NNQm3W{EmAK4OxLh;SwOgxfcs|&jRumhOZg$k zvdxCx#p_29@Li=Mi2ovTd0sB6D{JvAJuLf4r9C#jQEN=n{sGuNC`1X%K<^3&S2eOm z6$!msYlK3ztLk)94LnUfZJ@d`nOpsfe|K!Cu6YxpOfW;o-WD{xZP|+mB+`JLO`@i|FHpDxB$Eq^rc>j)x37;hFh(^d^`=mP#YdvLh+<; z>|JU)4Hu19^~i5`P9%L^jk!0a1`Zx01|mB2wWi-nKFuB$(z9*Tx}pDa%)$2S#Wi(t z0=)Bw7V!#W_34GG6d!&U?oQXpHXQ6!5v}w?M3B?P^Me*s0z#tDhh^0FjGO9SzF`}!q)8^g^jkG zh+QT0K5E=NJU0FoOImbmvC}mqTiO3Y9!1IEq@3%M-dkLIx?>c>2}6<^bIncbthH@H zNVeOxM#Um0`UZN2x=ye8I>{KwUA-P|fZAk?h+v?{oK&rm&P7^?>QM$W_Jl7(7R#5u0_5>S zVzJ%p5Iv>#7;8jW;?y|Im@n{^>9I*uLW||gV$DdSXcLjxW_}tg=uz^(@E0}>;96nWo6#EF_s*S<&MniLbW%%a54WSKTe`~y zH!DVObLZq?+XqQ%b=a3aB4S($z)N^jt&oMV7r~U;jTvSY{09)VF_7vvl+jo6yVI`> zA38Ar14Bl~@G{A~DD+vST_(zpvWA+gMOCkXgbo(AcEG;777xTt-QnT@7A>fm(2>2k zJbiL<$cprRZQ)W~i6^La?oa9S1nwKMeRQy&tNt6!6~g`vN)CwZCB@@8y-bsZ4Tl5J z!0Zi&%AcYiJdgrBIgS5f4`#INHkkJ8|GtMudntE&);u+M)D1I$Vc9xO$Sw*?FC>yu zOwE?uq}4&|Pdg=(5H%c}JosiXY2^6*kaiIr^__dT^71FIup?@1`D}#-m6rpds2Z+J zr918W4B8rC8IMZ3#w`qcD6hG<0&j;w4Q=liYYUj&oT(xEa`8~eV$`?2PsRVUKV!&M zw~!{~G+Y8@#acYo%ZdISMcH=CKK`nQG-FwC*vQHLKXx6)Q}PP`#Y{3{^6@0n*-#c3 z+XY*OoNGvZ0Aa63r*-trO@MgHzG443LcZ7pw^#Jxy&M%~4ZB(tu%~KZ3SWBcp`>FF zql-R@y%5VXLw~n!zyZ>_?d~i(b?3HGV&IWysfW!di_pVe;@sN}&Z(79+-BrX$=vfz z&yC)H+TPsjx|ZAQ-}}9;mkQ*l?8eI0uSd`qPw+GirAk8V7w){QF|!r$+ZQ%2WT^AZ ze`>>szdeyhlXh14kgFMeWz#aH)BDM)f$&+^+EC!Y??Vw!@rJ?ImNc0iD3cWv zvLStk*@Cl;Qrwx$>G7SzrAv6;+Ng}SB^NBE-|A>G8av%@A^sY^>v{^Jc&XdN7ru3pO3QcJuB&C?BN_o{U31!|wQmEv*f~6g z*|KE!!3bbCH!9Q>`$+BiH4(CBste@qOcmTqGcgB{a=7+yrju_^1=l_u^lq0v9peyG zo5^ppyphn)x$0%HrGb%3!b7j=BpI=HJ?wi$!6bF0C1j>30}@7?Di%E(KF~GpsV2k5 zCnmbq*KzFQhG7x3d9l~~(76wF*}!E5opk>P5}$dK>`(GG93EeU(~HCK`SHc+g}e3j z>E#zMUR{RQ$LHtAXP2iZ7lGUE(dGAxXIyl@34eEb_LQwZK*HGcy>|Kp%8g(oXQE!H z4~fe=n>Q?D?4rzTKKo}LEtx` zk|BMkY9%dP1Ya?LQ_awj>A3ZXcNfP1jyoQ%fBUF~JYB6b`l)&PU}D`4J7ETBOzz8t z%V?a}ZvcFZ?<4O3^y`FmHnWRD#eV^9us(>l2iS0Ye4aV{X^8PA@|Yx&OqC)R0IgqDpLFiQqvT(WgnVA$Sy_QWdzN;i8~nHO8CtxyvT^-b&>MOZTB)riF{G5U;Gz{x2dpR0qkpE;Fj^|n_ zD)Bmcm5#^pA`5LsS@8Obar{Phnj1Vr+5hU@Tb-3CjSIR--&4-73Jtsf$~KVhO1Z?B z)AV7>)R==N%hXHA7&l<+%gIP`Y?Xmpy5Z+Qy9xJybOtEkYY(9|TF#c)_iyUG7ms+v zetToXWd+kHtF44eb6nk$$ZOsZYw14#MmSdw^mbgV;;g>Yb8~y^< z!(QQrB8Epuw~h6ZU6Ejp*)n6$eC)M6NTxV@6VVw% zA4OL8xKp;1_~{rW^RC~KF@N5_cl`1tkDUJfrwW}sp>?#+efz&^ z)89-J<*j0nh?_s#P`S^PUmb0q4+Cyf2nY(E>{m&N4MBy>>{eK)1MHLABy1N7MqT zGR&iLH2XJGl8!Y?W9OuD(@&+{R%X1ANXq#Y`%>@ApY*qPU+wts>+qH7jE=)ecAx&W zpcYA@>jrH9zK^j<_~r1M$#5i<{illjQt`oO_wNx}n<$j?-rC1iww8ms=^-*cJ{ki? zjvCMEZ=!@^Rwu+C>XfGPst$`90@k>;4ZqK)MDD^OZu5253j}Z9%dqdY<4JO_1{B3OVFX5Z;JKuzlz6n40Cj9QdhadjW GC;taUxbD*c delta 33 kcmca}O0?mN$OMJv8twKPZAKtw0%B$$X4zh&&HBI+0OjNiTmS$7 diff --git a/src-rdpconfig/LicenseUnit.dcu b/src-rdpconfig/LicenseUnit.dcu new file mode 100644 index 0000000000000000000000000000000000000000..f860bf3a997e668703a1b02dbd7e9b62fe90ba05 GIT binary patch literal 4169 zcmeHJYit}>6~3OF*hj|LmXkP+n}?mYRxn{zsyd{o(Av9pvLtrg-HlUPD`Y%#cRk7M z%w}dbi6aD2TaZDen9@e5vicG)Rc&ahHdF|qgrqGJK^1?H5dA~CEU$(bpqeCHu={N_s6(?a>sUPF_XEB9N5ckL^8pBAlm zIb9K1LeCc$iLI1k(vs>v@t`*@^w#Wx>&c=JqR^S!H+NWSUSj-cSvB4FX1gvF*3@LX zq_n4anJ9&oQjRKVs69;g(cSoBwA_$&@^vwp>rOH2H4^*4C6vI8xS- z{}7_-ZDd!P?nH*s;(%f4_Hox=;G}e2wIIV4@%DR$8Lnnj$51UVShXch)pdPhVM8uy z7fZG!EibXZq^q9H$b#W|&ceTb^Ojav7l98rh9|QgQC1k*7=f~CUM5x396zDSl4sb~ zhPR2aKEeoek7^9|GuV@xmX1p&@yVmEYZR>R<=_2E({Y!hmgWsDv^;5Bo@4v>AivOs zLqWJFXZO5k|B{Z1AW794Eqiv>I4RdNxb8YIBVB^}7}^wrYzl&-8kW=pNY`jiK zN*<$XVxm0Z-N}sDZL-pvRvp?srfNqDj$O9&&oU|In>s0Fm*-45R?g?8BlY{47>izZ z-aa1MG|S*eqs9bj6vDx!R5Li7!+nr9#GIJ6j;W@>d3~C(HBn{cKnk|E%s?zh$ks8w zh5Ix^J<&aZ0nf4gCQ5HVHxo%eD{^*Oo1auIszK-M*Pq=(8*2n|bCCM4vwTfdK5nVx z4*lm03`T(o(^frdARON;Ri0n8zhK(hI*kmiW%_TMkd&hqCaEu7iJwV(!ZY7tpgXE; zN-fGtlcF&rWw4^(Gtyh<)1~-`bdj6RyNq$c2Oi-TWsuW@TMsWiyGPSkPuNb8t2)0r z$DjGGo^#xP{Gwq&!mpfAg`3{;G@B%_;~(V!y+1vR^on0u5AA z`xv4Q)__tnPlZ42*d?l4L%R1eBW7J#kAdzC!&~ACf^zj+azM&5iJ}!b#STo^&q&O) zlpX4yX*#%G#Tj~q9$=Up-Ox#JEmvk4q_k^*du>&h`XQFbd^u%%M&8gU!)!}!QaR0a z5x7!gFlK2+s=EIS$R@2Bd9+Mj%a3E8(M?fX>Mfv_Q1eZ?>y*O`#oQl#LEIw@_eYh_ zgk_$Q7A0|!ajLV1BPi$;T+L=6781YJQ=OHXRNh;b&O(}+o|C6O>oFelZ4k;ASsrsx zAg4$D3_~$1!WjR60ji{ic}dfDrGMaA#$s2a)KtqR%^CdaI4?6Ey8$_E!q&>}c}A}H zxQ|FZtf~u4i5bi7mWo?7FESL%kpna_BOH04=ZX1ndDMK~wLO8%=Jw53; z{s2RbZ&DWRf%m_6G~bpRD|?=8y_r1qXWq`hs>@%xSinSxJiq?nr?ipiAbU!P&%O5O zTZ%T)7*9bPiOhsOv_xrU33mEbqeh%Wm|1C5B&uCf8B$~;I&-> zg=oLfHZhB&_u)lFsGXG!EnmC#_Ry_&i|wn6Iht)myMV#Y<(9v+34!e^+uP3exqWBvcH|IGudM3p?c=zBDX?IZNvB5Dy`@>lgZt`a_z`2kxA1iY!XB^2?_`aVU( z(pae*&GBuEVYLjfL^Mr#gCbT|^Z$zveT@ILTr6G|q9UL&09AxaA5^;G#|W(mh|rF( z72yoRO9&kZ-$v*}=tg)3VLQSxgdv275x$J@RfIW&%?OVp3?Mv-u#9jE!fgl%gxe8v z2(Kah2w?`{(+H;!#t`m9co5-!ghvo&5e_08LRdn06hTKgjgUu}N7#!ng)ohfL3kO# zLbwB=gy0}}2s;pVBAh@tiSS8;yAbX{SVTx6Od#w=_zc2#5ne$!hwv?g&m(*R;W31# z5S~N$KEm?|FLXfV5d3s2TpEH)DR=|nXDF%ys<%J|!Msge1^83DQ0TX#MOjjIJb~X( zl%3)+rCo^L&Tn>hD&$(FNiXwWepoqR|t0MaUK(gVh^t0n}ygI;6SNvb~zce== AMgRZ+ literal 0 HcmV?d00001 diff --git a/src-rdpconfig/LicenseUnit.dfm b/src-rdpconfig/LicenseUnit.dfm new file mode 100644 index 0000000..fae5719 --- /dev/null +++ b/src-rdpconfig/LicenseUnit.dfm @@ -0,0 +1,47 @@ +object LicenseForm: TLicenseForm + Left = 0 + Top = 0 + BorderIcons = [] + BorderStyle = bsDialog + Caption = 'License Agreement' + ClientHeight = 344 + ClientWidth = 386 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + Position = poOwnerFormCenter + PixelsPerInch = 96 + TextHeight = 13 + object mText: TMemo + Left = 8 + Top = 8 + Width = 370 + Height = 297 + ReadOnly = True + ScrollBars = ssBoth + TabOrder = 0 + WordWrap = False + end + object bAccept: TButton + Left = 115 + Top = 311 + Width = 75 + Height = 25 + Caption = '&Accept' + ModalResult = 1 + TabOrder = 1 + end + object bDecline: TButton + Left = 196 + Top = 311 + Width = 75 + Height = 25 + Caption = '&Decline' + ModalResult = 2 + TabOrder = 2 + end +end diff --git a/src-rdpconfig/LicenseUnit.pas b/src-rdpconfig/LicenseUnit.pas new file mode 100644 index 0000000..a44a2ad --- /dev/null +++ b/src-rdpconfig/LicenseUnit.pas @@ -0,0 +1,43 @@ +{ + Copyright 2014 Stas'M Corp. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +} + +unit LicenseUnit; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls; + +type + TLicenseForm = class(TForm) + mText: TMemo; + bAccept: TButton; + bDecline: TButton; + private + { Private declarations } + public + { Public declarations } + end; + +var + LicenseForm: TLicenseForm; + +implementation + +{$R *.dfm} + +end. diff --git a/src-rdpconfig/MainUnit.dcu b/src-rdpconfig/MainUnit.dcu index 2e2f289c831068ce89b2b0f3fda82e8a06649c68..d82d48208264085a2109171f6ad6ca53be21ca9a 100644 GIT binary patch delta 4768 zcma)93s79u89w)%b2o=&Sr%jwD8U5@0!g;yu`zLylnpEb0YYGxuu)=`-Mh=iWg+{} z&_*}d#0erQS?y?=WRgy-)@o}cI@)TRMB`}3XU5cSd^E}UNUCvSC$(q;^gnm+Bb znYsV}fB*Nt&Vzg5owif1R2xFZQxyn3`pd|0YOWCLRMq7Q zeSR+Solj?9)454Vgr;CxucT@gDP0dnhX1_WJHoAFXu-A_#tbA|wSO zFPU%uvscSUNY3=h{=MJ1J+oT-!ga7R9+y&E7Ys*SLASJS$^TXZx6U8T_VnBymdO_T zEiF~mR=f4iUGEQ#91}8ym^a88`cTcDC9ae{!&zo>2GJ@$Ij~UrgOG<+XYIk?m;trz2L~F=3IE+TeFf!LY<{2j3)&OjCh5W8y zgu_}$tqQopVL7%Q$Qwhh-Y&nJlU{(z8aeE8TSVTM+fPGYwci!!@r6+gp$yEsL_AfI zkle)xn6~!%gAi)roNY@)zpgp>PDMN*`z|-XFmb?hD(Q7q;qJanp7fmSuk~a#l;hc#804wvfyEL1R z7_Uh;F8XQv$qneJ;o*hmLfR??ybxd>H4#`RSfv+DX|0kw8uCZ_8eDx6PuHD`3x=$8 zZk=}T5d<;|nwjH=(q}KM;I)JwTPqtX>@wsybQ&mQOqQ7_y?S!<%$>@esS5brx5DuTg z_K?q7zM|&ND*j#zs2e($m(k5A^S%9ys%4B*qsIT6p`TmMlNZiN{@x7z%FGp+dBVc@ z>df3t3z2)@_>G9c(LIz~)65bWq3t_!&{6$KoGT2Ce^@f-XJ{VjT(cT!QGTI*k1(tZ zFmIMJJtr0b@sLVrI<39Efj;iHg8vbv>06okB?W82u~!WgL%ya4E5wz!zS8b#rr1C<0XRFi=ma6bno-rUSqnnq<`L z3_1CSfO%G7%vyebu1;PcAkQ@tVdoyckpERfYW%{^E>!#lX&PQebb(Lpu0F$}?m`uK@l6v{R2YSNN+NcDtLP&SY5$~!I zY3f=hYm~_WC)EI53%vW_^Amx;6v7Cja{>__-XkPbK5ZSmawIjNg-00Wh>w&AcQwC5 z73uIE+?GBuF%jEe2__1Nwsx+k{ZO!b1%$qVo5p{>A_yHOBVT9L3L=8pN8`)0cN?Ar zFTBUpxwY~4vyU5PA7>{07_s=?tA{sc@n|%2nOdZWUY+RDM6IHS75$E)Q=uW}Z&Y+l z(QhkSr$J~H@Jlr#p`6c!^c6F^#4qHSAQ!B0D09{C`zg2fzzUv84;^Gx;`a$J6XDig&C z7~RC^i;UVC{TriiF!~Oo`x$Lu^c15_jGkunETb)q1{n=7+RNxJM#mWyp!9=`ZjCYe zDx=#N{S~9HG5Rp0Cm7w$=pIJ*G5U8#-(&PQjDE=IK}LVe=sk?y%jkWKKEUWGqlXy{ zG5Q>%&olZbMk9>g#^_%dJ;LY~Mt{!eos7Q4=v|C%XY_7HcQX1Vqu()lnbD6KJ;q}6 z6-NKT=qHSxWArOVFEaXX9jyLYOmlGoJSFfH)7iM1HsT`Cm7q)MGF(mzLFZyKZ6rn1 zLMo}1%%lCJm_|tn^^*eXB;~Y>lumA^x~WU*>S$r9D{6SHbM$qh-!gwiv(99b3JNU$gn9r$#}Nh;v#Y2nd}PwK>#myn;7i$+o^rU4s;$TX}){X_@8 zlDTLIN_+|q%#}{S4}5GCmgV7kyaX5Ee9dC4#Ri;>4Z7O+yVnh-Xc|CU4b)P1}|`V*Vj14)qgnH{w$x$n~EF-zNNC&k@Bk3a#k-g+yVw34QF0Ev(3>;iKNrwzv zTy7>(QgzF|&4lm&5YzyL?%?te*&%}gE{~HTu0A3Uc3r?G6Y32KgsW9Xa>M|tkQ}F| zkesCBh2%W9zU5Y$2v(U0mPJH!h*i`;oH#y*tk8^?5fg)d7~zEvUsSY=+{VScacdI8 z8juZOV-mtD&|0D$can|#zt|3<(?~?eI!M>J1dpFb8BjOTXu8Sz@n|v$)`I#VsXxi? S0Cop4j}H+Of*&kP*Z%o5KiRNd^F=&0 zAx*onWzxk&i)l^;t`F_hp1pkRev@^Rzfr4?g#5wgTPIIEXtLDFLS>6L^jZJa2foG$ z_3hzRJg*Rf!6tvOvGutygRWw5n!5g`TvNLGCS)GOTP3 zMnbK6Ypt(Tt!WMIkkog%ugdQYv^IxDRES%0l1O7^B%~`p^_60Mn?K0Hd(2etiWp3i z;X19^AC83Dnau!Sk=3(a?zVK^BgB7RoH9ROxGf{K4k5DMe(V#MiwxDLLKHaGe&SmB zsJc$`HnvaZ!obb_`>;CaG4L#?VOk{SIHqk}^}E&2iHr6lg|3-cuLYW#gmB$=DLg-C z)9<)4>NVfakU!GC+S{&$xMuEmIX8s0Q2EYCix!Odecp(_H7JSezT>7iOb~)xiQ|qL z8*8Pt>FZi&vxE3w){-!@b!Xaovvc;GN@?xsFc!@cmzZg;*Mf~&hyeiWyVLqp&PSqE zUqj!M(myQD8rfHm-0;ef=8b5)?G@4_@BdHQYnbGWHA&P?o|Lsxw#Q*ye`3dESG3RQ zagO#hJo&B4fZz9Ro_2-o+d8hz{N;BYG%T{mSX6q0J}qF_)JPlKIGfa#ImhhTP|7Ef zpEa$fS~e^g*YK5jRYm{Y4~uOz{-8JDe_lTfyy$^#Z9O7$=E1^5G%Gh+D15IcR|w+I z)H$`Lj$$Ch%N=%cF>^QMnhqpCE}HdCQKIlm3#)L>%sg(Ik~S`x(2#l!Nz7*=*C5Od z@_4k6QWdDvhPAajHNKTt(x)rd8VZ}dX6m&_g!euy zK=jAKbmX{cgTZHP;!A|T$*7=H7d({~_^RabD3~OK*fZ(j!}$-RC(Ae&fuUuaWgPQE z&f82v{E1JI{QXoB;*8Seow~wgW@r)JiMMl(nJkG7xjm){iEre^t1RLVENT$<9$L6t z#&zi!PsjJuk<=7lmW~HGRGpC|ko;R}Q>67C^9L-=#TmkEDK zxR2r~neaH_>x54eZXw)8c#5!*u!*pRa6939 zgdY)JBRofVlJNUc!gmNS5&o9&eZmh2KeX|?w*&U)V}B9$7vk+IG(iF0F5^&)pS$rN z9_-~pHWkGcQgBJSK$7jIGPo}!x zrp~)32Ena%La}<&CWcse(<)TO#+4%BP!JE;!7AA20N6}$@WQrLIf)Y`uPWrFMCshp z=v+k{0+$fkC5evPz;_bxcLb3Y1O9&5F+dPGF)#z)>Odf-$G{3AKL$1st{7y3D2Ra_ zL}3h^Ac}fHn9*I_$tGDKin}E&aqnc94Z__cp{L{k!yFJLsv^u$oab>UF~|eq8ItsZ zdBaRk2QhC@!i5X2GRz0Dpija@3(qrjfmj%qux$C}7!-h5-YHQ<*|``Lf+%}MzQM|U za;*KH9K}&NZaE>xt#9a~1NP&v(inZ$0kxbo?YV8IVP$*dgO42i$00KZxViGend=&S z-eewDUfSF5fX!Umd-%0eCYYW%tekxFty6ba!CEjQx4h$rAL_IHSdJG?%kk1#eRRM| z7QA=M0c{-R9J|=4e?CM@x%<4{by1Exp})X3%o}nPdf)~OzzpTG&i-DG2jGehuFA2K zc@E<5ay-vcJ>1o6|CZxb7}kMFVK5998AOI09g0JS*~;PQwm7(4qOGD6F4#Goh8`5B z;R+^C!+^|&WR{_FHe2PaR265TTs5;!O`e5i<|N-y{Qra(AfJ+CPYUv)#bt)QDagwf zSHPO=gKa|06F0zS9snENfby2)0JJ0rrOYnwg4ui*o=y&>x_J4#ZfjCibk?Gn%@)Oz ObSN&tKY40}@ctJpwm)+K diff --git a/src-rdpconfig/MainUnit.dfm b/src-rdpconfig/MainUnit.dfm index 887995d..7e06d8a 100644 --- a/src-rdpconfig/MainUnit.dfm +++ b/src-rdpconfig/MainUnit.dfm @@ -2,7 +2,7 @@ object MainForm: TMainForm Left = 0 Top = 0 BorderStyle = bsDialog - Caption = 'Remote Desktop Protocol Configuration' + Caption = 'RDP Wrapper Configuration' ClientHeight = 245 ClientWidth = 326 Color = clBtnFace @@ -19,7 +19,7 @@ object MainForm: TMainForm TextHeight = 13 object lRDPPort: TLabel Left = 203 - Top = 22 + Top = 33 Width = 47 Height = 13 Caption = 'RDP Port:' @@ -100,7 +100,7 @@ object MainForm: TMainForm end object seRDPPort: TSpinEdit Left = 256 - Top = 19 + Top = 30 Width = 62 Height = 22 MaxValue = 65535 @@ -109,4 +109,13 @@ object MainForm: TMainForm Value = 0 OnChange = seRDPPortChange end + object bLicense: TButton + Left = 224 + Top = 6 + Width = 94 + Height = 21 + Caption = 'View license...' + TabOrder = 8 + OnClick = bLicenseClick + end end diff --git a/src-rdpconfig/MainUnit.pas b/src-rdpconfig/MainUnit.pas index f7e282f..a236689 100644 --- a/src-rdpconfig/MainUnit.pas +++ b/src-rdpconfig/MainUnit.pas @@ -33,6 +33,7 @@ type rgShadow: TRadioGroup; seRDPPort: TSpinEdit; lRDPPort: TLabel; + bLicense: TButton; procedure FormCreate(Sender: TObject); procedure cbAllowTSConnectionsClick(Sender: TObject); procedure seRDPPortChange(Sender: TObject); @@ -40,6 +41,7 @@ type procedure bCancelClick(Sender: TObject); procedure bOKClick(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); + procedure bLicenseClick(Sender: TObject); private { Private declarations } public @@ -55,7 +57,27 @@ var implementation {$R *.dfm} -{$R manifest.res} +{$R resource.res} + +uses + LicenseUnit; + +function ExtractResText(ResName: String): String; +var + ResStream: TResourceStream; + Str: TStringList; +begin + ResStream := TResourceStream.Create(HInstance, ResName, RT_RCDATA); + Str := TStringList.Create; + try + Str.LoadFromStream(ResStream); + except + + end; + ResStream.Free; + Result := Str.Text; + Str.Free; +end; procedure TMainForm.ReadSettings; var @@ -170,6 +192,13 @@ begin Reg.Free; end; +procedure TMainForm.bLicenseClick(Sender: TObject); +begin + LicenseForm.mText.Text := ExtractResText('LICENSE'); + if LicenseForm.ShowModal <> mrOk then + Halt(0); +end; + procedure TMainForm.cbAllowTSConnectionsClick(Sender: TObject); begin if Ready then diff --git a/src-rdpconfig/RDPConf.dpr b/src-rdpconfig/RDPConf.dpr index 708def3..3fd645f 100644 --- a/src-rdpconfig/RDPConf.dpr +++ b/src-rdpconfig/RDPConf.dpr @@ -18,7 +18,8 @@ program RDPConf; uses Forms, - MainUnit in 'MainUnit.pas' {MainForm}; + MainUnit in 'MainUnit.pas' {MainForm}, + LicenseUnit in 'LicenseUnit.pas' {LicenseForm}; {$R *.res} @@ -27,5 +28,6 @@ begin Application.MainFormOnTaskbar := True; Application.Title := 'Remote Desktop Protocol Configuration'; Application.CreateForm(TMainForm, MainForm); + Application.CreateForm(TLicenseForm, LicenseForm); Application.Run; end. diff --git a/src-rdpconfig/RDPConf.dproj b/src-rdpconfig/RDPConf.dproj index e333e60..ffc33d8 100644 --- a/src-rdpconfig/RDPConf.dproj +++ b/src-rdpconfig/RDPConf.dproj @@ -41,6 +41,9 @@
MainForm
+ +
LicenseForm
+
Base diff --git a/src-rdpconfig/manifest.res b/src-rdpconfig/manifest.res deleted file mode 100644 index 82e8f478dd1fe48fcc871f6d088aba87437caaf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1836 zcma)5U2hyU6ur=WpomH!@qloO5j=B7yPxbv-cMddfR({C(uS)x_=& z+NAPMjOhiP(T{jPrc=yL=sA6Z?-RVAV9w8PgFpWw;`$n6(EJ~UC=mm;=*<%S{x;9f z$de^SnpQwll#>LqrX?9fe+@ZfifK&uF=B9FMhA2cct^-7sH6n>Yp_Z1B^flJCgkWd zdPXATS>z2v><9W7we4QVsBn}94kfrKVCs-}O2_n~sb)S33@hX%U6w%HB7YTD3sjBi zogVfDur1Ixm=kaqccaZ`y*}h>pyxd$H3!zo42XWBPk{dvxvP-LkrLY3!4+Krg@W4c zH9@~X2RnV6CxUjtX%c*W6nx#_p9f_b_A5|p=_SeOUPujbLW=TCONh=lWr&XU|{Igi%T zMTZaWy*o>slf`Ae768z09#vK!xb#XEiQ6euYK=2XzmuBcAaTX;dJ>5u(P}B3zv%A< zC?PtqlT2!_{F)bq@aqygzEXN`H>y{3QefrCWb#XySaG^I7H7W7lxgA{A@OiL+?!7J zhr83gcsCMteQ8Z9oilb}(<|j=>MIMt&!bVzBa@}n;E=AvH<-06e$nV{0&gUJJ8@pE z$v#mb&Wzp}A zsaF16;f%=ag;m!omn-SIAUJj5$2TbTIJ8gYwahoNgvfbe9&x6!a*-8EE9Y(EjqRBt pM5PufABK6fOmZiiBf!?M_HLtp@tBRaSkFeCd=Q5k~;tZ diff --git a/src-rdpconfig/resource.res b/src-rdpconfig/resource.res new file mode 100644 index 0000000000000000000000000000000000000000..883012d4552a667bc99ecb17ced65686f59fde37 GIT binary patch literal 12936 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 literal 0 HcmV?d00001