我有一个思路:
最先取得任务栏的句柄
然后用SetLayeredWindowAttributes设置半透明。

解决方案 »

  1.   

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Any) As Long 任务栏的句柄=FindWindow("Shell_TrayWnd", 0&)
      

  2.   

    form1.frmOption ExplicitPublic saveDc As Long
    Public hDestDc As Long
    Public nWidth As Long
    Public nHeight As Long
    Public hsaveBmp As Long
    Public hformBmp As Long
    Public yLeft, yTop As IntegerPrivate Sub Form_Load()
        
        nWidth = Form1.ScaleWidth
        nHeight = Form1.ScaleHeight
        hDestDc = GetDC(0)
        saveDc = CreateCompatibleDC(hDestDc)
        hsaveBmp = CreateCompatibleBitmap(hDestDc, ScaleX(Screen.Width, 1, 3), ScaleY(Screen.Height, 1, 3))
        SelectObject saveDc, hsaveBmp
        BitBlt saveDc, 0, 0, ScaleX(Screen.Width, 1, 3), ScaleY(Screen.Height, 1, 3), hDestDc, 0, 0, vbSrcCopy
       
        Show
        
    End Sub
        
    Private Sub Start()
        
        nWidth = Form1.ScaleWidth
        nHeight = Form1.ScaleHeight
        BitBlt Form1.hdc, 0, 0, nWidth, nHeight, saveDc, ScaleX(Form1.Left, 1, 3) + 4, ScaleY(Form1.Top, 1, 3) + 23, vbSrcCopy
        
    End SubPrivate Sub Form_Paint()
        Start
    End SubPrivate Sub Form_Resize()
        Start
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        
        DeleteObject hsaveBmp
        DeleteDC hDestDc
        
    End SubPrivate Sub Timer1_Timer()    If Form1.Left <> yLeft Or Form1.Top <> yTop Then
        
            Form_Paint
            
            
        End If
        
    End Sub*************************
    Module1.basPublic Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Public Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
    Public Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
    Public Declare Function BitBlt Lib "gdi32" (ByVal hDestDc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
    Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
    Public Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
    Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
      

  3.   

    有没有SetLayeredWindowAttributes的详细介绍