请问怎么锁屏幕,能够使程序能够弹出,并显示在窗口的最上端。需要在游戏中能够弹出并满屏显示在最上端。
我使用
Public 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 wFlags As Long) As Long
但是在3D游戏中不行,不能显示在最上端,就算切换过去,也能看到程序的窗口只占了屏幕的一部分。
谁能帮我?

解决方案 »

  1.   

    这是因为游戏使用了DirectX,要想实现最上层窗体,你恐怕也要使用DirectX,幸运的是DirectXSDK7.0在保持原有VisualC++支持的同时,新加入对VisualBasic的接口。
      

  2.   

    用timer控件
    每隔一点时间就运行一次SetWindowPos 
    我做过一个cs作弊器(放大用)就是这样做的。
      

  3.   

    我想到了一种方法,就是先显示桌面。
    但是用
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    显示桌面不是强制性的。
    有没有其他的方法?
      

  4.   

    Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    Private Sub Command1_Click()
    Dim hwnd As Long
    hwnd = FindWindowEx(0, 0, "progman", vbNullString)
    EnableWindow hwnd, 0
    End Sub