免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2245 | 回复: 10
打印 上一主题 下一主题

请教个windows下的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-28 12:14 |只看该作者 |倒序浏览
请教各位达人:

可否在windows XP下写个小程序,实现如下需求:

1、实时检测系统中运行的线程,一旦遇到某个线程(如CS游戏的线程)在运行,就自动重启或者关机(或者说杀死该线程);
或者
2、实时检测系统中运行的线程,一旦遇到某个线程(如CS游戏的线程)在运行,如果当前时间是在某个区间(如0点~10点),就自动重启或者关机(或者说杀死该线程);


如果能使用批处理方式实现就更好了,后台运行。

谢谢!!!

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2012-03-28 13:06 |只看该作者
你在任务管理器里面看到的那个叫做进程而不是线程
实时监控需要一个死循环,会浪费大量系统资源。可以考虑把批处理放到任务计划里面,每分钟执行一次。

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015年迎新春徽章
日期:2015-03-04 09:57:09
3 [报告]
发表于 2012-03-28 17:14 |只看该作者
这个可以,原来网吧就是这样禁用迅雷的,不过用户可以给进程改名字……

论坛徽章:
0
4 [报告]
发表于 2012-03-28 18:01 |只看该作者
我使用windows的计划任务定时运行批处理脚本,大致实现了这个功能,但就是到时会弹出一个窗口,如何实现不弹出这个窗口呢?
@echo off
SetLocal EnableDelayedExpansion
:1
cls
tasklist /nh|find /i "notepad.exe"
if ERRORLEVEL 1 (goto 1&ping 127.1 -n 20 >nul 2>nul) else (goto 2)
:2
taskkill /im notepad.exe /f
goto 1

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
5 [报告]
发表于 2012-03-28 19:18 |只看该作者
回复 4# Hmilyade


批处理后台隐藏运行的11种思路
http://www.bathome.net/thread-3271-1-1.html

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
6 [报告]
发表于 2012-03-28 19:19 |只看该作者
回复 3# dooros


这种情况可以用组策略的散列规则来搞定

论坛徽章:
0
7 [报告]
发表于 2012-03-28 23:47 |只看该作者

论坛徽章:
0
8 [报告]
发表于 2012-03-29 14:43 |只看该作者
又优化了一下:
@echo off
SetLocal EnableDelayedExpansion
:1
cls
tasklist /nh|find /i "notepad.exe"
if ERRORLEVEL 1 (ping 127.0.0.1 -n 300 >nul&goto 1) else (goto 2)
:2
taskkill /im notepad.exe /f
ping 127.0.0.1 -n 600>nul
goto 1

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2012-03-29 15:51 |只看该作者
回复 8# Hmilyade


观察一下CPU使用率大概是多少

论坛徽章:
0
10 [报告]
发表于 2012-03-29 17:20 |只看该作者
如果批处理一直运行,关机的情况下,会弹出DOS提示窗口,这样,容易被人察觉。所以这样写:

一、建立批处理文件:kill.bat
即没有检测XXX.exe进程到就退出批处理程序;
如果检测到XXX.exe进程就先杀死它,然后退出批处理程序。

**********************************************************************
@echo off
SetLocal EnableDelayedExpansion

:1
cls
tasklist /nh|find /i "175Client.exe"
if ERRORLEVEL 1 (exit) else (goto 2)

:2
taskkill /im 175Client.exe /f
exit
**********************************************************************

二、建立vbs脚本文件隐藏命令窗口:RunBat.vbs
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c kill.bat",vbhide

三、在windows下建立任务计划:
每天定时执行,5分钟重复一次该任务计划,持续24小时。

即:只要一开机,间隔5分钟就有该任务计划。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP