程序只运行一个实例(包括远程登录运行或打开)
来源:互联网 发布:淘宝2012新规则 编辑:程序博客网 时间:2024/06/09 16:12
//HANDLE hmutex = CreateMutex(NULL,TRUE,"test.exe");
//DWORD err = GetLastError();
//if (err == ERROR_ALREADY_EXISTS)
//{
// AfxMessageBox("程序已经运行!");
// return FALSE;
//}
我们都知道使用CreateMutex来实现限制只能运行程序的一个实例的, 假如程序是放在服务器上运行,要使用Windows的远程登录去打开或者访问程序,
在远程桌面不同会话之间,CreateMutex是不起作用的,即不同的会话可以同时运行程序的多个副本,即CreateMutex只在同一个会话中起作用,还是会运行多个实例!
今天在网上看到一个方法:相当好
HANDLE hMutex = ::CreateMutex(NULL, FALSE, L"global\\test.exe");
只要多加一个 global\\
而我原来的做法是采用socket的bind去控制,第二次bind肯定是失败的....当然这种方法也是可行的。。。。
不好的是增加了socket的开消
- 程序只运行一个实例(包括远程登录运行或打开)
- 程序只运行一个实例(一)
- 程序只运行一个实例(二)
- 程序只运行一个实例(三)
- 程序只运行一个实例(四)
- 程序只运行一个实例(五)
- 只运行一个程序实例
- 只运行一个实例程序
- 程序只运行一个实例
- 只运行一个程序实例
- 程序只运行一个实例
- 程序只运行一个实例
- 程序只运行一个实例
- 一个程序只运行一个实例
- 程序只运行一个是实例
- 怎样使程序只运行一个实例
- C++Builder 程序只运行一个实例
- 确保程序只运行一个实例
- log4j
- Android 高仿QQ 登陆界面
- MFC使用ListCtrl控件
- 设计模式-template
- Eclipse中最常用的快捷键
- 程序只运行一个实例(包括远程登录运行或打开)
- 【转】谷歌2013校园招聘笔试题心得(附答案)
- Linux内核裁剪(2.4)
- 在对话框上按回车键,enter 关闭对话框
- VC调试经验
- Java编程中“为了性能”需做的26件事
- Java高级面试题【转】
- 经典面试(1) 二分法与二进制
- Java程序员面试中的多线程问题