Added extra check to Chrome Tab Activation Function and extra debug error logging

main
Yuriy 2 years ago
parent 89c1042e01
commit 694c440a6a

@ -217,13 +217,13 @@ TimedToolTip(Text, x="", y="",RemoveAfterTime:=2000, SetWhichToolTip="") {
Func_LogErrorsToTextFile(Text){ Func_LogErrorsToTextFile(Text){
; ErrorLoggingFile := Filepath ; ErrorLoggingFile := Filepath
FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss FormatTime, TodayDate , YYYYMMDDHH24MISS, yyyyMMdd_hhmmss
text = text =
( (
---------------%TodayDate%--------------- ---------------%TodayDate%---------------
%Text% %Text%
) )
FileAppend, %Text%, %ErrorLoggingFilePath% FileAppend, %Text%, %ErrorLoggingFilePath%
} }
; -------------------------------/LogErrorsToTextFile------------------------------- ; -------------------------------/LogErrorsToTextFile-------------------------------
@ -730,26 +730,6 @@ CheckIfUpdateAvailable(Filepath, CurrentVersion){
FindUpdateChangeLog(Filepath){
FileRead, ScriptUpdateContents, %Filepath%
; Set Variables
ChangelogStart =;---Changelog------------------------------------------------------
ChangelogEnd =;---/Changelog------------------------------------------------------
; Msgbox % "ScriptUpdateContents: " ScriptUpdateContents
ChangeLog := StrSplit(ScriptUpdateContents, ChangelogStart)
ChangeLog := ChangeLog[2]
ChangeLog := StrSplit(ChangeLog, ChangelogEnd)
ChangeLog := ChangeLog[1]
Return Changelog
}
CheckSeleniumDriver(){ CheckSeleniumDriver(){
try Driver := SChrome_Get("", ChromeProfile := "") ; open new tab page with with specified profile try Driver := SChrome_Get("", ChromeProfile := "") ; open new tab page with with specified profile
catch e { catch e {
@ -790,6 +770,9 @@ SeleniumConnectToActiveTab(IP_Port := "127.0.0.1:9222"){
return Driver return Driver
} }
/*
*/
CreateArrayOfChromeTabs() { CreateArrayOfChromeTabs() {
Message = Creating an Array of All Chrome Tabs Message = Creating an Array of All Chrome Tabs
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
@ -895,10 +878,12 @@ CreateArrayOfChromeTabs() {
return return
} }
InputFilePathIntoOpenWindow(Filepath){ /*
*/
InputFilePathIntoOpenWindow(Filepath){
; Msgbox % "Filepath: " Filepath ; Msgbox % "Filepath: " Filepath
Message = Waiting for "Open" window to appear to input filepath into Message = Waiting for "Open" window to appear to input filepath into
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
@ -969,6 +954,10 @@ ActivateChromeTab(URL){
; NumberOfTabLoops := Driver.Windows.Count + 2 ; NumberOfTabLoops := Driver.Windows.Count + 2
loop % NumberOfTabActivationLoops { ; loop through tabs to find matching tab loop % NumberOfTabActivationLoops { ; loop through tabs to find matching tab
Message = Looping through tabs to activate with: %URLBase%
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
try driver.SwitchToNextWindow() try driver.SwitchToNextWindow()
; sleep, 1000 ; sleep, 1000
@ -988,8 +977,8 @@ ActivateChromeTab(URL){
} }
; / loop through tabs ; / loop through tabs
} }
return "Failed" return "Failed"
} }
/*ActivateChromeTab(URL){ /*ActivateChromeTab(URL){
@ -1014,8 +1003,12 @@ return "Failed"
NavigateFromBaseURLTo(URL,PageTitle := "TodoDeleteme"){ NavigateFromBaseURLTo(URL,PageTitle := "TodoDeleteme"){
if(!DriverStatus){ ; if not connected to selenium chrome, then re-connect if(!DriverStatus){ ; if not connected to selenium chrome, then re-connect
Status := CheckSeleniumDriver() Status := CheckSeleniumDriver()
if(Status) if(Status){
Message = Failed to Connect to Chrome. Please Check for any open dialog boxes or ChromeDriver being out of date.
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
Return "Failed" Return "Failed"
}
; CreateArrayOfChromeTabs() ; moved to the end of checkseleniumdriver() ; CreateArrayOfChromeTabs() ; moved to the end of checkseleniumdriver()
} }
@ -1044,11 +1037,16 @@ NavigateFromBaseURLTo(URL,PageTitle := "TodoDeleteme"){
if(!HasSubstringVal(ChromeTabsURLArray, URLBase)) if(!HasSubstringVal(ChromeTabsURLArray, URLBase))
{ {
; DevModeMsgBox("Creating new tab") ; DevModeMsgBox("Creating new tab")
Message = Tab for %urlBase% does not exist. Creating new tab with URL: %URL%
try, run "%ChromeFilepath%" "%URL%" try, run "%ChromeFilepath%" "%URL%"
ChromeTabsURLArray.Push(URL) ; Append the new url to the array ChromeTabsURLArray.Push(URL) ; Append the new url to the array
NewTabCreated := 1 NewTabCreated := 1
sleep, 1000 sleep, 1000
} }
else, {
Message = %URLBase% is within ChromeTabsURLArray. Trying to Activate.
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
}
; message = NewTabCreated: %NewTabCreated% ; message = NewTabCreated: %NewTabCreated%
; DevModeMsgBox(message) ; DevModeMsgBox(message)
@ -1059,6 +1057,25 @@ NavigateFromBaseURLTo(URL,PageTitle := "TodoDeleteme"){
try currentURL := driver.url try currentURL := driver.url
Message = Failed to switch active tab to %URLBase%. Current tab is: %currentURL% Message = Failed to switch active tab to %URLBase%. Current tab is: %currentURL%
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
CheckForAlerts()
; create a new tab and try to switch to it again
Message = Creating new tab with URL: %URL%
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
try, run "%ChromeFilepath%" "%URL%"
ChromeTabsURLArray.Push(URL) ; Append the new url to the array
NewTabCreated := 1
sleep, 1000
status := ActivateChromeTab(URLBase)
if(Status = "Failed"){
Message = Failed to activate tab for %urlBase% after 2 atteppts. Chrome stuck on a dialog box of some sort?
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
Return "Failed"
}
} }
; message = ActivateChromeTab Status: %status% ; message = ActivateChromeTab Status: %status%
; DevModeMsgBox(message) ; DevModeMsgBox(message)
@ -1083,16 +1100,14 @@ NavigateFromBaseURLTo(URL,PageTitle := "TodoDeleteme"){
try driver.switchToalert().accept() try driver.switchToalert().accept()
try driver.Get(URL) ;Open selected URL try driver.Get(URL) ;Open selected URL
catch e { catch e {
Message = Failed to Navigate to %URL%: Please Check for Any Open Dialogue Boxes Message = Failed to Navigate to URL: %URL%. Please Check for any open dialog boxes or ChromeDriver being out of date.
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
Return "Failed" Return "Failed"
} }
} }
try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
} }
; msgbox, no error caught
; }
Return Return
} }
@ -1100,7 +1115,7 @@ NavigateFromBaseURLTo(URL,PageTitle := "TodoDeleteme"){
CheckForAlerts(){ CheckForAlerts(){
Message = Checking for Any Obstructing Alerts in Chrome Message = Checking for Any Obstructing Alerts in Chrome
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
status := 1 status := 1
try driver.SwitchToAlert() try driver.SwitchToAlert()
@ -1123,11 +1138,11 @@ CheckForAlerts(){
} }
CheckURLForSubstring(Substring){ CheckURLForSubstring(Substring){
try CurrentTabURL := driver.url try CurrentTabURL := driver.url
if(InStr(CurrentTabURL, Substring)) if(InStr(CurrentTabURL, Substring))
return "True" return "True"
else, else,
return return
} }
@ -1210,9 +1225,11 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
; Save current chrome version to ini file ; Save current chrome version to ini file
return Driver return Driver
} }
; -------------------------------/SChrome_Get-------------------------------
ShowSeleniumErrorMsgbox(){ ; -------------------------------/SChrome_Get-------------------------------
/*
*/
ShowSeleniumErrorMsgbox(){
GetChromeVersionCommand = powershell (Get-Item '%ChromeFilepath%').VersionInfo.ProductVersion GetChromeVersionCommand = powershell (Get-Item '%ChromeFilepath%').VersionInfo.ProductVersion
Chromeversion := RunCMD(GetChromeVersionCommand) Chromeversion := RunCMD(GetChromeVersionCommand)
ChromeVersion := StrReplace(ChromeVersion, "`n", "") ChromeVersion := StrReplace(ChromeVersion, "`n", "")
@ -1281,11 +1298,13 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
/*
*/
; -------------------------------FileXPro Get File Attributes------------------------------- ; -------------------------------FileXPro Get File Attributes-------------------------------
;https://www.autohotkey.com/boards/viewtopic.php?t=59882 ;https://www.autohotkey.com/boards/viewtopic.php?t=59882
Filexpro( sFile := "", Kind := "", P* ) { ; v.90 By SKAN on D1CC @ goo.gl/jyXFo9 Filexpro( sFile := "", Kind := "", P* ) { ; v.90 By SKAN on D1CC @ goo.gl/jyXFo9
Local Local
Static xDetails Static xDetails
@ -1328,15 +1347,15 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
If Not ( _FileExt ) ; Filepath not resolved If Not ( _FileExt ) ; Filepath not resolved
{ {
Return Return
} }
objShl := ComObjCreate("Shell.Application") objShl := ComObjCreate("Shell.Application")
objDir := objShl.NameSpace(_Dir) objDir := objShl.NameSpace(_Dir)
objItm := objDir.ParseName(_FileExt) objItm := objDir.ParseName(_FileExt)
If ( VarSetCapacity(xDetails) = 0 ) ; Init static variable If ( VarSetCapacity(xDetails) = 0 ) ; Init static variable
{ {
i:=-1, xDetails:={}, xDetails.SetCapacity(309) i:=-1, xDetails:={}, xDetails.SetCapacity(309)
While ( i++ < 309 ) While ( i++ < 309 )
@ -1345,17 +1364,17 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
} }
xDetails.Delete("") xDetails.Delete("")
} }
If ( Kind and Kind <> objDir.GetDetailsOf(objItm,11) ) ; File isn't desired kind If ( Kind and Kind <> objDir.GetDetailsOf(objItm,11) ) ; File isn't desired kind
{ {
Return Return
} }
i:=0, nParams:=p.Count(), fex.SetCapacity(nParams + 11) i:=0, nParams:=p.Count(), fex.SetCapacity(nParams + 11)
While ( i++ < nParams ) While ( i++ < nParams )
{ {
Prop := p[i] Prop := p[i]
If ( (Dot:=InStr(Prop,".")) and (Prop:=(Dot=1 ? "System":"") . Prop) ) If ( (Dot:=InStr(Prop,".")) and (Prop:=(Dot=1 ? "System":"") . Prop) )
@ -1369,19 +1388,19 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
fex[Prop] := ObjDir.GetDetailsOf(objItm,PropNum) fex[Prop] := ObjDir.GetDetailsOf(objItm,PropNum)
Continue Continue
} }
} }
fex.SetCapacity(-1) fex.SetCapacity(-1)
Return fex Return fex
} ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; GuiButtonIcon ; GuiButtonIcon
;------------------------------------------------ ;------------------------------------------------
GuiButtonIcon(Handle, File, Index := 1, Options := "") GuiButtonIcon(Handle, File, Index := 1, Options := "")
{ {
RegExMatch(Options, "i)w\K\d+", W), (W="") ? W := 16 : RegExMatch(Options, "i)w\K\d+", W), (W="") ? W := 16 :
RegExMatch(Options, "i)h\K\d+", H), (H="") ? H := 16 : RegExMatch(Options, "i)h\K\d+", H), (H="") ? H := 16 :
RegExMatch(Options, "i)s\K\d+", S), S ? W := H := S : RegExMatch(Options, "i)s\K\d+", S), S ? W := H := S :
@ -1400,13 +1419,13 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
NumPut( A, button_il, 16 + Psz, DW ) ; Alignment NumPut( A, button_il, 16 + Psz, DW ) ; Alignment
SendMessage, BCM_SETIMAGELIST := 5634, 0, &button_il,, AHK_ID %Handle% SendMessage, BCM_SETIMAGELIST := 5634, 0, &button_il,, AHK_ID %Handle%
return IL_Add( normal_il, File, Index ) return IL_Add( normal_il, File, Index )
} }
; \GuiButtonIcon ; \GuiButtonIcon
;------------------------------------------------ ;------------------------------------------------
ToggleTestingMode(){ ToggleTestingMode(){
IniRead, TestingMode, Settings.ini, General, TestingMode, 0 IniRead, TestingMode, Settings.ini, General, TestingMode, 0
; Msgbox % "TestingMode: " TestingMode ; Msgbox % "TestingMode: " TestingMode
@ -1414,9 +1433,9 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
IniWrite, 0, Settings.ini, General, TestingMode IniWrite, 0, Settings.ini, General, TestingMode
else, else,
IniWrite, 1, Settings.ini, General, TestingMode IniWrite, 1, Settings.ini, General, TestingMode
} }
ToggleManualSubmit(){ ToggleManualSubmit(){
IniRead, ManualSubmit, Settings.ini, General, ManualSubmit, 0 IniRead, ManualSubmit, Settings.ini, General, ManualSubmit, 0
; Msgbox % "TestingMode: " TestingMode ; Msgbox % "TestingMode: " TestingMode
@ -1424,10 +1443,10 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
IniWrite, 0, Settings.ini, General, ManualSubmit IniWrite, 0, Settings.ini, General, ManualSubmit
else, else,
IniWrite, 1, Settings.ini, General, ManualSubmit IniWrite, 1, Settings.ini, General, ManualSubmit
} }
ToggleDevMode(){ ToggleDevMode(){
IniRead, DevMode, Settings.ini, General, DevMode, 0 IniRead, DevMode, Settings.ini, General, DevMode, 0
; Msgbox % "TestingMode: " TestingMode ; Msgbox % "TestingMode: " TestingMode
@ -1435,10 +1454,10 @@ SChrome_Get(URL := "", Profile := "Profile 1", IP_Port := "127.0.0.1:9222"){
IniWrite, 0, Settings.ini, General, DevMode IniWrite, 0, Settings.ini, General, DevMode
else, else,
IniWrite, 1, Settings.ini, General, DevMode IniWrite, 1, Settings.ini, General, DevMode
} }
FormatTextToJSText(Var){ ; Replaces AHK newline characters with javascript ones FormatTextToJSText(Var){ ; Replaces AHK newline characters with javascript ones
/*\b Backspace /*\b Backspace
\f Form Feed \f Form Feed
\n New Line - done \n New Line - done
@ -1638,8 +1657,8 @@ Selenium_LoopToClickID(IDName,NumOfLoops:=1,SleepLength:=1000){
} }
sleep, %SleepLength% sleep, %SleepLength%
Continue Continue
} }
Return Return
} }
} }
@ -1653,8 +1672,8 @@ Selenium_LoopToClickName(ElementName,NumOfLoops:=1,SleepLength:=1000){
} }
sleep, %SleepLength% sleep, %SleepLength%
Continue Continue
} }
Return Return
} }
} }
@ -1668,8 +1687,8 @@ Selenium_LoopToSendValueToID(IDName,NumOfLoops:=1,SleepLength:=1000,StringTextCo
} }
sleep, %SleepLength% sleep, %SleepLength%
Continue Continue
} }
Return Return
} }
} }
; Selenium_LoopToSendValueByName(ElementName:="NAME",NumOfLoops:=2,SleepLength:=1000,StringTextContent:="TEXT") ; Selenium_LoopToSendValueByName(ElementName:="NAME",NumOfLoops:=2,SleepLength:=1000,StringTextContent:="TEXT")
@ -1712,8 +1731,8 @@ Selenium_LoopToClickXpath(Xpath,NumOfLoops:=1,SleepLength:=1000){
} }
sleep, %SleepLength% sleep, %SleepLength%
Continue Continue
} }
Return Return
} }
} }
@ -1752,8 +1771,8 @@ Selenium_LoopToClearXpath(Xpath,NumOfLoops:=1,SleepLength:=1000){
} }
sleep, %SleepLength% sleep, %SleepLength%
Continue Continue
} }
Return Return
} }
} }
@ -1762,109 +1781,117 @@ Selenium_LoopToClearXpath(Xpath,NumOfLoops:=1,SleepLength:=1000){
; -------------------------------Javascript------------------------------- ; -------------------------------Javascript-------------------------------
ReturnAndDisplayJSData(jsref){ ReturnAndDisplayJSData(jsref){
; msgbox, here goes ; msgbox, here goes
; https://www.w3schools.com/jsref/dom_obj_all.asp ; https://www.w3schools.com/jsref/dom_obj_all.asp
; -----TEXT CONTENT----- ; -----TEXT CONTENT-----
js = return %jsref%.textContent; js = return %jsref%.textContent;
try status := driver.executeScript(js) try status := driver.executeScript(js)
OnMessage(0x44, "OnMsgBoxJSReturnData") OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3,.TextContent:,%status% MsgBox 0x3,.TextContent:,%status%
OnMessage(0x44, "") OnMessage(0x44, "")
/*
*/
IfMsgBox Yes,{ IfMsgBox Yes,{
} Else IfMsgBox No, { } Else IfMsgBox No, {
TextForClip = js = %js% `n try, status := driver.executeScript(js) TextForClip = js = %js% `n try, status := driver.executeScript(js)
Clipboard := TextForClip Clipboard := TextForClip
} Else IfMsgBox Cancel, { } Else IfMsgBox Cancel, {
return return
} }
; -----VALUE-----
js = return %jsref%.value;
try status := driver.executeScript(js)
; -----VALUE-----
js = return %jsref%.value;
try status := driver.executeScript(js)
OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3,.value:,%status%
OnMessage(0x44, "")
OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3,.value:,%status%
OnMessage(0x44, "")
/*
*/
IfMsgBox Yes,{ IfMsgBox Yes,{
} Else IfMsgBox No, { } Else IfMsgBox No, {
TextForClip = js = %js% `n try, status := driver.executeScript(js) TextForClip = js = %js% `n try, status := driver.executeScript(js)
Clipboard := TextForClip Clipboard := TextForClip
} Else IfMsgBox Cancel, { } Else IfMsgBox Cancel, {
return return
} }
; -----INNERTEXT-----
js = return %jsref%.innerText;
try status := driver.executeScript(js)
; -----INNERTEXT-----
js = return %jsref%.innerText;
try status := driver.executeScript(js)
OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3, .innerText,%status%
OnMessage(0x44, "")
OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3, .innerText,%status%
OnMessage(0x44, "")
/*
*/
IfMsgBox Yes,{ IfMsgBox Yes,{
} Else IfMsgBox No, { } Else IfMsgBox No, {
TextForClip = js = %js% `n try, status := driver.executeScript(js) TextForClip = js = %js% `n try, status := driver.executeScript(js)
Clipboard := TextForClip Clipboard := TextForClip
} Else IfMsgBox Cancel, { } Else IfMsgBox Cancel, {
return return
} }
; -----OuterText----- ; -----OuterText-----
js = return %jsref%.outerText; js = return %jsref%.outerText;
try status := driver.executeScript(js) try status := driver.executeScript(js)
OnMessage(0x44, "OnMsgBoxJSReturnData") OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3, .outerText,%status% MsgBox 0x3, .outerText,%status%
OnMessage(0x44, "") OnMessage(0x44, "")
/*
*/
IfMsgBox Yes,{ IfMsgBox Yes,{
} Else IfMsgBox No, { } Else IfMsgBox No, {
TextForClip = js = %js% `n try, status := driver.executeScript(js) TextForClip = js = %js% `n try, status := driver.executeScript(js)
Clipboard := TextForClip Clipboard := TextForClip
} Else IfMsgBox Cancel, { } Else IfMsgBox Cancel, {
return return
} }
;-----innerHTML----- ;-----innerHTML-----
js = return %jsref%.innerHTML; js = return %jsref%.innerHTML;
try status := driver.executeScript(js) try status := driver.executeScript(js)
OnMessage(0x44, "OnMsgBoxJSReturnData") OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3, .innerHTML,%status% MsgBox 0x3, .innerHTML,%status%
OnMessage(0x44, "") OnMessage(0x44, "")
/*
*/
IfMsgBox Yes,{ IfMsgBox Yes,{
} Else IfMsgBox No, { } Else IfMsgBox No, {
TextForClip = js = %js% `n try, status := driver.executeScript(js) TextForClip = js = %js% `n try, status := driver.executeScript(js)
Clipboard := TextForClip Clipboard := TextForClip
} Else IfMsgBox Cancel, { } Else IfMsgBox Cancel, {
return return
} }
; -----outerHTML-----
js = return %jsref%.outerHTML;
try status := driver.executeScript(js)
; -----outerHTML-----
js = return %jsref%.outerHTML;
try status := driver.executeScript(js)
OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3, .outerHTML,%status%
OnMessage(0x44, "")
OnMessage(0x44, "OnMsgBoxJSReturnData")
MsgBox 0x3, .outerHTML,%status%
OnMessage(0x44, "")
/*
*/
IfMsgBox Yes,{ IfMsgBox Yes,{
} Else IfMsgBox No, { } Else IfMsgBox No, {
@ -1876,8 +1903,8 @@ IfMsgBox Yes,{
} }
/*
*/
OnMsgBoxJSReturnData() { OnMsgBoxJSReturnData() {
DetectHiddenWindows, On DetectHiddenWindows, On
Process, Exist Process, Exist

Loading…
Cancel
Save