VB 下如何防止程序多次运行

VB 下如何防止程序多次运行,第1张

App.PrevInstance能够判断是否一个实例。你的意思大概是复制在别的目录下的程序也不允许运行。

可以在注册表里写程序的状态,程序启动时检查状态,如果怕破解,也可以定时检测,这样就能防止程序多次运行了。

'下面的就是你要的效果,你的那个和我这个是一样的原理,不过是内外存检测的区别,标准的就是这个创建互斥体,不多说了,复制代码试了看看:

Private Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, ByVal lpName As String) As Long

Private Type SECURITY_ATTRIBUTES

        nLength As Long

        lpSecurityDescriptor As Long

        bInheritHandle As Long

End Type

Private Const ERROR_ALREADY_EXISTS = 183&

Private Sub Form_Load()

    Dim sa As SECURITY_ATTRIBUTES

    sa.bInheritHandle = 1

    sa.lpSecurityDescriptor = 0

    sa.nLength = Len(sa)

    Call CreateMutex(sa, 1, App.Title)

    If (Err.LastDllError = ERROR_ALREADY_EXISTS) Then

        MsgBox "程序不能多开!"

        Unload Me

    End If

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8069257.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存