[4]让程序只运行一个实例
2020-12-15 本文已影响0人
heiqimingren
学习收获。
01,这个教程有价值,比较浅显,经常有人卖游戏多开器,肯定就得用到本节课只是。
02,了解一下,目前没跟着联系敲代码,以后再说吧,长见识了,第一,第二种方法能看明白。
===========================
![](https://img.haomeiwen.com/i2731375/434495eec6be1f17.png)
![](https://img.haomeiwen.com/i2731375/5bcdc0f387d53f9f.png)
在模态对话框创建之前,代码插入:
![](https://img.haomeiwen.com/i2731375/285ae4994bf08f48.png)
3个参数,第一个参数是安全类的指针,安全级别,用默认安全级别,那就null
第二个参数,互斥体创建成功之后,归属于哪个线程?用于线程同步方面,这里由于没有用多线程,直接传递了false
第三个参数,互斥体对象的名字。名字最好要唯一,不能与其他名字相混淆。
![](https://img.haomeiwen.com/i2731375/0f164fa7c264fd5d.png)
如何生存这个互斥体名字,vs2013,有这个工具
![](https://img.haomeiwen.com/i2731375/c4c340e022e02161.png)
![](https://img.haomeiwen.com/i2731375/d6ce4e96ae91a51c.png)
![](https://img.haomeiwen.com/i2731375/db3c9a4657dab7f7.png)
接下来,要记得做清理工作。
![](https://img.haomeiwen.com/i2731375/1a2a80a87f3025a4.png)
前20分钟,讲解了第一种方法。
第二种方法
![](https://img.haomeiwen.com/i2731375/e05ae2c0ebb5a065.png)
![](https://img.haomeiwen.com/i2731375/37316b26645b87a7.png)
第三种方法
![](https://img.haomeiwen.com/i2731375/11b703c946c656f5.png)
setprop,设置属性。为一个窗口附加一个额外的属性。
第一个参数,窗口句柄。
第二个参数,一个字符串。也是全局唯一的
第三个参数,没听懂。
![](https://img.haomeiwen.com/i2731375/edba5c8e79431704.png)
放在的位置:
全局的回调函数,
![](https://img.haomeiwen.com/i2731375/b0879b68511b8ab2.png)
![](https://img.haomeiwen.com/i2731375/8c44e896b56aebb2.png)
![](https://img.haomeiwen.com/i2731375/acaf6672e1215b42.png)
![](https://img.haomeiwen.com/i2731375/37cf955ff6a4751d.png)
![](https://img.haomeiwen.com/i2731375/4f323c6e2e7fbd4f.png)
![](https://img.haomeiwen.com/i2731375/00e116439fa07e05.png)
综上,一共3个步骤。
第四种方法:如果接触过dll编程,肯定熟悉这几个语句。
![](https://img.haomeiwen.com/i2731375/30d2ac657b6a6866.png)
![](https://img.haomeiwen.com/i2731375/7d5a76fd89b5eb95.png)
放在初始化函数之中,
![](https://img.haomeiwen.com/i2731375/b981c3952f739dc7.png)
===================
第五种方法,互斥体不支持窗口激活,但是加上这个自定义系统函数,就可以激活窗口了
![](https://img.haomeiwen.com/i2731375/a49c8ca68eb26794.png)
![](https://img.haomeiwen.com/i2731375/2de23e9ac953e876.png)
![](https://img.haomeiwen.com/i2731375/f161959b74bfc238.png)
![](https://img.haomeiwen.com/i2731375/4b49b07bb44d03cc.png)
![](https://img.haomeiwen.com/i2731375/68dd19dae844c302.png)
响应消息设置
![](https://img.haomeiwen.com/i2731375/334ac95d3aa224bb.png)
![](https://img.haomeiwen.com/i2731375/065068dea4ec22cc.png)
消息响应函数的实现
![](https://img.haomeiwen.com/i2731375/94046fe5a0ce8660.png)
一个全局变量的声明
![](https://img.haomeiwen.com/i2731375/15070324ddc06fa0.png)
引用:
![](https://img.haomeiwen.com/i2731375/92f4f344984d2f9f.png)