阅读:1319回复:12
如何防止程序重入啊?就是只能一个程序运行用户被禁言,该主题自动屏蔽! |
|
沙发#
发布于:2004-02-02 17:47
指整个系统只允许运行一个程序还是说防止自身运行第二个实例?
防止自身的话,加个独立的节放个变量就可以了 (jeffry ricther 高级win32 编程) |
|
|
板凳#
发布于:2004-02-02 17:50
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2004-02-02 17:53
把优先级提到最高不知行不行?
从来没试过。 |
|
|
地下室#
发布于:2004-02-02 17:56
用户被禁言,该主题自动屏蔽! |
|
5楼#
发布于:2004-02-02 18:37
[quote]把优先级提到最高不知行不行? 不是这样的,就是只允许一个程序运行而已,但第二次打开程序,自动切到原来的程序。 [/quote] 实在搞不懂你在问什么? |
|
6楼#
发布于:2004-02-02 20:21
简单,程序创建一个named mutex,如果已经有了就退出
分 :D 怕name冲突可以用guid:D 例子: HANDLE hPre = CreateMutex(NULL, TRUE, strTmp); // if already run a instance, or faile to create a mutex if ( GetLastError() == ERROR_ALREADY_EXISTS ) { DbgMsgBox(NULL, _T("Already running an instance!"), _T("Error"), MB_OK); return 0; } if (hPre == INVALID_HANDLE_VALUE) { DbgMsgBox(NULL, _T("Create mutest failed!"), _T("Error"), MB_OK); return 0; } |
|
7楼#
发布于:2004-02-03 09:19
用户被禁言,该主题自动屏蔽! |
|
8楼#
发布于:2004-02-03 10:35
我记得是用FindWindow
|
|
9楼#
发布于:2004-02-03 10:37
那你在退出前,FindWindow,然后ShowWindow :D :D
或sendmessage :D |
|
10楼#
发布于:2004-02-03 12:51
都没分了,还折腾啥?:D
|
|
11楼#
发布于:2004-02-03 13:22
用户被禁言,该主题自动屏蔽! |
|
12楼#
发布于:2004-02-03 14:43
楼主,找你呢,你咋不上MSN了????
|
|