VB6.0 其它窗口透明

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:30:20
本人经常边在网页里看电影,边做别的事情。

于是就做了一个可以使其它窗口前端显示的软件,

但是有些电影分辨率很高,又没有调节的选项,

所以我想设置电影窗口的透明度,

问题来了,我只能调整软件本身的透明度,不能调节网页窗口的透明度。

请问怎么编程?我用VB6.0
2楼朋友的方法我会。这样可以,但是视频不正常。

可使用API SetWindowLong更换目标窗体样式后,再用SetLayeredWindowAttributes设置透明度。
代码:
{{
'Form1代码:

Option Explicit

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2

Private Function TranslucentForm(frmhwnd As Long, TranslucenceLevel As Byte) As Boolean
'参数1为目标窗体的句柄,参数2为透明度0-255
SetWindowLong frmhwnd, GWL_EXSTYLE, WS_EX_LAYERED
SetLayeredWindowAttributes frmhwnd, 0, TranslucenceLevel, LWA_ALPHA
TranslucentForm = Err.LastDllError = 0
End Function

Private Sub Form_Load()
TranslucentForm Me.hwnd,