Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Сделать окно внешнего приложения активным (Windows) [RSS Feed]

#1 Апрель 14, 2013 04:11:45

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Сделать окно внешнего приложения активным (Windows)

Есть такой код:

win32gui.SetForegroundWindow(program[0])
win32gui.SetActiveWindow(program[0])
Мне необходимо переключиться на определенное окно внешнего приложения. SetForegroundWindow выводит нужное окно на первый план (это работает), а SetActiveWindow, по идее, должно делать окно активным, но почему-то не работает. Почему?

Полный код:
def make_window_active(my_title):
        if sys_type=='win':
                toplist = []
                winlist = []
                def enum_callback(hwnd, results):
                        winlist.append((hwnd, win32gui.GetWindowText(hwnd)))
                win32gui.EnumWindows(enum_callback, toplist)
                program = [(hwnd, title) for hwnd, title in winlist if my_title in title.lower()]
                # just grab the first window that matches
                if len(program)>=1:
                        program = program[0]
                        # use the window handle to set focus
                        win32gui.SetForegroundWindow(program[0])
                        win32gui.SetActiveWindow(program[0])
Код предназначен для вычисления окна с определенным текстом в заголовке и для того, чтобы сделать это окно активным. Работает все, кроме SetActiveWindow.

Офлайн

  • Начало
  • » GUI
  • » Сделать окно внешнего приложения активным (Windows)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version