如果是你程序内部的form,那可以用模式窗体,
form2.show 1
就可以了,如果是外部程序:
在启动程序的shell语句之后,紧跟着启动一个模式窗体,然后在窗体的推出代码里加条件,如果你启动的程序,如计算器未退出,则不允许模式窗体退出这样基本可以达到你的要求,只是Form处在所有应用程序界面的下方不容易做到,现在手头没有开发环境,如果明天上班后还未解决,我给你发一段代码。

解决方案 »

  1.   

    '注意:跟我昨天讲的逻辑并不相符
    Private Declare Function GetActiveWindow Lib "user32" () As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Sub Command1_Click()
        Shell "Calc.EXE", 1  ' 运行计算器。
        AppActivate "计算器"    ' 激活计算器。
        Me.Enabled = False
        Do While True
            If FindWindow(vbNullString, "计算器") = 0 Then '如果计算器已退出
                Me.Enabled = True
                AppActivate App.Title  '激活自己
                Exit Do '退出循环
            End If
            
            If GetActiveWindow() = Me.hWnd Then '活动窗口为自己
                AppActivate "计算器" '激活计算器
            End If
            DoEvents '转让控制权
        Loop
    End Sub
      

  2.   

    private sun command1_click()
    form2.show vbmoadel,me
    end sub
      

  3.   

    thank you michael!我应该怎样给分你啊?