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

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

目录
相关文章
|
5月前
|
Windows
【Windows驱动开发】注册表的基本操作(创建、打开、修改、读取、枚举)(附源码)
【Windows驱动开发】注册表的基本操作(创建、打开、修改、读取、枚举)(附源码)
|
6月前
|
C语言 Python
编程中打开和关闭文件
编程中打开和关闭文件
39 0
刚刚更新win11,记事本消失怎么处理?你需要注意些什么?
刚刚更新win11,记事本消失怎么处理?你需要注意些什么?
197 0
|
安全 数据可视化 数据安全/隐私保护
【Win32】资源文件(对话框),逆向对话框回调函数,消息断点(附带恶意软件源码)(上)
【Win32】资源文件(对话框),逆向对话框回调函数,消息断点(附带恶意软件源码)
【Win32】资源文件(对话框),逆向对话框回调函数,消息断点(附带恶意软件源码)(下)
【Win32】资源文件(对话框),逆向对话框回调函数,消息断点(附带恶意软件源码)
|
Ubuntu Linux Windows
项目实战:Qt终端命令模拟工具 v1.0.0(实时获取命令行输出,执行指令,模拟ctrl+c中止操作)
在Qt软件中实现部分终端控制命令行功能,使软件内可以又好的模拟终端控制,提升软件整体契合度。
项目实战:Qt终端命令模拟工具 v1.0.0(实时获取命令行输出,执行指令,模拟ctrl+c中止操作)
|
测试技术 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
884 0
 pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Appium问题解决方案(1)- 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘
Appium问题解决方案(1)- 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘
417 0
Appium问题解决方案(1)- 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘
|
Java Windows
【错误记录】Windows 系统 bat 脚本报错 ( 使用 pause 拦截窗口自动关闭 | 方便查看错误 )
【错误记录】Windows 系统 bat 脚本报错 ( 使用 pause 拦截窗口自动关闭 | 方便查看错误 )
358 0
【错误记录】Windows 系统 bat 脚本报错 ( 使用 pause 拦截窗口自动关闭 | 方便查看错误 )
|
Python
Python 技术篇-在cmd命令提示行里模拟动态下载进度条实例演示,cmd清除日志、打印动态内容方法
Python 技术篇-在cmd命令提示行里模拟动态下载进度条实例演示,cmd清除日志、打印动态内容方法
534 0
Python 技术篇-在cmd命令提示行里模拟动态下载进度条实例演示,cmd清除日志、打印动态内容方法