happy2help 0 Posted July 21, 2010 Hi All As the title asks.. Is there a quick, clean way of closing several of the same windows(Explorer.exe), but leaving the desktop and startbar intact? I imagine I need to list all the windows with process of explorer.exe and then cycle through them, not closing the desktop version. I don't want to write a 20 line version if there is a simple 4 or 5 line version that 1 of you already use. Thanks in advance Share this post Link to post Share on other sites
happy2help 0 Posted July 21, 2010 (edited) Just to show I am trying, I have put this together $var = WinList() For $i = 1 to $var[0][0] ; Only display visble windows that have a title If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then MsgBox(0, "Details", "Title=" & $var[$i][0] & @LF & "Handle=" & $var[$i][1], 2) If $var[$i][0] = "Program Manager" Then ExitLoop WinClose($var[$i][0]) EndIf Next Func IsVisible($handle) If BitAnd( WinGetState($handle), 2 ) Then Return 1 Else Return 0 EndIf EndFunc But I'm hoping there is a cleaner version Edited July 21, 2010 by happy2help Share this post Link to post Share on other sites
Ascend4nt 131 Posted July 21, 2010 (edited) For browse/explore windows, this will work: #include <Array.au3> $aExplorerWins=WinList("[REGEXPCLASS:(Explore|Cabinet)]") _ArrayDisplay($aExplorerWins,"Explorer Windows") *sorry, I didnt actually close the windows - but you can do that easily with a loop Edited July 21, 2010 by Ascend4nt My contributions:Performance Counters in Windows - Measure CPU, Disk, Network etc Performance | Network Interface Info, Statistics, and Traffic | CPU Multi-Processor Usage w/o Performance Counters | Disk and Device Read/Write Statistics | Atom Table Functions | Process, Thread, & DLL Functions UDFs | Process CPU Usage Trackers | PE File Overlay Extraction | A3X Script Extract | File + Process Imports/Exports Information | Windows Desktop Dimmer Shade | Spotlight + Focus GUI - Highlight and Dim for Eyestrain Relief | CrossHairs (FullScreen) | Rubber-Band Boxes using GUI's (_GUIBox) | GUI Fun! | IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) | Magnifier (Vista+) Functions UDF | _DLLStructDisplay (Debug!) | _EnumChildWindows (controls etc) | _FileFindEx | _ClipGetHTML | _ClipPutHTML + ClipPutHyperlink | _FileGetShortcutEx | _FilePropertiesDialog | I/O Port Functions | File(s) Drag & Drop | _RunWithReducedPrivileges | _ShellExecuteWithReducedPrivileges | _WinAPI_GetSystemInfo | dotNETGetVersions | Drive(s) Power Status | _WinGetDesktopHandle | _StringParseParameters | Screensaver, Sleep, Desktop Lock Disable | Full-Screen Crash RecoveryWrappers/Modifications of others' contributions:_DOSWildcardsToPCRegEx (original code: RobSaunder's) | WinGetAltTabWinList (original: Authenticity)UDF's added support/programming to:_ExplorerWinGetSelectedItems | MIDIEx UDF (original code: eynstyne)(All personal code/wrappers centrally located at Ascend4nt's AutoIT Code) Share this post Link to post Share on other sites
happy2help 0 Posted July 22, 2010 Thanks,I just knocked this up and it seams to work$var = WinList("[REGEXPCLASS:(Explore|Cabinet)]") For $i = 1 to $var[0][0] WinClose($var[$i][0]) Next I can just repeat with different Winlist expressions as necessary. Share this post Link to post Share on other sites