如何把窗口(窗口已设置为半透明)放在桌面背景之上,但在桌面图标下?或者能相应桌面上的图标

解决方案 »

  1.   

    你试试看下面的是不是有用:
    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 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 WS_EX_LAYERED = &H80000 
    Private Const GWL_EXSTYLE = (-20) 
    Private Const LWA_ALPHA = &H2 
    Private Const LWA_COLORKEY = &H1 
    Private Sub Form_Load() 
      Dim rtn As Long 
      rtn = GetWindowLong(hwnd, GWL_EXSTYLE) 
       rtn = rtn Or WS_EX_LAYERED 
      SetWindowLong hwnd, GWL_EXSTYLE, rtn 
      SetLayeredWindowAttributes hwnd, 0, 200, LWA_ALPHA 
    End Sub 
      

  2.   

    可将程序做成ActiveX Document文档或HTML然后启用活动桌面设置。