Here is an example that uses the second script technique to display motion in the dialog box to keep the user happy. The example below doesn't actually do anything except wait a specified number of seconds. For simplicity, I've embedded the second script in the first script as a line of base64 encoding using the technique described HERE.
Code: Select all
Dialog>Dialog1
Caption=Large File Processor
Width=590
Height=198
Top=CENTER
Left=CENTER
Max=0
Min=0
Close=0
Resize=0
Label=Enter Large File to be processed,15,15,true
Label=How many seconds to pretend to wait,16,72,true
Edit=msEdit1,18,37,447,C:\Not\Really\Processing\Any\File.txt
Edit=msEdit2,19,94,46,15
Button=X,567,0,18,18,2
Button=Ok,253,123,75,25,3
EndDialog>Dialog1
Show>Dialog1
SetDialogObjectFont>Dialog1,MsButton1,Arial,12,1,0
Label>Loop
GetDialogAction>Dialog1,res1
If>res1=2
Exit>0
EndIf
If>res1=3
GoSub>Process
ResetDialogAction>Dialog1
LibFunc>User32,EnableWindow,EWres7,Dialog1.msEdit1.handle,1
LibFunc>User32,EnableWindow,EWres7,Dialog1.msEdit2.handle,1
LibFunc>User32,EnableWindow,EWres7,Dialog1.msButton1.handle,1
LibFunc>User32,EnableWindow,EWres7,Dialog1.msButton2.handle,1
CloseDialog>Dialog1
Show>Dialog1
EndIf
Wait>0,01
Goto>Loop
SRT>Process
Let>ScriptFile=Ly9Vc2FnZToNCi8vR29TdWI+Um90YXRlV2FpdCxXaW5IYW5kbGUsWGNlbnRlcixZY2VudGVyLE9TcmFkaXVzLElTUmFkaXVzLFJvdHF0eSxSb3RzcGVlZCxSb3RzaXplLFJvdGNvbG9yKG9wdGlvbmFsKQ0KLy9MZWF2aW5nIG9mZiB0aGUgb3B0aW9uYWwgY29sb3IgcGFyYW1ldGVyIHdpbGwgcmVzdWx0IGluIHJhbmRvbSBjb2xvcnMuDQovL1NhbXBsZToNCi8vR29TdWI+Um90YXRlV2FpdCxEaWFsb2cxLmhhbmRsZSwxMTAsMjAsMTAsMTAsMTIsNSw1LDcyODUyNjANCi8vZm9yIEJhc2U2NCB1c2FnZToNCkdvU3ViPlJvdGF0ZVdhaXQsV2luSGFuZGxlLFhjZW50ZXIsWWNlbnRlcixPU3JhZGl1cyxJU1JhZGl1cyxSb3RxdHksUm90c3BlZWQsUm90c2l6ZSxSb3Rjb2xvcg0KDQpTUlQ+Um90YXRlV2FpdA0KTGV0Pm91dGVyX3JhZGl1cz0lUm90YXRlV2FpdF92YXJfNCUNCkxldD5Jbm5lcl9yYWRpdXM9JVJvdGF0ZVdhaXRfdmFyXzUlDQpMZXQ+TnVtYmVyT2ZMaW5lcz0lUm90YXRlV2FpdF92YXJfNiUNCkxldD5zcGVlZD0lUm90YXRlV2FpdF92YXJfNyUNCkxldD5saW5lc2l6ZT0lUm90YXRlV2FpdF92YXJfOCUNCkFzc2lnbmVkPlJvdGF0ZVdhaXRfdmFyXzksQXJlcw0KSWY+QXJlcz1UUlVFDQogIExldD5jb2xvcj0lUm90YXRlV2FpdF92YXJfOSUNCkVsc2UNCiAgTGV0PmNvbG9yPQ0KRW5kSUYNCg0KTGV0PnNwZWVkPTEvJXNwZWVkJQ0KTGV0PnNwYWNpbmc9eyhwaSoyKS8lTnVtYmVyT2ZMaW5lcyV9DQpMZXQ+Q2lyY2xlTWF4PXsocGkqMiktKDIqJXNwYWNpbmclKX0NCg0KR29TdWI+R29Bcm91bmQNCg0KU1JUPkdvQXJvdW5kDQogIE9uRXZlbnQ+RmlsZV9FeGlzdHMsJXRlbXBfZGlyJUNsb3NlV2FpdERpYWxvZy50eHQsMCxDbG9zZQ0KICBTUlQ+Q2xvc2UNCiAgICBEZWxldGVGaWxlPiV0ZW1wX2RpciVDbG9zZVdhaXREaWFsb2cudHh0DQogICAgRXhpdD4NCiAgRU5EPkNsb3NlDQogIEdvU3ViPkNpcmNsZUxvY2F0aW9uDQogIExpYkZ1bmM+dXNlcjMyLEdldERDLEhEQywlUm90YXRlV2FpdF92YXJfMSUNCiAgTGliRnVuYz5nZGkzMixHZXRQaXhlbCxia2NvbG9yLEhEQywwLDANCiAgTGV0PmVyYXNlPTANCiAgTGliRnVuYz51c2VyMzIsR2V0REMsSERDLCVSb3RhdGVXYWl0X3Zhcl8xJQ0KICBMYWJlbD5yZXJ1bg0KICAgIExldD5zaG93a2s9LSVzcGFjaW5nJQ0KICAgIElmPmVyYXNlPTANCiAgICAgIElmPmNvbG9yPQ0KICAgICAgICBSYW5kb20+MTY3NzcyMTQsY29sb3VyDQogICAgICBFbHNlDQogICAgICAgIExldD5jb2xvdXI9NzI4NTI2MA0KICAgICAgZW5kSWYNCiAgICBFbHNlDQogICAgICBJZj5jb2xvcj0NCiAgICAgICAgUmFuZG9tPjE2Nzc3MjE0LGNvbG91cg0KICAgICAgRWxzZQ0KICAgICAgICBMZXQ+Y29sb3VyPWJrY29sb3INCiAgICAgIGVuZElmDQogICAgRW5kSWYNCiAgICBMaWJGdW5jPmdkaTMyLENyZWF0ZVBlbixQZW5yZXMsMCwlbGluZXNpemUlLCVjb2xvdXIlDQogICAgTGliRnVuYz5nZGkzMixTZWxlY3RPYmplY3QsU09QcmVzLGhkYyxQZW5yZXMNCiAgICBSZXBlYXQ+c2hvd2trDQogICAgICBBZGQ+c2hvd2trLCVzcGFjaW5nJQ0KICAgICAgTGV0Pm94cG9zPW94cG9zXyVzaG93a2slDQogICAgICBMZXQ+b3lwb3M9b3lwb3NfJXNob3drayUNCiAgICAgIExldD5peHBvcz1peHBvc18lc2hvd2trJQ0KICAgICAgTGV0Pml5cG9zPWl5cG9zXyVzaG93a2slDQogICAgSWY+cmVzMT0yDQogICAgICBFeGl0PjANCiAgICBFbmRJZg0KICAgICAgR29TdWI+RHJhd0xpbmUsJVJvdGF0ZVdhaXRfdmFyXzElLCVsaW5lc2l6ZSUsY29sb3VyLGl4cG9zLGl5cG9zLG94cG9zLG95cG9zDQogICAgICBXYWl0PiVzcGVlZCUNCiAgICBVbnRpbD5zaG93a2s+JUNpcmNsZU1heCUNCiAgICBJZj5lcmFzZT0wDQogICAgICBMZXQ+ZXJhc2U9MQ0KICAgIEVsc2UNCiAgICAgIExldD5lcmFzZT0wDQogICAgRW5kSWYNCiAgICBMaWJGdW5jPmdkaTMyLERlbGV0ZU9iamVjdCxET3JlcyxQZW5yZXMNCiAgR290bz5yZXJ1bg0KZW5kPkdvQXJvdW5kDQoNClNSVD5EcmF3TGluZQ0KICBMaWJmdW5jPmdkaTMyLE1vdmVUb0V4LG10cmVzLEhEQywlRHJhd0xpbmVfdmFyXzQlLCVEcmF3TGluZV92YXJfNSUsMA0KICBMaWJGdW5jPmdkaTMyLExpbmVUbyxsdHJlcyxoZGMsJURyYXdMaW5lX3Zhcl82JSwlRHJhd0xpbmVfdmFyXzclDQpFTkQ+RHJhd0xpbmUNCg0KU1JUPkNpcmNsZUxvY2F0aW9uDQogIExldD5jdXJ4PSVSb3RhdGVXYWl0X3Zhcl8yJQ0KICBMZXQ+Y3VyeT0lUm90YXRlV2FpdF92YXJfMyUNCiAgTGV0Pm9raz0tJXNwYWNpbmclDQogIFJlcGVhdD5va2sNCiAgICBhZGQ+b2trLCVzcGFjaW5nJQ0KICAgIC8vL0Rvbid0IGZvcmdldCB0aGlzIGlzIGluIHJhZGlhbnMgbm90IGRlZ3JlZXMNCiAgICBMZXQ+b3hwb3M9eyVDdXJ4JSsoJW91dGVyX3JhZGl1cyUqKGNvcyglb2trJSkpKX0NCiAgICBMZXQ+b3lwb3M9eyVDdXJ5JSsoJW91dGVyX3JhZGl1cyUqKHNpbiglb2trJSkpKX0NCiAgICBMZXQ+b3hwb3M9e3JvdW5kKCVveHBvcyUpfQ0KICAgIExldD5veXBvcz17cm91bmQoJW95cG9zJSl9DQogICAgTGV0Pm94cG9zXyVvS0slPSVveHBvcyUNCiAgICBMZXQ+b3lwb3NfJW9LSyU9JW95cG9zJQ0KICBVbnRpbD5va2s+JUNpcmNsZU1heCUNCiAgTGV0Pmlraz0tJXNwYWNpbmclDQogIFJlcGVhdD5pa2sNCiAgICBhZGQ+aWtrLCVzcGFjaW5nJQ0KICAgIC8vL0Rvbid0IGZvcmdldCB0aGlzIGlzIGluIHJhZGlhbnMgbm90IGRlZ3JlZXMNCiAgICBMZXQ+aXhwb3M9eyVDdXJ4JSsoJWlubmVyX3JhZGl1cyUqKGNvcyglaWtrJSkpKX0NCiAgICBMZXQ+aXlwb3M9eyVDdXJ5JSsoJWlubmVyX3JhZGl1cyUqKHNpbiglaWtrJSkpKX0NCiAgICBMZXQ+aXhwb3M9e3JvdW5kKCVpeHBvcyUpfQ0KICAgIExldD5peXBvcz17cm91bmQoJWl5cG9zJSl9DQogICAgTGV0Pml4cG9zXyVpS0slPSVpeHBvcyUNCiAgICBMZXQ+aXlwb3NfJWlLSyU9JWl5cG9zJQ0KICBVbnRpbD5pa2s+JUNpcmNsZU1heCUNCkVORD5DaXJjbGVMb2NhdGlvbg0KRU5EPlJvdGF0ZVdhaXR=
Base64>ScriptFile,DECODE,ScriptFile
StringReplace>ScriptFile,WinHandle,%Dialog1.handle%,ScriptFile
StringReplace>ScriptFile,Xcenter,288,ScriptFile
StringReplace>ScriptFile,Ycenter,90,ScriptFile
StringReplace>ScriptFile,OSradius,15,ScriptFile
StringReplace>ScriptFile,ISRadius,15,ScriptFile
StringReplace>ScriptFile,Rotqty,12,ScriptFile
StringReplace>ScriptFile,Rotspeed,12,ScriptFile
StringReplace>ScriptFile,Rotsize,7,ScriptFile
//Make the next repacement value null for random colors. eg:
//StringReplace>ScriptFile,Rotcolor,,ScriptFile
StringReplace>ScriptFile,Rotcolor,7285260,ScriptFile
WriteLn>%temp_dir%pleasewait.scp,wres,ScriptFile
ExecuteFile>%temp_dir%pleasewait.scp
LibFunc>User32,EnableWindow,EWres7,Dialog1.msEdit1.handle,0
LibFunc>User32,EnableWindow,EWres7,Dialog1.msEdit2.handle,0
LibFunc>User32,EnableWindow,EWres7,Dialog1.msButton1.handle,0
LibFunc>User32,EnableWindow,EWres7,Dialog1.msButton2.handle,0
Wait>%dialog1.msEdit2%
WriteLn>%temp_dir%CloseWaitDialog.txt,wres,0
DeleteFile>%temp_dir%pleasewait.scp
END>Process