6

Python Win32拡張機能を使用して、Windows XPの任意のウィンドウをどのように透過的にしますか?

4

3 に答える 3

15

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)
于 2010-12-28T23:06:55.140 に答える
3

SetLayeredWindowAttributes WIN32 API 関数を使用して、透明なウィンドウを作成できます。

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

透過性を設定するための WIN32 API 関数をラップするために使用できるコード サンプルを次に示します。

于 2010-12-28T20:38:25.250 に答える