Вопрос

Я играю вокруг, пытаясь создать прозрачное окно, которое будет наложить другое приложение. Я обнаруживаю, что расширения 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 = ручка ()

Создает новый объект ручки

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top