clswindow使用案例:防止vb程序重复打开,如果重复打开则激活当前已经打开的程序

简介: clswindow使用案例:防止vb程序重复打开,如果重复打开则激活当前已经打开的程序

背景


我们在用vb开发程序时有时需要限制不可以多次打开程序,因为可能会造成误操作或者干扰,比如某个使用vb开发的管理系统已经在运行中了,只是最小化在任务栏,用户没注意以为误以为没打开,从桌面上双击图标导致又打开了一次,这不是我们所期望的。我们期望的是再次双击的时候能把当前已经打开的程序激活显示到最前端。客户一看,哦,原来我已经打开过了,并且窗口显示的是我正在操作的某个模块。

说明:


本案例是使用clsWindow2.2框架上进行开发的,限制程序重复打开,让相同进程重复打开仅保留最早实例并激活窗口。需要注意的是本程序只适用于vb程序,而clswindow是vb下的一个开源框架,它主要处理些桌面窗口的一些自动化操作,有点类似按键精灵,只是它和vb紧密结合在一起了。

测试环境:


win7x64 + clsWindow2.2

说明: 如果不能用可能是您的版本太旧,或者操作系统版本不一样,请仔细检查并修改相应代码。以下代码2020-10-21测试通过,本代码不保证更新。

声明:


本代码免费,可用于任何商业用途,但请勿做非法用途,所引起的一切后果由使用者本人承担。

代码:


请向添加Form1窗口,然后复制下面代码进去,编译好exe程序后双击测试,请勿直接在VB开发环境测试。

Private Sub Form_Load()
    Dim w As New clsWindow
    If w.GetWindowByAppName(App.EXEName, 0, , DisplayedWindow).hWnd <> 0 Then
        w.Focus
        w.Shake '抖动
        End
    End If
End Sub

8f1532cf1756492f863ffb25f603b891_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg

工程打包下载地址: 链接: pan.baidu.com/s/1BV9ZiJ2V… 提取码: v4nr

如果目标窗体是隐藏的,或者工程中有多个窗体该怎么办?可以下载参考,里面提供了多种方法。

目录
相关文章
|
SQL JSON Java
【Elasticsearch专栏 10】深入探索:Elasticsearch如何进行数据导入和导出
在Elasticsearch中,数据导入常通过Bulk API、Logstash或Java客户端进行,支持JSON、CSV等格式。导出则可通过SQL查询、Scroll API或第三方工具如elasticdump实现,将数据以JSON、CSV等格式导出。这些方法确保了数据的高效、安全导入与导出。
1397 5
NR SRS(二)
上篇漏掉了SpatialRelationInfo,那就先看下SRS resource资源配置中的RS-SpatialRelationInfo,即SRS resource和参考信号的对应关系,代表波束的对应关系,具体在接下来的波束相关的内容再说。这里参考信号可以是下行SSB,CSI-RS或者是uplinkBWP指示的SRS,RRC层结构如下。
|
10月前
|
域名解析 缓存 网络协议
减少域名dns解析时间
域名解析中的TTL值设置多少合适
554 5
|
12月前
|
人工智能
写歌词的技巧和方法基础篇:奠定创作基石,妙笔生词AI智能写歌词软件
写歌词是音乐创作中既具魅力又具挑战的任务。初学者需掌握基础技巧,如明确主题、合理布局结构、简洁生动的语言运用。《妙笔生词智能写歌词软件》提供 AI 智能写词、优化、取名等功能,帮助新手快速提升创作水平,为成功创作打下坚实基础。
|
9月前
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
1243 28
|
编译器 Android开发 开发者
Android经典实战之Kotlin 2.0 迁移指南:全方位优化与新特性解析
本文首发于公众号“AntDream”。Kotlin 2.0 已经到来,带来了 K2 编译器、多平台项目支持、智能转换等重大改进。本文提供全面迁移指南,涵盖编译器升级、多平台配置、Jetpack Compose 整合、性能优化等多个方面,帮助开发者顺利过渡到 Kotlin 2.0,开启高效开发新时代。
498 0
|
Ubuntu Linux Shell
minio服务端以Linux服务形式安装
minio服务端以Linux服务形式安装
693 92
|
JSON 缓存 API
淘系商品详情API接口概述,API文档说明
在成长的路上,我们都是同行者。这篇关于API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口文档是淘宝开放平台为开发者提供的一套详细的技术规范和使用指南,旨在帮助开发者通过API接口与淘宝平台进行交互,获取商品详情等数据。以下是对淘宝商品详情数据解析的详细说明:
|
存储 Python
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例
数据包络分析(Data Envelopment Analysis, DEA)详解与Python代码示例