continyu Posted May 22, 2013 Share Posted May 22, 2013 Hi there, I'm trying to loop through all open windows and decide if any of them is "hung". I heard there are two ways for this; -call IsHungAppWindow in user32.dll OR -call SendMessageTimeout commant in user32.dll. I can use "hopefully" (not tested) Ishungappwindow command. But having problems with the second one. My script crashes right away. Here is the code i'm using; While 1 Sleep(1500) _NotResponding() WEnd Func _NotResponding() ;$hWnd = WinGetHandle($title, $text) $hWnd = WinList () For $i = 1 to $hWnd[0][0] Step +1 $retArr = DllCall("user32.dll", "LRESULT" ,"SendMessageTimeout", "hwnd", $hWnd[$i][1],"UINT","","WPARAM","","LPARAM","","UINT","0x0002","UINT",100) If @error == 0 Then If $retArr[0] == 0 Then ;hung MsgBox(1,"Test","Process hanged") EndIf EndIf Next EndFunc And here is the MSDN topic on this command; http://msdn.microsoft.com/en-us/library/windows/desktop/ms644952%28v=vs.85%29.aspx Thanks in advance! Link to comment Share on other sites More sharing options...
Solution guinness Posted May 22, 2013 Solution Share Posted May 22, 2013 Look in WinAPIEx by Yashied. There is a function called _WinAPI_IsHungAppWindow/ continyu 1 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 Link to comment Share on other sites More sharing options...
continyu Posted May 22, 2013 Author Share Posted May 22, 2013 Look in WinAPIEx by Yashied. There is a function called _WinAPI_IsHungAppWindow/ thank you. it was useful. But as i said i need to call second one too. And appearently it has my second function too! So thanks again! Link to comment Share on other sites More sharing options...
JohnOne Posted May 22, 2013 Share Posted May 22, 2013 look at the parameters you are passing, you are passing strings mostly, do those parameters want strings? Use your own link. "UINT","","WPARAM","","LPARAM","","UINT","0x0002","UINT",100 AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now