如何使一个程序只运行一个

来源:互联网 发布:两个表格查找相同数据 编辑:程序博客网 时间:2024/05/29 04:08

方法一:

If App.PrevInstance = True Then MsgBox "程序已经在运行中,不打开两个!", vbCritical + vbOKOnly, "友情提示" 

 

方法二:

设计时把窗体的LinkMode设为1-Source;在窗体上添加一个PictureBox命名picDDE。(貌似文本框和标签也可以这么用,没试过)

'API函数,用于把制定窗口设为活动窗口
Private Declare Function SetActiveWindow Lib "user32" (ByVal hwnd As Long) As Long

Private Const sMsgToTop As String = "ToTop!" '自定义消息,随意改
Private Const sFormLT As String = "I AM UNIQUE" '链接主题,只要和别的程序不重名

'DDE链接, 处理信息
Private Sub Form_LinkExecute(CmdStr As String, Cancel As Integer)

Select Case CmdStr
Case "ToTop!" '我们发送的信息
'调用API把自己设为活动
SetActiveWindow Me.hwnd
End Select

Cancel = 0

End Sub


Private Sub Form_Load()
If App.PrevInstance Then
Me.LinkTopic = ""

MsgBox ("程序已运行!")

'向已存在的窗体发送信息
picDDE.LinkTopic = App.ProductName & "|" & sFormLT
picDDE.LinkMode = 2
picDDE.LinkExecute sMsgToTop

End
Else
Me.LinkTopic = sFormLT
End If
End Sub

原创粉丝点击