pythonimport win32apiimport win32conimport win32guidef create_transparent_window hwnd = win32guiCreateWindowEx win32conWS_EX_LAYERED win32conWS_EX_TRANSPARENT Transparent_Window_Clas
要将透明窗口置父到D3D窗口中,您需要使用SetParent方法将透明窗口的父窗口设置为D3D窗口的句柄。以下是改进后的代码:
import win32api
import win32con
import win32gui
def create_transparent_window():
hwnd = win32gui.CreateWindowEx(
win32con.WS_EX_LAYERED | win32con.WS_EX_TRANSPARENT,
"Transparent_Window_Class",
"Transparent Window Title",
win32con.WS_POPUP | win32con.WS_VISIBLE,
0, 0, 800, 600,
None, None, win32api.GetModuleHandle(None), None)
win32gui.SetLayeredWindowAttributes(hwnd, 0, 255, win32con.LWA_ALPHA)
return hwnd
d3d_hwnd = win32gui.FindWindow("D3D_Window_Class", "D3D Window Title")
hwnd = win32gui.FindWindow("Window_Class", "Window Title")
transparent_hwnd = create_transparent_window()
win32gui.SetParent(transparent_hwnd, d3d_hwnd)
在上述代码中,SetParent方法的第一个参数是要置父的窗口句柄(透明窗口的句柄),第二个参数是父窗口的句柄(D3D窗口的句柄)。请确保替换"D3D_Window_Class"和"D3D Window Title"为您实际的D3D窗口类名和标题。同样,替换"Window_Class"和"Window Title"为您实际的窗口类名和标题
原文地址: https://www.cveoy.top/t/topic/i0xj 著作权归作者所有。请勿转载和采集!