请问各位,在vb中如何判断自身这个应用程序已经运行?若已经运行则警告??

解决方案 »

  1.   

    主  题:  这该用什么API实现阿?在线等!!!
     
    作  者:  usaspy (行走的鱼)  
    信 誉 值:  101 
    所属论坛:  VB API 
    问题点数:  20 
    回复次数:  12 
    发表时间:  2003-05-22 15:40:43 
       
     
       
     
    当我运行一个程序时,想先检查进程里是否已经存在这个程序,如果有了,就把焦点设置到该程序界面,否则运行这个程序。该如何实现 
     回复人: gaoxn(虚竹) ( ) 信誉:100  2003-05-22 16:05:00  得分:0  
     
     
      用 FindWindow(vbNullString, "窗体标题")找此程序窗体,找到即说明程序已运行, 
    Top 
     
     回复人: qingming81(晴明) ( ) 信誉:100  2003-05-22 16:07:00  得分:0  
     
     
      '判断运用程序是否已经启动。如果已经启动,则不必再启动同样的程序。
       If App.PrevInstance = True Then
          Dim metitle As String
          metitle = App.title
          App.title = ""    '如此才不会Avtivate(激活)到自己
          Me.Caption = ""
          AppActivate metitle 'Activate(激活)先前就已行的程序
          unload me
          exit sub
       End If
     
    Top 
     
     回复人: qingming81(晴明) ( ) 信誉:100  2003-05-22 16:08:00  得分:0  
     
     
      不必使用API 
    Top 
     
     回复人: usaspy(行走的鱼) ( ) 信誉:101  2003-05-22 16:42:00  得分:0  
     
     
      怎么用,加到FrmMain_Initialize还是FrmMain_Load中 
    Top 
     
     回复人: of123() ( ) 信誉:105  2003-05-22 16:55:00  得分:0  
     
     
      qingming81(晴明) :
    如果被激活的窗口是最小化的,如果使其正常化? 
    Top 
     
     回复人: alin_why() ( ) 信誉:100  2003-05-22 16:58:00  得分:0  
     
     
      If App.PrevInstance = True Then
            MsgBox "程序以運行!", vbExclamation
        End If
     
    Top 
     
     回复人: qingming81(晴明) ( ) 信誉:100  2003-05-22 17:28:00  得分:0  
     
     
      加到FrmMain_Load中 
    Top 
     
     回复人: qingming81(晴明) ( ) 信誉:100  2003-05-22 17:30:00  得分:0  
     
     
      如果被激活的窗口是最小化的,如果使其正常化:这个要使用API 
    Top 
     
     回复人: qingming81(晴明) ( ) 信誉:100  2003-05-22 17:34:00  得分:0  
     
     
      就是二楼说的FindWindow 
    Top 
     
     回复人: usaspy(行走的鱼) ( ) 信誉:101  2003-05-23 09:28:00  得分:0  
     
     
      不行啊?App.PrevInstance总为False 
    Top 
     
     回复人: Talent2001k(哈哈) ( ) 信誉:100  2003-05-27 14:43:00  得分:0  
     
     
      App.PrevInstance 不能再调试时使用!另外,如果同一个EXE COPY 到2个地方,或文件名更改后照样能打开2次只有使用API最好! 
     
      

  2.   

    If App.PrevInstance = True Then msgbox "已经运行"
      

  3.   

    If App.PrevInstance Then
            MsgBox ("程序已经运行,不能再次装载。"), vbExclamation
            End
        End If