Make a window transparent with Win32?

Using Python Win32 extensions, how to make an arbitrary window transparent in Windows XP?

+4
source share
2 answers

SetLayeredWindowsAttributes example:

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) 
+9
source

You can use the WIN32 API's SetLayeredWindowAttributes function to create transparent windows:

 BOOL WINAPI SetLayeredWindowAttributes( __in HWND hwnd, __in COLORREF crKey, __in BYTE bAlpha, __in DWORD dwFlags ); 

Here is sample code that you can use to port WIN32 API functions to adjust transparency.

+3
source

Source: https://habr.com/ru/post/1333606/


All Articles