Установка фокуса курсора обратно на Python

У меня есть небольшая программа, которая использует TKinter, чтобы открыть CSV. Все работает отлично.

Когда пользователь выбирает файл, я хочу, чтобы курсор и активное окно вернулись в оболочку Python.

Я использую это:

os.system('''/usr/bin/osascript -e 'tell app "Finder" to set frontmost of process "Python" to true' ''')

В режиме IDLE это работает, когда программа запускается, но когда я просто дважды щелкаю по файлу.py и запускаю его в оболочке Python, он говорит, что не может найти путь.

Кто-нибудь знает путь, который мне нужен?

Спасибо,

2 ответа

Дальнейшие исследования и это мое решение.

import win32gui as wg
from win32gui import GetWindowText, GetForegroundWindow

#This gets the details of the current window, the one running the program
aw = (GetForegroundWindow())

#Do some stuff..

#This tells the program to set the focus on the captured window
wg.SetForegroundWindow(aw)

Я надеюсь, что это поможет кому-то еще искать то же, что и я.:-)

Попробуйте, это относится к запущенному процессу через pid, поэтому не имеет значения, как именно вы его запустили:

import os
pid = os.getpid()
os.system("""/usr/bin/osascript -e 'tell application "System Events" to set frontmost of (first process whose unix id is %d) to true'""" % pid)
Другие вопросы по тегам