Jump to content

Search the Community

Showing results for tags 'alt-tab'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office


  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Member Title




Found 2 results

  1. I'm creating an alternative to Windows' alt-tab menu, and I'm encountering issues with WinList as it DOES NOT provide the correct order of recently opened or activated windows. While WinList normally respects the z-order, this is not the case when topmost windows are present (mentioned here). Here is an example showing what I mean: #include <WinAPI.au3> #include <WindowsConstants.au3> Run('notepad.exe') Run('calc.exe') Local $sNotepadTitle = 'Untitled - Notepad' Local $sCalculatorTitle = 'Calculator' WinWait($sNotepadTitle) WinWait($sCalculatorTitle) WinSetOnTop($sCalculatorTitle, '', $WINDOWS_ONTOP) WinActivate($sNotepadTitle) ConsoleWrite('Active window: ' & WinGetTitle('[ACTIVE]') & @CRLF) ConsoleWrite('First visible window from WinList: ' & getTopWindow() & @CRLF) Func getTopWindow() Local $aList = WinList() For $i = 1 To $aList[0][0] $iExStyle = _WinAPI_GetWindowLong($aList[$i][1], $GWL_EXSTYLE) ; get the extended style of each Window If Not BitAND($iExStyle, $WS_EX_TOOLWINDOW) And _ ; Search for windows without $WS_EX_TOOLWINDOW extended style BitAND(WinGetState($aList[$i][1]), $WIN_STATE_VISIBLE) Then ; And only visible windows Return $aList[$i][0] EndIf Next EndFunc Explain: Activating Notepad should precede Calculator in WinList. However, due to $WS_EX_TOPMOST, Calculator takes precedence over any non-$WS_EX_TOPMOST windows in the WinList array. I've tried _WinAPI_EnumWindows, _WinAPI_EnumWindowsTop, both yield the same result as WinList. Are there any other APIs or methods to retrieve a list of recently activated windows, regardless of topmost windows (similar to Windows' alt-tab menu)?
  2. _WinGetAltTabWinList Since Authenticity was awesome enough to post how to get the Alt-Tab-able Windows, I decided to wrap it into a simple UDF that can be used just as WinList. The potential use is great. One person has already used the code to create a replacement Alt-Tab interface. Simple example: #include "_WinGetAltTabWinList.au3" #include <Array.au3> Local $aWindows=_WinGetAltTabWinList("","",True) _ArrayDisplay($aWindows) *UPDATES:11/30/2010: Fixed extended-style check to skip over certain windows that shouldn't be in the list, cleaned up and shortened code a bit.Download the ZIP at my Site Ascend4nt's AutoIT Code License agreement: While I provide this source code freely, if you do use the code in your projects, all I ask is that: If you provide source, keep the header as I have put it, OR, if you expand it, then at least acknowledge me as the original author, and any other authors I creditIf the program is released, acknowledge me in your credits (it doesn't have to state which functions came from me, though again if the source is provided - see #1)The source on it's own (as opposed to part of a project) can not be posted unless a link to the page(s) where the code were retrieved from is provided and a message stating that the latest updates will be available on the page(s) linked to.Pieces of the code can however be discussed on the threads where Ascend4nt has posted the code without worrying about further linking.
  • Create New...