限制程序多开
来源:互联网 发布:巡视利剑观后感 知乎 编辑:程序博客网 时间:2024/04/29 04:07
http://www.cctry.com/thread-38070-1-3.html
1.创建新节法
#pragma data_seg("Shared") HWND hWnd=NULL; #pragma data_seg() #pragma comment(linker, "/Section:Shared,RWS") 初始化函数中:if (hWnd==NULL) { hWnd=m_hWnd; } else { AfxMessageBox(_T("只允许运行一个实例!")); ::SetForegroundWindow(hWnd); ExitProcess(0); }
2.互斥体法
缺点是无法激活旧窗口,可以用CreateMutex,CreateEvent,OpenMutex等API实现
hObject=CreateMutex(NULL,FALSE,_T("互斥体")); if (GetLastError()==ERROR_ALREADY_EXISTS) { AfxMessageBox(_T("只允许运行一个实例!")); ExitProcess(0); }
3.查找窗口标题法
1.FindWindow
初始化函数中
hObject=CreateMutex(NULL,FALSE,_T("互斥体")); if (GetLastError()==ERROR_ALREADY_EXISTS) { AfxMessageBox(_T("只允许运行一个实例!")); ExitProcess(0); }
2.EnumWindows
BOOL CALLBACK MyEnumWndProc(HWND hwnd,LPARAM lParam) { TCHAR szCaption[256]={0}; GetWindowText(hwnd,szCaption,256); if (_tcscmp(_T("EnumWindows单实例"),szCaption)==0) { AfxMessageBox(_T("只允许运行一个实例!")); ::SetForegroundWindow(hwnd); ExitProcess(0); } return TRUE; }
初始化函数中
EnumWindows(MyEnumWndProc,NULL); SetWindowText(_T("EnumWindows单实例"));
3.GetWindow
TCHAR szCaption[MAX_PATH]={0};HWND hWnd=::GetWindow(::GetDesktopWindow(), GW_CHILD);while(hWnd!=NULL){ ::GetWindowText(hWnd,szCaption,MAX_PATH); if (_tcscmp(_T("GetWindow单实例"),szCaption)==0) { AfxMessageBox(_T("只允许运行一个实例!")); ::SetForegroundWindow(hWnd); ExitProcess(0); } hWnd=::GetWindow(hWnd, GW_HWNDNEXT);}SetWindowText(_T("GetWindow单实例"));
- 限制程序多开
- 限制程序多开数目
- C# winform 限制程序多开
- MFC 程序怎么限制多开
- winform程序限制多开以及FromMian 为主线程思路
- 限制程序创建多实例的代码
- 多开限制突破
- 多开限制突破
- 采用关闭句柄的方式去掉程序多开的限制
- 限制程序重复执行
- IP限制程序
- IP限制程序
- web程序请求限制
- 多开限制的原理
- 多开限制的原理
- 试手 破解多开限制
- 限制打开一个程序实例
- 限制程序只运行一次
- C# panel的mousewheel事件触发
- javascript递归遍历所有DOM文档节点
- 测试Delphi控件属性保存到dfm
- Converting text files between Unix and Windows
- TextBox只能输入数字(0..9)
- 限制程序多开
- CentOS 6.0(X64)下编译安装LNMP平台( Nginx1.0.10 + PHP5.3.8 + Mysql5.5.18 )
- Operation is not valid due to the current state of the object.
- sharepoint富文本里插入图片、视频
- OpenGL入门学习之十五——从“绘制一个立方体”来看OpenGL的进化过程
- 6410的GPIO使用
- C#调用axix2发布的Web服务(参数为int时,异常:未处理 System.Web.Services.Protocols.SoapException Message="unknown
- N-Patches
- mysql编码设置