VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 2006|回复: 25

VC++高级班之窗口篇-[4]让程序只运行一个实例

[复制链接]
01_avatar_middle
最佳答案
9 
online_admins 发表于 2018-2-23 00:48:42 | 显示全部楼层 |阅读模式
大家都看过或者使用过类似只运行一个实例的程序,比如:QQ游戏、部分浏览器 等等!
让一个程序只运行一个实例的方法有多种,但是原理都类似,也就是在程序创建后,有窗口的程序在窗口创建前,
检查系统中是否已经设置了某些特定标志,是否创建了一些全局唯一的东西,或者让程序的多个实例都能看到的东西,
如果有则说明已经有一个实例在运行了,则当前程序通知用户如何如何,然后程序退出,当然方法有很多种,各有各的优缺点!

①、创建互斥体 Mutex 法:
②、通过 FindWindow 进行窗口的查找,若发现则说明已经运行过一个实例,并将其窗口激活:
③、设置窗口属性 SetProp + EnumWindows 法!
④、使用全局共享变量的共享节法实现单实例运行;
⑤、互斥体+自定义广播系统消息法;
1、系统消息的注册:
2、发现实例后,进行消息的广播:
3、窗口类中全局变量的作用域扩展:
4、窗口类中自定义消息的响应:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
教程在线观看地址:
https://www.bilibili.com/video/av39706853/?p=5
MP4高清视频下载地址:链接:https://pan.baidu.com/s/1HZKXG5rAHmUwY6NZj9gDYw 提取码:urlf
本节课件下载(回复后可见):
游客,如果您要查看本帖隐藏内容请回复

备注:VIP会员可免费下载本站所有资源(点击查看)
提示:通过购买VC驿站U盘打包(点击查看)也可加入终身Vip会员^_^





上一篇:VC++高级班之窗口篇-[3]窗口的枚举与查找
下一篇:VC++高级班之窗口篇-[5]Windows消息的发送
51_avatar_middle
最佳答案
0 
在线会员 发表于 2018-2-23 16:02:29 | 显示全部楼层
这是?把以前的教程再介绍一遍?
01_avatar_middle
最佳答案
9 
ico_lz  楼主| 发表于 2018-2-23 22:57:46 | 显示全部楼层
954624 发表于 2018-2-23 16:02
这是?把以前的教程再介绍一遍?


嗯,再介绍一下,做下宣传推广,也更好的让搜索引擎收录下!
51_avatar_middle
最佳答案
0 
在线会员 发表于 2018-2-25 07:51:40 | 显示全部楼层
admin 发表于 2018-2-23 22:57
嗯,再介绍一下,做下宣传推广,也更好的让搜索引擎收录下!

有没有打算做个自绘的教程啊
01_avatar_middle
最佳答案
9 
ico_lz  楼主| 发表于 2018-2-26 00:09:52 | 显示全部楼层
954624 发表于 2018-2-25 07:51
有没有打算做个自绘的教程啊

《VC++基础班》最后一课有给大家讲解如何自绘ListCtrl 控件,算是以这个为例子给大家讲解了自绘的原理。
51_avatar_middle
最佳答案
0 
在线会员 发表于 2018-2-26 12:45:17 | 显示全部楼层
admin 发表于 2018-2-26 00:09
《VC++基础班》最后一课有给大家讲解如何自绘ListCtrl 控件,算是以这个为例子给大家讲解了自绘的原理。

使用GDI、GDI+  自绘界面那样
95_avatar_middle
最佳答案
0 
在线会员 发表于 2019-2-17 14:13:59 | 显示全部楼层
感谢老大的无私奉献
98_avatar_middle
最佳答案
0 
在线会员 发表于 2019-2-23 14:08:51 | 显示全部楼层
谢谢分享学习
69_avatar_middle
最佳答案
0 
在线会员 发表于 2019-3-5 13:31:29 | 显示全部楼层
您的 驿站币 -1 ,现在将开始下载
02_avatar_middle
最佳答案
0 
在线会员 发表于 2019-3-19 06:19:53 | 显示全部楼层
好教程,下载了
56_avatar_middle
最佳答案
0 
在线会员 发表于 2019-3-23 20:04:47 | 显示全部楼层
感谢老大的无私奉献
52_avatar_middle
最佳答案
0 
在线会员 发表于 2019-3-25 20:16:19 | 显示全部楼层
谢谢站长,收藏了
00_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-11 17:41:28 | 显示全部楼层

谢谢分享学习
94_avatar_middle
最佳答案
0 
在线会员 发表于 2019-6-25 16:57:44 | 显示全部楼层
终于找到组织了VC++高级班之窗口篇-[4]让程序只运行一个实例
06_avatar_middle
最佳答案
0 
在线会员 发表于 2019-7-16 21:49:15 | 显示全部楼层
先看看文芳
43_avatar_middle
最佳答案
0 
在线会员 发表于 2019-8-3 11:37:15 | 显示全部楼层

感谢分享,学习一下!
30_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-18 18:21:50 | 显示全部楼层
课程好评,收获很多!!!!!!!!!感谢站长大大的分享!!!!
19_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-22 14:36:33 | 显示全部楼层
真的是好东西啊
23_avatar_middle
最佳答案
0 
在线会员 发表于 2019-10-2 23:32:45 | 显示全部楼层
看一下课件
55_avatar_middle
最佳答案
0 
在线会员 发表于 2019-10-8 10:44:46 | 显示全部楼层
谢谢分享!!!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-12-15 20:38

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表