联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Public Declare Function SetLayeredWindowAttributes Lib _ "user32" (ByVal hnd As Long, ByVal clval As Long, _ ByVal alph As Byte, ByVal flago As Long) As Long Public Declare Function GetWindowLong Lib "user32" Alias _ "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "user32" Alias _ "SetWindowLongA" (ByVal hnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Public Const LWA_ALPHA = &H2& Public Const LWA_COLORKEY = &H1& Public Const GWL_EXSTYLE = (-20) Public Const WS_EX_LAYERED = &H80000 Public Const WS_EX_TRANSPARENT = &H20& 部分透明窗体(窗体的一部分颜色透明): Dim lOldStyle As Long lOldStyle = GetWindowLong(Me.hwnd, GWL_EXSTYLE) SetWindowLong Me.hwnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED SetLayeredWindowAttributes Me.hwnd, &HFFFFFF, 255, LWA_COLORKEY
@echo off set GWL_EXSTYLE=-20 ext\func user32.dll GetForegroundWindow ::返回当前窗口句柄 set "hnd=%errorlevel%" ext\func user32.dll GetWindowLongA -d %hnd% -d %GWL_EXSTYLE% set "lOldStyle=%errorlevel%" ext\func user32.dll SetWindowLongA -d %hnd% -d %GWL_EXSTYLE% -d %lOldStyle% ext\func user32.dll SetLayeredWindowAttributes -d %hnd% -d 0 -d 255 -d 1 pause>nul