|
kyqm
初级用户
积分 152
发帖 42
注册 2004-3-10
状态 离线
|
『楼 主』:
[已结]有两个QQ先后运行,如何得到他们的PID?
[求助]通过dos命令让两个QQ先后运行,如何得到他们的PID?
因为我想用dos关闭其中某个,比如说关闭第一个吧
我有个大致思路:
2个QQ运行时必有先后,每次记下运行时进程列表,
通过比较可以把两者PID区分开来
不知是否能行,如果行,能否帮忙写个
谢谢
[ Last edited by HAT on 2009-2-3 at 05:44 ]
|
|
2009-1-31 17:42 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
2 楼』:
WMI得到的话是按先后顺序,大小貌似不太确定,一般大的是后面的……一般
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2009-1-31 19:28 |
|
|
voiL
中级用户
积分 384
发帖 189
注册 2005-10-19
状态 离线
|
『第
3 楼』:
如果根据PID大小来判断程序启动的先后是不行的哦.
以前好像在哪看到有个程序可以看到任一进程运行的时间的吧.
不过现在那文章我找不到了,之前收藏过的.
|
|
2009-1-31 20:09 |
|
|
moniuming
银牌会员
永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
4 楼』:
前提条件为QQ必须是通过命令行来登陆.
@echo off
Setlocal Enabledelayedexpansion
:agn
set n=0&set "in="
::请根据实际情况对下面这句的"tokens="后面的内容作适当更改
for /f "tokens=6,11 delims=: " %%a in ('wmic process where "name='qq.exe'" get commandline^,handle') do (
set /a n+=1
set pid!n!=%%b
echo.!n! %%a
)
echo.&set input=&set /p input=请输入要退出的QQ的序号(回车退出):
if not defined input goto :eof
:again
set "in= %input:~,1%%in%"
if not "%input:~1%"=="" (
set input=%input:~1%
goto :again
)
for %%a in (%in%) do (
taskkill /f /pid !pid%%a!
)
echo.&goto :agn
|
|
2009-1-31 22:28 |
|
|
mgq
中级用户
积分 206
发帖 103
注册 2008-5-6 来自 广东 肇庆
状态 离线
|
『第
5 楼』:
@echo off
for /f "tokens=2 delims= " %%a in ('tasklist /fi "imagename eq qq.exe" /v /fo table^|findstr /i /c:"qq.exe"') do (
echo %%a
)
pause
|
|
2009-2-1 12:19 |
|
|
mountvol
初级用户
积分 186
发帖 117
注册 2006-8-14
状态 离线
|
『第
6 楼』:
wmic process get Caption,CreationDate,handle
|
|
2009-2-1 14:53 |
|
|
BC
中级用户
积分 338
发帖 175
注册 2007-10-21
状态 离线
|
|
2009-2-2 09:46 |
|
|
kyqm
初级用户
积分 152
发帖 42
注册 2004-3-10
状态 离线
|
『第
8 楼』:
谢谢给出源码的朋友,研究中。。。
|
|
2009-2-2 16:06 |
|