Python Pyhandle объект в Win32Gui
Вопрос
Я играю вокруг, пытаясь создать прозрачное окно, которое будет наложить другое приложение. Я обнаруживаю, что расширения Win32 - это немного беспорядка, есть Win32UI, Win32Gui, WinXPGUI и т. Д. Несколько запутанным.
Во всяком случае, я пытаюсь передать ручку в окно к этой функции win32gui.updatelayeredwindow
Первый аргумент, который он хочет, это ручка, как тип PYHandle.
Все методы найти ручку окна, все возвращает INT, а не тип PYHandle. Даже те же из тех же модулей. win32gui.findwindow (нет, "windowtitle") находит и возвращает ручку для окна, который я хочу, но только в форме int, а не как pyhandle.
Вот документы для объекта.http://docs.activeState.com/activePython/2.5/pywin32/pyhandle.html.
Вот документы для метода FindWindow. docs.activeState.com/ixtivePython/2.5/pywin32/win32gui__findwindow_meth.html.
И вот документы для метода, который не примет INT. docs.activeState.com/activePython/2.5/pywin32/win32Gui__updateLayeredwindow_meth.html.
Я даже попробовал использовать WX для создания и поиска ручек для Windows, он также возвращает только INT.
Есть еще одна функция, которая хочет ручку, написанную тем же людьми, и она принимает int в качестве ручки. win32api.setwindowlong.
Вопрос в том, есть ли способ создать объект PYHandle из INT I получила? Я не могу понять это.
Решение
Поскольку документы для PyHandle говорят: «Большинство функций, которые принимают объект ручки, также принимают целое число». Вы пытались пройти UngateLayeredwindow целое число?
В основном, PyHandle - это просто тонкая обертка вокруг целого числа, с дополнительным свойством, когда объект PYHandle уходит Win32api.closehandle, будет призвана на нем.
Другие советы
Pywintypes.handle.
Pyhandle = ручка ()
Создает новый объект ручки