pythonpython-3.xpywinauto

Change the active Window


I'm looking for a way to set the active window. The only solutions I found are outdated. They included modules like pywinauto but its focus() function doesn't work.

I need something that quickly switches/makes another window active.

I tried the code below, but it doesn't work as it says object has no attribute 'focus'

import pygetwindow as gw

win = gw.getWindowsWithTitle('Photoshop')[0]
win.focus()

I am using Windows 8


Solution

  • I think the object method you're after is activate:

    >>> help(win.activate)
    Help on method activate in module 
    pygetwindow._pygetwindow_win:
    
    activate() method of 
    pygetwindow._pygetwindow_win.Win32Window instance
        Activate this window and make it the foreground window.
    

    So changing your code as follows should work.

    import pygetwindow as gw
    
    win = gw.getWindowsWithTitle('Photoshop')[0]
    win.activate()