From 54b42edb8d86aa1c66b22d9420e38788a8a0888e Mon Sep 17 00:00:00 2001 From: "Michael H.G. Schmidt" Date: Thu, 1 Feb 2024 09:16:43 +0100 Subject: [PATCH] update on thinclient --- source/thinclient.pb | 34 ++++++++++++++++++++++++++++++---- tools/thinclient.exe | Bin 61952 -> 62464 bytes 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/source/thinclient.pb b/source/thinclient.pb index fc9e9d9..19da1fd 100644 --- a/source/thinclient.pb +++ b/source/thinclient.pb @@ -4,10 +4,15 @@ ; LICENSE : GPL ; AUTHOR : Michael H.G. Schmidt ; EMAIL : michael@schmidt2.de -; DATE : 20240130 +; DATE : 20240201 ; ------------------------------------------------------------ ; +; preparations to use native "system" command ... +ImportC "msvcrt.lib" + system(str.p-ascii) +EndImport + ; Get system drive Global SYS$=GetEnvironmentVariable("SystemDrive") @@ -21,6 +26,15 @@ Procedure StartVNC() dummy=RunProgram(SYS$ + "\tools\tvnviewer.exe") EndProcedure +Procedure Settings() + ; start SYSTEM settings ... + dummy=system("start ms-settings:") +EndProcedure + +Procedure Poweroff() + ; Poweroff ... + dummy=system("shutdown /s /f /t 0 /d p:0:0") +EndProcedure ; Button handler procedure Procedure ButtonHandler() @@ -28,10 +42,12 @@ Procedure ButtonHandler() Select EventGadget() Case 0 StartRDP() - Case 1 StartVNC() - + Case 2 + Settings() + Case 3 + Poweroff() EndSelect EndProcedure @@ -62,8 +78,11 @@ ButtonH=H*0.1 BX0=X0 - (ButtonW*2 + GAP)/2 BX1=BX0 + ButtonW + GAP +BX2=W/100 +BX3=W - ButtonW - W/100 BY=H/2-ButtonH/2 +BY2=H-ButtonH - ButtonH/10 ; use a bigger font the buttons LoadFont(0, "MS Shell Dlg", 16) @@ -76,10 +95,17 @@ BindGadgetEvent(0, @ButtonHandler()) ButtonGadget(1, BX1, BY, ButtonW, ButtonH, "VNC viewer", #PB_Button_MultiLine) BindGadgetEvent(1, @ButtonHandler()) +ButtonGadget(2, BX2, BY2, ButtonW, ButtonH, "Settings", #PB_Button_MultiLine) +BindGadgetEvent(2, @ButtonHandler()) + +ButtonGadget(3, BX3, BY2, ButtonW, ButtonH, "Poweroff", #PB_Button_MultiLine) +BindGadgetEvent(3, @ButtonHandler()) + ; MAIN LOOP Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow ; IDE Options = PureBasic 5.73 LTS (Windows - x64) -; CursorPosition = 22 +; CursorPosition = 69 +; FirstLine = 60 ; Folding = - ; EnableXP \ No newline at end of file diff --git a/tools/thinclient.exe b/tools/thinclient.exe index f68b0710354717213bef39e4a3b570e2b25147f5..681fcd1ad055b0dbae8f19c2db02bde84ea17fc2 100644 GIT binary patch delta 19744 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%0DAn3iSb}jVmTTc|DS)+bkMJtQ# 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

qO;J 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

&CREioiCMO}f6YUd z%&{1{4-vG~i+9+{{cT$PjA_HS*x{7LaucMnWeFz^-tVEQc;7me-QOQ1^@HK3-@D<1 zMhKF-u*Su`+FwV2Q~mCso=Rm-mQBd;mX&BM47jFyY|WM6bf{`iSVt|-1~H{LNLb{Zr4VXGO-{m_sA9Ix>~V2e+G3D6(qm=Oq+MZH-V*c=YH=H!GtmZD z>WVxsLn#KoPC$o1Egx$9jWPxjr!MLcH&%`sC=mO@txq&<&z}@Q=oR-B=04ClbbkPH zD3|cHM`x@(#;1U2kS1k%08a+|9LXPe zDd0bl?7)ivPa(AhUI{p|nILoq{xM*6v^E-e0dS&IfM)}~iMGQ)`GAA_~AB!(5{^z=-?8BDPUBBAO#0-?;EH{M?qMEWCKphCy*S# zmw|TxsWb4C;Qfx&1NfhSnc&9(cXYz$ipCWprz$+o23jfV;fp`PR z5u|M3=KzOxMT>!_0iKOOp}^&Cf^aDsFO7j`MG8V6(8qv#11Gv1_)X}Vfd2ygSPUu} zi;4lif_x>Qy}v`H!MlVd(-*iee8;sGbHxtg3NgW;571U)PBxKIDDVux9}!1}0Jj03 zi8KxPI^=5sy)57kz*R^KfP43a!y^>{SCP*P_&VSV0e2y723`dCJ<_)CF#b1zWcC9S zf-J!8NGE~s1iXiIjxr|+LOsOQE5Iwkb0Bs;06qlpZOAHt6K@cb_xHMPJLvlY4+W%{ zTo1StFdZov_&C6<{uqBdh%6AD2EeOB=sb-`c*N{#E zF9#g;BBmMeRKWX4cY!|uJdlox`~aN{_|`1g1-@S6X;6d3&7jC660S_<%qC;HCh1Nv0f0`Y=FlC-vA!b zDZuH4*QZGIgEe2kB%}?%lQ*Jen@}+Dw#c{f?2A!FJ%GSNi_i;57lBXPg#d+A z4m`OC<1rrsl`?=?f%E{lKQi}0ss#Q3yjsu^ZX*MD^O1aj`-9g8$sc$=ct?>M0N)1v z6G%4TrI1$x-$6RyeS{PW+=hw`LW*#KNCUDIDVmg!;V6;}eA{M0uoR+D$^huziJkx+ z`k5g7@j3DV_lH3T(j?*o4o0HiZgQZ#V?qu2r=$-wslb}B)D0bUOI z6QpUtJA*e1DGPWpVBKS=n1SB~y#RPJcy*7Xmx0>=-#YF>00EIt%&$;m!U4TbpeKNP z1HO#34ftfh&rhNyz>5H*OVJa+3I2Wt&IMd36NJ`CD)G-E-#K(M@V4MZf%d7;d4GX# z2R=>u2D=xeP!Q_?tDQ%0RN$xUE+$?}U`wyvWqYqDyCU%0;;O%;wM3!38h%du9PbKv z`FPc%dOg$olX&=5cja@uK>Xll9e6(8&-4z1w++0M=XiDMLS91@8lW8f*?8Ft>xn{f zO;IS-nVh#3ysTQ{lBSYt0m`GlQu2$#ef+G%rzjd9Ug0q3hyvru>nsRaH*lc&VYLjc;0{y4Cw7g z4S^>Ga0DZ3z|IDYHsBxwPBLJ&0SgSc!GJprc-VmF4S3gpzZ=los`sEjL6k2vHW;l9 z7-7IZ1{`g`svfvww6u!$F@~m!wi|R813C>j+JG|*I1iA@7gigL%?AA3fK>)37!{ah zz(odJYru^L+-Ja21Ku>?0|T1;4c{?fGk>usFQc=;h&A9a15Pqvh5@q;xX^%WS<~<9 zyN(*vMFZY9;GYHzsI3><+JHR_=rrIk15PmDJOkz%@B;(xG2kf!ey2m1@W^2J*3k82f b<1#0Ym&Z;i9DQexS7H16WoG;*kYoP`jclF^