菜单

得了通常方法不能收场的经过

2019年9月14日 - 皇家赌场系统

 使用ntsd程序 (如若设置过VS,在VS的安装目录下,譬喻“C:\Program Files
(x86)\Debugging Tools for Windows
(x86)\ntsd.exe”,也足以在此处下载)

ntsd -c q -p PID
ntsd -c q -pn PName

三种艺术

一种是运用进度的ID号,将PID换来对应进度ID号就能够

一种是使用进程的名称,将PName换来对应的exe名字就能够,举个例子notepad.exe

为了便利,写了个批管理,将该批管理和ntsd放在一块儿,使用时推行批管理,采取相应的点子,并输入参数就能够。

@ECHO OFF
TITLE 结束使用普通方法无法结束的进程
COLOR 0A
MODE con: COLS=62 LINES=22

:MENU
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO.  %date% %tm1%点%tm2%分%tm3%秒 
ECHO.   ========================================
ECHO.   请选择要进行的操作,然后按回车
ECHO.   ────────────────────
ECHO.  1    根据进程号PID结束进程
ECHO.  2    根据进程名称结束进程

ECHO.  0    退出
ECHO.
ECHO.请输入选择项目的序号:

set /p choose=
if "%choose%" equ "" goto MENU
if %choose%==1 goto killusingpid
if %choose%==2 goto killusingname
if %choose%==0 goto END

ECHO. 输入错误,请输入正确的项目序号:
goto MENU

:killusingpid
set choose=
ECHO.请输入进程号PID,然后按回车
set /p proid=
set /a i=0
:kpid
ntsd -c q -p %proid%
if %i% GEQ 10 ( ( echo 结束进程%proid%失败 ) & goto MENU )
set /a i=%i%+1
echo 结束进程%proid%第%i%次
tasklist | findstr /i %proid% && ( goto kpid )
echo 结束进程ID为%proid%的程序成功或进程ID:%proid%不存在
GOTO MENU

:killusingname
set choose=
ECHO.请输入进程的名称(比如notepad.exe),然后按回车
set /p proname=
set /a i=0
:kpname
ntsd -c q -pn %proname%
if %i% GEQ 10 ( ( echo 结束程序%proname%失败 ) & goto Menu )
set /a i=%i%+1
echo 结束程序%proname%第%i%次
tasklist | findstr /i %proname% && goto kpname
echo 结束程序%proname%成功或程序:%proname%未启动

GOTO MENU

:END
exit

 

 

 

 

参考:

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图