[4]让程序只运行一个实例
2020-12-15 本文已影响0人
heiqimingren
学习收获。
01,这个教程有价值,比较浅显,经常有人卖游戏多开器,肯定就得用到本节课只是。
02,了解一下,目前没跟着联系敲代码,以后再说吧,长见识了,第一,第二种方法能看明白。
===========================
image.png
image.png
在模态对话框创建之前,代码插入:
image.png
3个参数,第一个参数是安全类的指针,安全级别,用默认安全级别,那就null
第二个参数,互斥体创建成功之后,归属于哪个线程?用于线程同步方面,这里由于没有用多线程,直接传递了false
第三个参数,互斥体对象的名字。名字最好要唯一,不能与其他名字相混淆。
image.png
如何生存这个互斥体名字,vs2013,有这个工具
image.png image.png image.png
接下来,要记得做清理工作。
image.png
前20分钟,讲解了第一种方法。
第二种方法
image.png
image.png
第三种方法
image.png
setprop,设置属性。为一个窗口附加一个额外的属性。
第一个参数,窗口句柄。
第二个参数,一个字符串。也是全局唯一的
第三个参数,没听懂。
放在的位置:
全局的回调函数,
image.png image.png
image.png
image.png
image.png image.png
综上,一共3个步骤。
第四种方法:如果接触过dll编程,肯定熟悉这几个语句。
image.png
image.png
放在初始化函数之中,
image.png
===================
第五种方法,互斥体不支持窗口激活,但是加上这个自定义系统函数,就可以激活窗口了
image.png
image.png
image.png
image.png
image.png
响应消息设置
image.png
image.png
消息响应函数的实现
image.png
一个全局变量的声明
image.png
引用:
image.png