Я играл, пытаясь создать прозрачное окно, которое будет перекрывать другое приложение. Я нахожу, что расширения win32 немного запутаны, есть win32ui, win32gui, winxpgui и т. д., несколько сбивающие с толку.
Во всяком случае, я пытаюсь передать дескриптор окна этой функции win32gui.UpdateLayeredWindow
первый аргумент, который ему нужен, - это дескриптор типа pyhandle.
все методы поиска дескриптора окна возвращают тип int, а не тип pyhandle. даже из тех же модулей. win32gui.findwindow(None, "windowtitle") находит и возвращает дескриптор нужного окна, но только в форме int, а не в виде PyHandle.
вот документы для объекта. http://docs.activestate.com/activepython/2.5/pywin32/PyHANDLE.html
вот документы для метода findwindow. docs.activestate.com/activepython/2.5/pywin32/win32gui__FindWindow_meth.html
и вот документы для метода, который не будет принимать int. docs.activestate.com/activepython/2.5/pywin32/win32gui__UpdateLayeredWindow_meth.html
Я даже пытался использовать WX для создания и поиска дескрипторов для окон, он также возвращает только int.
есть еще одна функция, которой нужен дескриптор, написанный теми же людьми, и она принимает int в качестве дескриптора. win32api.SetWindowLong
Вопрос в том, есть ли способ создать объект PyHANDLE из полученного мной int? Я не могу понять это.