标题: [系统相关] 批处理怎样禁止1个进程多开? [打印本页]
作者: zx586 时间: 2010-10-11 21:19 标题: 批处理怎样禁止1个进程多开?
比如 L:\wen\zb.exe,只能运行1次,然后点多少次都是无效的.
这个是游戏的进程,我的意思是只能开1个游戏,不能多开,可以实现吗?谢谢!
作者: lxzzr 时间: 2010-10-12 20:25 标题: 回复 1楼 的帖子
给你个参考,在我的机上测试成功.- @echo off
-
- set filepath=C:\QQ2009
- set filename=qq.exe
-
-
- :loop
- set pid1=
- set pid2=
-
- rem 延时
- ping 127.0.0.1 -n 2 >nul
-
- rem 获取services进程的PID
- for /f "usebackq skip=1 tokens=1 delims= " %%a in (`"wmic path win32_process.name='services.exe' get processId"`) do (set pid1=%%a)
- for /f "usebackq skip=1 tokens=1 delims= " %%a in (`"wmic path win32_process.name='%filename%' get processId 2>nul"`) do (set pid2=%%a)
-
- if "%pid2%" == "" (
-
- dhfile.exe /c %pid1% "%filename%" 1>nul 2>nul
-
- ) else (
-
- dhfile.exe /p %pid1% "%filepath%\%filename%" 1>nul 2>nul
-
- )
-
- goto :loop
复制代码
dhfile.exe文件见附件
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |