[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 如何监控进程不让软件扫描硬盘(写了源码求简化的方法)

比方QQ等,经常跳出对话框出来,要求更新安全模块,实则是扫描硬盘!为防止隐私泄露,就想到用批处理杀掉进程,于是:

首先我想到是这样:
  1. @echo off
  2. call D:\backup\qq\Bin\QQScLauncher.exe
  3. taskkill /f /im TXP* >NUL 2>NUL
  4. taskkill /f /im tad* >NUL 2>NUL
  5. taskkill /f /im QQP* >NUL 2>NUL
  6. taskkill /f /im QQC* >NUL 2>NUL
  7. taskkill /f /im SogouCloud.exe >NUL 2>NUL
  8. pause
复制代码
发现杀掉之后,又会出来!我就想了这样:
  1. @echo off&setlocal enabledelayedexpansion
  2. set T01=TXP
  3. set T02=tad
  4. set T03=QQP
  5. set T04=QQC
  6. set T05=SogouCloud.exe
  7. :start
  8. for /f %%i in ('tasklist') do (if !T01! equ %%i taskkill /f /im !T01!* >NUL 2>NUL)
  9. for /f %%j in ('tasklist') do (if !T02! equ %%j taskkill /f /im !T02!* >NUL 2>NUL)
  10. for /f %%k in ('tasklist') do (if !T03! equ %%k taskkill /f /im !T03!* >NUL 2>NUL)
  11. for /f %%l in ('tasklist') do (if !T04! equ %%l taskkill /f /im !T04!* >NUL 2>NUL)
  12. for /f %%m in ('tasklist') do (if !T05! equ %%m taskkill /f /im !T05!* >NUL 2>NUL)
  13. goto start
复制代码
问题在于1是特别消耗CPU,2是每次加一项屏蔽的进程,都需要重新写一边for循环,有没有好的办法,可以简化,求教各位大神!

本帖最后由 /zhqsystem/zhq 于 2015-11-14 18:03 编辑

  1. @echo off
  2. set "taskkill_name="txp","tad","QQP","QQC","SogouCloud""
  3. for /f "delims=" %%i in ('tasklist.exe') do (
  4. for %%j in (%taskkill_name%) do (
  5.   echo,%%~ni|findstr/i "%%~j" >nul 2>nul&&(
  6.    if /i not "%%~ni.exe"=="qqprotect.exe" (
  7.     rem:::说明:由于程序名称的可变性导致多写出这么多代码,将回显的值用于用途即可,自行替换
  8.     echo,%%~ni.exe
  9.    )
  10.   )
  11. )
  12. )
  13. pause
复制代码
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

号贴 好贴 收藏了

TOP

返回列表