使用Python Win32扩展,如何使Windows XP上的任意窗口透明?
SetLayeredWindowsAttributes示例:
import win32gui import win32con import winxpgui import win32api import subprocess import time subprocess.Popen("notepad.exe", shell=True) time.sleep(1) hwnd = win32gui.FindWindow(None, "New file - metapad") ## The caption of my empty notepad (MetaPad) win32gui.SetWindowLong (hwnd, win32con.GWL_EXSTYLE, win32gui.GetWindowLong (hwnd, win32con.GWL_EXSTYLE ) | win32con.WS_EX_LAYERED ) winxpgui.SetLayeredWindowAttributes(hwnd, win32api.RGB(0,0,0), 180, win32con.LWA_ALPHA)
您可以使用SetLayeredWindowAttributes WIN32 API函数来创建透明窗口:
BOOL WINAPI SetLayeredWindowAttributes( __in HWND hwnd, __in COLORREF crKey, __in BYTE bAlpha, __in DWORD dwFlags );
这里是一个代码示例,您可以使用它来包装WIN32 API函数来设置透明度。