判断VB6程序是否在正在调试中,有很多办法,这里记录两种。一种是通过App.LogMode 是否为0 来确定当前代码是否运行在VB6的IDE里面,这种最简单,大部分情况下都可行。另一种办法是判断当前进程是否是VB6.EXE。
代码如下:
'用户昵称: 留下些什么
'个人简介: 一个会做软件的货代
'CSDN网址:https://blog.csdn.net/zezese
'电子邮箱:31319180@qq.com
Option Explicit
Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Private Const MAX_PATH As Long = 260
Public Function IsDebugging() As Boolean
IsDebugging = App.LogMode = 0
End Function
Public Function IsRunningInVB6IDE() As Boolean
Dim strTmp As String
strTmp = String(MAX_PATH, 0)
GetModuleFileName 0, strTmp, MAX_PATH - 1
strTmp = Left(strTmp, InStr(strTmp, Chr(0)) - 1)
IsRunningInVB6IDE = UCase(Right(strTmp, 7)) = "VB6.EXE"
End Function
Private Sub Command1_Click()
Debug.Print IsDebugging
Debug.Print IsRunningInVB6IDE
End Sub