如题,用VB实现

解决方案 »

  1.   

    Private Sub Form_Load()
    If App.PrevInstance Then
    MsgBox "Program is already Running"
    End
    End If
    End Sub
      

  2.   

    http://topic.csdn.net/u/20080106/20/b7cc466e-9d3f-4f49-aae6-3c217451ea91.html
      

  3.   

    private sub form_load() 
           if App.PrevInstance then 
             msg$=App.exename   &"has   already   run!" 
             msgbox   msg$,48   ’给出程序已运行的提示和一惊叹号以示警告 
              unload   me:end 
          endif 
    end sub
      

  4.   

    http://topic.csdn.net/u/20080106/20/b7cc466e-9d3f-4f49-aae6-3c217451ea91.html
      

  5.   

    Study
      

  6.   

    再次打开时候程序时 App.PrevInstance  属性可以判断本程序是否已经在运行 在程序的 load 事件中判断:if App.PrevInstance =true then end  '若已运行就关闭 这样达到限制程序只能打开一个让程序只运行一次:思路: 启动程序的时候 随便向注册表里写入一些信息! 同时提取该项目的信息 若该项目已有信息,那么表示程序已经运行过一次了 . 通过这样的方法判断 ..
    '**********cik例题*******
    '************************
    Private Sub Form_Load()
    a = GetSetting("1111", "22", "33")        '这里先要提取信息,为判断程序是否已经运行过
    SaveSetting "1111", "22", "33", "1234"    '写入 特定的信息
    If a = "1234" Then                        '若提取的信息=写入的信息那么
    MsgBox "程序已经运行过了,按规定只能运行一次"  '提示
    End           '结束程序
    Else
    MsgBox "第一次运行程序"  '若不等于写入的信息 那么表示程序是第一次运行
    End If
    End Sub'另外告诉你一个小技巧
    '程序向注册表内写入一个数值,每运行一次该数值加一,还能提示程序已经运行过多少次了
    'Private Sub Form_Load()
    'a = GetSetting("11111", "22", "33")
    'b = Val(a) + 1
    'SaveSetting "11111", "22", "33", b
    'MsgBox "程序第" & b & "次运行"
    'End Sub
      

  7.   

    App.PrevInstance     或者 通过 进程判断
      

  8.   

    不错,不过我发现App.PrevInstance也有失误的时候,还是用系统级互斥对象处理比较好.
      

  9.   

    App.PrevInstance
    这是VB自带的一个属性,他返回一个布尔值,通过判断这个值可以判定自身程序是否
    已在进程中运行。读取注册表值,也是一个方法,像这种判断可以用很多种方式来检
    查。
      

  10.   

    呵呵,修改app.title就可以跳过App.PrevInstance 的检测(*^__^*) 嘻嘻……楼主可以用 事件、互斥,命名管道、内存镜像文件。
    反正是系统全局的东东都可以
      

  11.   

    http://www.m5home.com/blog2/blogview.asp?logID=466&cateID=2这个拿来就可用,为什么不用呢.不过这分看来又是难拿的了,嘿嘿.
      

  12.   

    一,等级为一个三角;二,"发表于:2008-01-11 08:06:40"三,他自己的回复没有,也就是说发了个帖子扔这里人就跑了,指不定问题已经解决,CSDN利用完毕,闪人~~~主观上是这样,嘿嘿.我是希望第三点的分析是错的:)
      

  13.   

    楼主可以用是否App.PrevInstance = True来判断。
      

  14.   

    Sub form_load()
    If App.PrevInstance Then
    Dim title As String
    title = Me.Caption
    Me.Caption = ""
    AppActivate title
    End
    End If
    End Sub
      

  15.   

    哈哈我晕啊....一个 App.PrevInstance 那么热闹 ??