VB 做一个窗体的问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:18:53
让窗体透明,而且置顶,并且可以操作窗体覆盖掉的软件,这个窗体就像是一个影子一样在桌面上.我以前做出来过,但是忘记了.大家帮帮忙^_^
透明的窗体只是悬浮在桌面上,依然可以操作被窗体透明覆盖掉的程序.

那么提醒你一下,呵呵
还记得API函数SetLayeredWindowAttributes吗?

置顶就这样做
Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, ByVal hwndinsertafter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wflag As Long)
Private Sub Command1_Click()'按下按求进行置顶操作
Dim rtn
rtn = SetWindowPos(Form1.hwnd, -1, 0, 0, 0, 0, 3)
End Sub

透明那部分就这样做

Private Declare Function SetLayeredWindowAttributes Lib _
"user32" (ByVal hnd As Long, ByVal clval As Long, _
ByVal alph As Byte, ByVal flago As Long) As Long

Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias _
"SetWindowLongA" (ByVal hnd As Long, ByVal nIndex As Long, _
ByVal dwNe