Gui 0 Posted August 13, 2011 (edited) Solved. Thanks to those who helped. Edited August 14, 2011 by Gui Share this post Link to post Share on other sites
guinness 1,519 Posted August 13, 2011 You have to be more specific on the Function & the UDF you're using as I know the one by Mat only! Otherwise my suggestion would be if it returns a PID to use ProcessExist(). UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Share this post Link to post Share on other sites
Gui 0 Posted August 13, 2011 (edited) With ProcessExists() though, it'd need to be within a loop. My loop is huge, so for it to check, there would be some delay between the closed GUI and the ProcessExist() executing. I'll try it though. Anyways, using this UDF: Sorry for not being specific. Edited August 13, 2011 by Gui Share this post Link to post Share on other sites
smartee 14 Posted August 13, 2011 Also, OnAutoItExitRegister does not seem to work while running CUIs?...Umm.. This worked fine for me #include <Console.au3> OnAutoItExitRegister("_Bye") Cout("Hello." & @CRLF) Exit Func _Bye() Cout("Bye." & @CRLF) system("pause") EndFunc ;==>_Bye Post your code. Share this post Link to post Share on other sites
Gui 0 Posted August 13, 2011 Silly me. I didn't mean on "Exit" like the function. I meant if the user exited (Clicked the X button). Sorry. Share this post Link to post Share on other sites
smartee 14 Posted August 13, 2011 Oh ok , if you want to avoid a waiting loop, use RunWait from a parent script Share this post Link to post Share on other sites
Gui 0 Posted August 14, 2011 I don't want a parent script, just the main script running. ;s Share this post Link to post Share on other sites
smartee 14 Posted August 14, 2011 You just rejected possibly the simplest, most reliable solution to your problem, I expect you have some esoteric reason for not wanting a parent script, yes? Care to share any other peculiar criteria for suggestions put forth? Surely we needn't waste time fabricating ideas falling out of your seemingly unjustifiable invisible mesh of limitations. Share this post Link to post Share on other sites
Gui 0 Posted August 14, 2011 You just rejected possibly the simplest, most reliable solution to your problem, I expect you have some esoteric reason for not wanting a parent script, yes? Care to share any other peculiar criteria for suggestions put forth? Surely we needn't waste time fabricating ideas falling out of your seemingly unjustifiable invisible mesh of limitations. Poetry. Explain a parent script. If it's as it sounds, a hidden script that main get's ran off of? If not, then please enlighten me. Other than that, I'd just like something simple, like #include <Console.au3> AdlibRegister("Der", 50) __Console__CreateConsole("derp") Cout("Derp." & @CRLF) While 1 Sleep(500) WEnd Func Der() $oP = WinGetProcess("derp") If ProcessExists($oP) = 0 Then MsgBox(0,'','User has exited.') EndFunc But sadly, it doesn't work. Share this post Link to post Share on other sites