但是我想在其他模式(比如全屏的游戏或全屏的视频中)点击这个窗口,不返回正常显示模式?或者.我希望直接往屏幕上画图.就像鼠标图像一样.有这样的API吗?

解决方案 »

  1.   

    http://www.21code.com/codebase/?pos=down&id=1761
      

  2.   

    Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function SetLayeredWindowAttributes Lib "User32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As LongConst WS_EX_LAYERED = &H80000
    Const GWL_EXSTYLE = (-20)
    Const LWA_ALPHA = &H2
    Const LWA_COLORKEY = &H1
    ''''''''''''''''''''''''''''''
    Private Sub Form_Load()
       DarkMe
    End Sub
    ''''''''''''''''''''''''''''
    Public Function DarkMe()
        Dim rtn As Long
        rtn = GetWindowLong(hWnd, GWL_EXSTYLE)
        rtn = rtn Or WS_EX_LAYERED
        SetWindowLong hWnd, GWL_EXSTYLE, rtn
        SetLayeredWindowAttributes hWnd, 0, 210, LWA_ALPHA
    End Function
      

  3.   

    你直接把上面的代码拷到你的窗体里就行了,,
    SetLayeredWindowAttributes hWnd, 0, 210, LWA_ALPHA这个函数有四个参数,其中第三个参数,也就是210那个位置,是控制透明度的,它的取值范围是从0到255的,取0时,完全透明,找不到了,取255时,不透明。
      

  4.   

    我令窗口保持在最上面。
    可是当media player全屏时如果点击我的窗口,就会变回非全屏状态。
    这个问题怎么解决?
      

  5.   

    我令窗口保持在最上面。
    可是当media player全屏时如果点击我的窗口,就会变回非全屏状态。
    这个问题怎么解决?
    .
    .
    .没人回答吗?有人知道吗?
      

  6.   

    我想问的不仅仅是把窗口变成半透明.并浮在所有窗口之上.还有就是.要在media player全屏时.点击我的窗口.不会影响media player的全屏播放..
      

  7.   

    Public Function DarkMe()
        Dim rtn As Long
        rtn = GetWindowLong(hWnd, GWL_EXSTYLE)......>>>>作用?
        rtn = rtn Or WS_EX_LAYERED...................>>>>作用?
        SetWindowLong hWnd, GWL_EXSTYLE, rtn........>>>>作用?
        SetLayeredWindowAttributes hWnd, 0, 210, LWA_ALPHA
    End Function
      

  8.   


    MediaPlayer全屏时把自己设的总在最前了,FlashGet的浮动窗口也显示不了,除非~~你用setwindowpos把MediaPlayer变成非最前,那么你的最前就可以显示了!还有,Flashget在播放窗口上方就不是半透明了~
      

  9.   

    这是Win2K,WinXP,Win2003专用函数,98下呢?
      

  10.   

    到 www.onlinedown.net 搜索一下 SuperRuntimeLibrary 他提供了这方面的好多函数。而且你无须任何API就可以完成所有工作。不过开发它的人好象不喜欢用WIN98,再说98中好象连微软都没有实现透明。在vb.net中做的透明窗体到了98中不是透明的。用用SRL吧。你会发现他是个不错的东东。
      

  11.   

    解决之后告诉我一声呀,,,
    交个朋友吧,,
    我的MSN是
    [email protected]