不知这个标题贴不贴边 我的意思是如何能让我的程序运行后 在用户又切换到别的窗口进行操作时 到了我的程序内部规定的条件 能自动跳出 屏蔽用户当前其它操作 直到给我的程序一个响应 不知我说的是否清楚   请大家帮帮我 谢谢!

解决方案 »

  1.   

    Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function SetProp Lib "user32" Alias "SetPropA" (ByVal hwnd As Long, ByVal lpString As String, ByVal hData As Long) As Long
    Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
    Private Sub Form_Load()
        Me.Caption = "AllowSetForegroundWindow Example"
        '
        SetProp Me.hwnd, "ProcessID", GetCurrentProcessId
        Timer1.Interval = 1000
        Timer1.Enabled = True
    End Sub
    Private Sub Timer1_Timer()
        SetForegroundWindow Me.hwnd
    End Sub
      

  2.   

    来个应用程序窗口最大化,然后setwindowpos topmost,联众游戏登陆时就这样。
      

  3.   

    在另一个地方已经作了回答:
    avi11lang(萧十一郎):用Timer控件,当你的程序完成一个设定条件时,让它返回一个值(设置为全局变量),Timer控件检查这个值的变化。然后弹出消息。当然如果你想要rappercn(rapper) 兄的效果,也许有好处。但我认为弹出一个消息框就够了。联众的那个东西我最烦,不就是出售会员证吗?要钱明说嘛!
      

  4.   

    ch21st(风尘鸟) :
    果然我说的不够清楚 不是要屏蔽其他应用程序 而是…… 我已经得到答案啦 你写的这个没有试 等我把这个做完了再说 谢谢啦 qingming81(晴明) :
    那边的我看到啦 我就是这么做的 也用了Zorder()可是还不是我要的效果 现在看来是类似于QQ的那样啦 已经用csdngoodnight的方法解决啦  Option Explicit'窗口最前,调用API---------------------------------------
    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 wFlags As Long) As LongPrivate Const HWND_TOPMOST = -1
    Private Const SWP_SHOWWINDOWS = &H40Private Sub Form_Load()
      '窗口最前
      Dim retValue As Long
      retValue = SetWindowPos(Me.hwnd, HWND_TOPMOST, Me.CurrentX, _
      Me.CurrentY, 300, 300, SWP_SHOWWINDOWS)
      
      Me.Height = 窗体高
      Me.Width = 窗体宽
      Me.Left = 左边距
      
    End Sub