happy2help Posted July 21, 2010 Share 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 Link to comment Share on other sites More sharing options...
happy2help Posted July 21, 2010 Author Share 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 Link to comment Share on other sites More sharing options...
Ascend4nt Posted July 21, 2010 Share 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 Recovery Wrappers/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) Link to comment Share on other sites More sharing options...
happy2help Posted July 22, 2010 Author Share 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. 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