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

方法一:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值