只允许程序单实例运行
有时候,我们只能允许程序单实例运行,以免程序运行出错。可以通过使用App.PrevInstance和系统级的Mutex等多种办法来实现。
代码如下:
'用户昵称: 留下些什么
'个人简介: 一个会做软件的货代
'CSDN网址:https://blog.csdn.net/zezese
'电子邮箱:31319180@qq.comOption ExplicitPrivate Declare Function CreateMutex Lib "kernel32.dll" Alias "CreateMutexA" (ByRef lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As LongPrivate Const ERROR_ALREADY_EXISTS As Long = 183&Private Type SECURITY_ATTRIBUTESnLength As LonglpSecurityDescriptor As LongbInheritHandle As Long
End TypeDim hAppMutex As LongPrivate Sub Form_Initialize()'方法1: 使用 App.PrevInstance 这种办法,只要EXE文件改个名字就可以运行多个实例。If App.PrevInstance ThenMsgBox "方法1: 使用 App.PrevInstance 这种办法,只要EXE文件改个名字就可以运行多个实例。"EndEnd If'方法2: 使用系统级的Mutex,改名字也没有用。If IsRunning ThenMsgBox "方法2: 使用系统级的Mutex,改名字也没有用。"EndEnd IfEnd SubPrivate Function IsRunning() As BooleanDim sa As SECURITY_ATTRIBUTESsa.bInheritHandle = 1sa.lpSecurityDescriptor = 0sa.nLength = Len(sa)hAppMutex = CreateMutex(sa, 1, "31319180@qq.com") ' 这里请使用自己的标志字符串或者 GUID 字符串If (Err.LastDllError = ERROR_ALREADY_EXISTS) ThenCloseHandle hAppMutexIsRunning = TrueEnd IfEnd FunctionPrivate Sub Form_Terminate()CloseHandle hAppMutex
End Sub
相关文章:
只允许程序单实例运行
有时候,我们只能允许程序单实例运行,以免程序运行出错。可以通过使用App.PrevInstance和系统级的Mutex等多种办法来实现。 代码如下: 用户昵称: 留下些什么 个人简介: 一个会做软件的货代 CSDN网址:https://blog.csdn.net/zezes…...
巨人互动|Facebook海外户Facebook游戏全球发布实用策略
Facebook是全球最大的社交媒体平台之一,拥有庞大的用户基数和广阔的市场。对于游戏开发商而言,利用Facebook进行全球发布是一项重要的策略。下面小编将介绍一些实用的策略帮助开发商在Facebook上进行游戏全球发布。 巨人互动|Facebook海外户&Faceboo…...
【Java架构-版本控制】-Git进阶
本文摘要 Git作为版本控制工具,使用非常广泛,在此咱们由浅入深,分三篇文章(Git基础、Git进阶、Gitlab搭那家)来深入学习Git 文章目录 本文摘要1. Git分支管理2. Git分支本质2.1 分支流转流程(只新增文件)2.2 分支流转流…...
业务需要咨询?开发遇到 bug 想反馈?开发者在线提单功能上线!
大家是否遇到过下列问题—— 在开发的时候,遇到 bug 需要反馈… 有合作意向的时候,想更多了解业务和相关产品… 在接入的时候,需要得到专业技术支持… 别急,荣耀开发者服务平台在线提单功能上线了~ 处理问题分类说明࿱…...
MybatisPlus插件篇—逻辑删除+p6spy
文章目录 一、前言二、插件1、逻辑删除1.1、官方说明:1.2、配置依赖1.3、配置全局配置1.4、实体类字段上添加TableLogic注解1.5、验证是否成功 2、执行SQL分析打印2.1、配置依赖2.2、数据库驱动配置2.3、spy配置文件配置2.4、注意事项 三、总结提升 一、前言 本文将…...
Android studio中EditText设置默认值
如果想对EditText设置默认值,在java代码中使用setText函数是不行的,需要在layout文件中设置“text变量”,如下所示设置默认值为“192.168.1.1”: <EditTextandroid:id"id/car1_ip_edit"android:layout_width"1…...
《Java面向对象程序设计》学习笔记——第 13 章 泛型与集合框架
笔记汇总:《Java面向对象程序设计》学习笔记 # 第 13 章 泛型与集合框架 Java 提供了实现常见数据结构的类,这些实现数据结构的类通称为 Java 集合框架。 在 JDK1.5 后, Java 集合框架开始支持泛型,本章首先介绍泛型&#…...
python进阶--魔法方法之类的表示
下面的魔法方法都可以用了描述类 1、__str__ 该方法一般返回字符串,也许不会返回一个有效的 Python 表达式,但可以使用更方便或更准确的描述信息。在类中重写该方法,用来输出类的属性值等信息 调用:str(object)或者内置函数format()或者print()都会调用__str__()方法 c…...
JVM 创建对象时分配内存的几种方法、分配方法的选择
创建对象分配内存的方法 指针碰撞 假设Java堆中内存是绝对规整的,所有被使用过的内存都被放在一边,空闲的内存被放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那 个指针向空闲空间方向挪动一段与对象大…...
08-Vue基础之组件
个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习目标: 坚持每一次的学习打卡 文章…...
Kotlin学习之密封类
Kotlin中的密封类: kotlin中的密封类,用关键词Sealed修饰,且还有一个规定:Sealed类的子类应该是Sealed类的嵌套类,或者应该在与Sealed类相同的文件中声明。 当我们想定义一个有相同父类,但是有不同子类的时候…...
opencv鼠标事件函数setMouseCallback()详解
文章目录 opencv鼠标事件函数setMouseCallback()详解1、鼠标事件函数:(1)鼠标事件函数原型:setMouseCallback(),此函数会在调用之后不断查询回调函数onMouse(),直到窗口销毁(2)回调函…...
硬件知识积累 USB 接口 type - A type - B type - C 的介绍与功能说明 (简单介绍)
1. USB 的介绍 1.1 USB 的定义 USB : 通用串行总线(英语: Universal Serial Bus,缩写:USB)是一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视&a…...
【LeetCode】290. 单词规律
这里写自定义目录标题 2023-8-30 09:34:23 290. 单词规律 2023-8-30 09:34:23 这道题目,我是根据 205. 同构字符串 的思路一样,都转化为另外一个第三方的字符串,在比较翻译过后的语句是不是一样的。 class Solution {public boolean wordP…...
研磨设计模式day12迭代器模式
目录 场景 解决方案 解决思路 代码示例 代码改造 Java实现迭代器 迭代器模式的优点 思考 何时选用 场景 大公司收购了一个小公司,大公司的工资系统采用List来记录工资列表,而小公司是采用数组,老板希望通过决策辅助系统来统一查看…...
Python3不支持sqlite3的解决方法
先贴报错: >>> import sqlite3 Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/local/lib/python3.10/sqlite3/__init__.py", line 57, in <module>from sqlite3.dbapi2 impor…...
Qt应用开发(基础篇)——消息对话框 QMessageBox
一、前言 QMessageBox类继承于QDialog,是一个模式对话框,常用于通知用户或向用户提出问题并接收答案。 对话框QDialog QMessageBox消息框主要由四部分组成,一个主要文本text,用于提醒用户注意某种情况;一个信息文本informativeTex…...
ETC reset
ETC重新激活 换前挡风玻璃膜会把ETC设备拿下来,需要到【ETC服务中心】重新【粘上去】,另外需要工作人员用手持终端【重新激活】 ETC 背面有个 【白色】开关小柱子,一旦拆下来就失效,因为这个开关弹出来了 截面图看就是这样的&…...
2023年8月30日-[SWPUCTF 2021 新生赛]jicao
<?php highlight_file(index.php); include("flag.php"); $id$_POST[id]; $jsonjson_decode($_GET[json],true); if ($id"wllmNB"&&$json[x]"wllm") {echo $flag;} ?> 包含了flag.php文件,设定了一个POST请求的id和…...
MariaDB数据库服务器
目录 一、什么是数据库? 二、什么是关系型数据库? 三、数据库字符集和排序规则是什么? 四、常用数据类型 五、Mariadb数据库相关配置案例 一、什么是数据库? 数据库(DB)是以一定方式长期存储在计算机硬盘内…...
ArcSWAT建模踩坑记:你的土壤数据库参数算对了吗?聊聊SPAW的那些默认值和单位陷阱
ArcSWAT土壤参数校准实战:避开SPAW计算中的5个致命误区 当水文模拟结果与实测数据出现系统性偏差时,经验丰富的建模者会首先检查土壤参数——这个隐藏在界面背后的"沉默变量"往往是误差的最大来源。SPAW作为ArcSWAT推荐的土壤参数计算工具&…...
打破平台壁垒:Windows上安装APK文件的完整解决方案
打破平台壁垒:Windows上安装APK文件的完整解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想过在Windows电脑上直接运行安卓应用ÿ…...
OSINT自动化平台ClawShield:模块化架构与安全运营实战解析
1. 项目概述:一个面向安全运营的公开情报收集与分析平台最近在整理自己的开源项目收藏夹,发现一个挺有意思的仓库,叫SleuthCo/clawshield-public。乍一看这个名字,“ClawShield”,爪子与盾牌,就透着一股子攻…...
进化算法驱动机械爪设计优化:从原理到EvoClaw项目实践
1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫“EvoClaw”。光看这个名字,可能有点摸不着头脑,但点进去一看,发现这是一个关于“进化算法驱动的机械爪设计优化”的开源项目。简单来说,就是利用计算机…...
JVM调优实战:让你的服务性能提升50%
一、背景 线上一个核心订单服务,QPS 3000左右,经常出现接口超时告警。监控显示: 平均RT: 180ms(要求<100ms)Full GC频率: 每天20次,每次STW 1.5sCPU使用率: 峰值85%服务规格: 8C16G,堆内存…...
技能工程化框架:从标准化定义到编排实战
1. 项目概述:从“技能”到“智能”的工程化桥梁在当今的软件开发领域,尤其是涉及复杂交互和自动化流程的场景,我们常常会听到“技能”这个词。它听起来很抽象,但如果你拆解过任何一款智能助手、自动化机器人或者一个大型的业务流程…...
多模态AI实战:基于OpenGVLab/Ask-Anything构建视觉问答系统
1. 项目概述:当视觉大模型学会“看图说话”最近在折腾多模态AI应用,发现了一个挺有意思的开源项目,叫OpenGVLab/Ask-Anything。简单来说,它就像一个给AI装上了“眼睛”和“嘴巴”的系统,你给它一张图片或一段视频&…...
时空镜像立体成像楼宇全态透明智慧管控技术解析方案
时空镜像立体成像楼宇全态透明智慧管控技术解析方案一、方案概述当前传统楼宇管控普遍存在二维监控信息碎片化、空间感知能力薄弱、人员定位依赖外设、跨镜头轨迹断裂、身份核验存在漏洞、设备运维滞后、区域管控存在盲区等行业共性痛点,多数系统仅实现视频录像与基…...
药物发现自动化:FEP计算工作流引擎faah的设计原理与实战
1. 项目概述:一个面向药物发现的自动化工作流引擎 最近在药物研发的自动化工具领域,一个名为 kiron0/faah 的项目引起了我的注意。这并非一个简单的脚本集合,而是一个设计精巧、旨在为药物发现中的自由能微扰计算提供端到端自动化解决方案的…...
基于Helm Chart的JupyterHub生产级部署与运维实战指南
1. 项目概述:为什么我们需要一个可扩展的JupyterHub部署方案?如果你在团队里负责过数据科学或机器学习平台的搭建,大概率会为Jupyter Notebook的部署和管理头疼过。单个Jupyter Notebook服务给一两个人用还行,一旦团队规模扩大到十…...
