检查项目是否正在运行VB IDE

本文介绍了一段VB代码,用于检测项目是否在Visual Basic 6.0 IDE中运行,而不是作为一个独立的exe文件。通过获取当前进程名称,判断是否为VB6.EXE,从而确定项目的运行环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

嗨,大家好...

这段代码只是显示您的项目是从VB6 IDE运行还是作为单个exe文件运行,因为Visual Basic 6.0在VB6.exe进程中运行了您的项目,并且它不会像VB.NET那样为您创建新的exe文件。当您尝试通过API调用使用资源时,所有功能都会失败。

程序:检查项目是否正在运行VB IDE 语言: VB

(1)新建工程,添加表格

(2)添加命令按钮,即Command1

(3)将整个代码插入其他位置

(4)插入

MsgBox IfUsingVB6IDE在Command1 提示下:如果消息框报告为True,则说明您确实在运行VB IDE 抬头:剩余的代码应添加在代码窗格的最顶部,否则您可能会收到错误消息,表明无法在Sub之后添加代码。
  
Private Declare Function GetModuleBaseNameA Lib "Psapi.dll" (ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long 
Private Const PROCESS_NAME_MAX_BYTES As Long = 255  
Private Property Get IfUsingVB6IDE() As Boolean
Dim ProcessHandle As Long
Dim ProcessName As String
Dim ProcessNameLen As Long
Dim NameBuffer As String * PROCESS_NAME_MAX_BYTES
ProcessHandle = GetCurrentProcess() 'Get Current Process pseudo handle
ProcessNameLen = GetModuleBaseNameA(ProcessHandle, App.hInstance, NameBuffer, PROCESS_NAME_MAX_BYTES) 'Get current Process Base module name (file name)
ProcessName = Left$(NameBuffer, ProcessNameLen) 'clear remaining unused buffer bytes and get only file name
If (UCase$(ProcessName) = "VB6.EXE") Then IfUsingVB6IDE = True 'if current process VB6.exe then we are in VB6 IDE, if else we running as separated process
End Property 
Private Sub Command1_Click()
MsgBox IfUsingVB6IDE
End Sub  
致敬OP发布此...

From: https://bytes.com/topic/visual-basic/insights/739681-check-whether-project-running-vb-ide

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值