| 
					阅读:1376回复: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了????				 | |
 
							
 
				

 
				 
				 
				