python - Lav et vindue gennemsigtigt ved hjælp af Win32?

Indlæg af Hanne Mølgaard Plasc

Problem



Ved hjælp af Python Win32-udvidelser, hvordan laver du et vilkårligt vindue på Windows XP gennemsigtigt?

Bedste reference


SetLayeredWindowsAttributes example: [3]


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)

Andre referencer 1


Du kan bruge funktionen SetLayeredWindowAttributes WIN32 API til at oprette gennemsigtige vinduer: [4]


BOOL WINAPI SetLayeredWindowAttributes(
  \_\_in  HWND hwnd,
  \_\_in  COLORREF crKey,
  \_\_in  BYTE bAlpha,
  \_\_in  DWORD dwFlags
);


Her er en kodeeksempel, som du kan bruge til indpakning af WIN32 API-funktioner til indstilling af gennemsigtighed. [5]