比如 wps 关闭后, 还会有多个后台进程存在.
想找一个能自动检测相关进程, 当wps.exe关闭后, 检测到相关进程会自动关闭.
不仅仅是wps, 还有很多其他软件.
所以这个工具最好能自定义关联进程.
比如 wps 关闭后, 还会有多个后台进程存在.
想找一个能自动检测相关进程, 当wps.exe关闭后, 检测到相关进程会自动关闭.
不仅仅是wps, 还有很多其他软件.
所以这个工具最好能自定义关联进程.
我首先想到的是放 sandboxie 里
把 WPS 连带其他进程一起杀掉
使用 .bat
文件批量杀进程?放在环境变量里一键运行
或者使用 Quicker 这类自动化工具
根据Pid关闭进程(子程序) - 子程序信息 - Quicker
关闭进程或者窗口(子程序) - 子程序信息 - Quicker
检索词
macOS 下,借助 Keyboard Maestro 则十分无脑:
有,之前用纯c写过一个小工程AF4EX,意思就是扩展Alt+F4的功能,使用它关闭窗口时会整个结束软件
(用alt+F4作为触发条件感觉是很巧妙的设计AwA)
四年前写的了…我在这里大概理一下思路,拿到计算机后就把它重新写一遍
面向过程,很简单:
安装键盘钩子,hook Alt+F4,如果按下,执行:
获取前台窗口所在进程P;
获取进程P可执行文件所在文件夹W;
获取W的所有祖先文件夹和所有子文件夹L1;
获取P的所有祖先进程和子进程的可执行文件所在文件夹L2;
遍历L2,如果L1某元素是L2的任意元素T的子字符串,则将所有映像名称为T的进程添加到数组K;
(危险)对于P的每一个子进程,执行上述逻辑;
杀除K。
具体实现优化、黑白名单、权限安全检查已略去。
排除Windows文件夹后,上面的规则能在减少误杀的情况下有利于完整地终止软件。
规则可能有更简单的表达…我尽力了
存在漏洞,部分程序必须按特定顺序kill,否则会互相保活……我记得一个什么网课程序有这个问题……
思路很好,我刚刚想写一个的(咕咕咕),不过实现思路不太一样,我是直接用户给定所有信息,程序按顺序执行taskkill
;后缀名<.exe>可以省略,目前仅支持exe型可执行文件
[example_m];不要删除示例小节
;本示例小节演示了多程序触发的情景
main_proc[] = "wps"
main_proc[] = "wpp";如果有多个用于触发的主程序就这么写
main_proc[] = "et"
main_proc[] = "wpspdf"
class[]="_WwG";必须写清该程序窗口的类名
class[]="PP12FrameClass"
class[]="XLMAIN"
class[]="Qt5QWindowIcon"
status = "AllClosed" ;有AllClosed, OneClosed, AllStarted, OneStarted, OneHidden几种状态
operation = "" ;有Start, Kill两种操作
need_proc[] = "wpswpscloudsvr" ;Kill时将顺序结束本项所写的进程,Start时比如写明程序完整路径(支持空格)
need_proc[] = "test"
tree = true ;是否结束进程树
直接删掉
\AppData\Local\Kingsoft\WPS Office\12.2.0.19805\office6\wpscenter.exe
\AppData\Local\Kingsoft\WPS Office\12.2.0.19805\office6\wpscloudlaunch.exe
\AppData\Local\Kingsoft\WPS Office\12.2.0.19805\office6\wpscloudsvr.exe
\AppData\Local\Kingsoft\WPS Office\12.2.0.19805\office6\wpscloudsvrimp.dll
删服务项, 删任务计划, 删文件, 电脑里没有需要杀后台的程序
同意,从根本禁止是最优解
是什么语言(好奇)ahk嘛
我的小漏洞可以简单地解决:先全部挂起,再全杀除
您也有小漏洞,taskill是命令行实用工具,在大批量调动时会很慢,尽可能使用winapi或者插件
其实想用rust写的,感觉除非一次性kill太多,对普通用户而言还是可以接受的(
调api也好办,改改就是了,思路反正就是这个样子,关键在于可以通过类名进行精准控制,别的没啥优点,缺点倒是不少,(比如有点太繁琐了配置……)
期待大佬的程序(
可以通过火绒的自定义搞搞,可操作性更高,例如允许读取、创建、删除,禁止修改、运行。
这样一来就只能创建但无法运行了,程序在试图修复的时候还会发现sha值没问题,程序权限正常且可读取,就是运行不了
啊!在等我嘛…可能没那么快能拿到含有开发环境的机子,您感兴趣的话可以先试试看
我的理想状态的工具应该是这样的:
每x秒检测A程序, 如果发现不存在A程序, 则 y秒之后关闭关联进程B/C/D
ABCD,xy 都由用户自己指定.
这么做的好处是, 不依赖关闭软件方式. 不限定特定软件.
这个大家觉得有没有逻辑上的漏洞?
没啥问题,就是可能得指定一下窗口标题或者类名,因为例如wps,有时候wps.exe也会残留,这时候就得通过类名判断是否非word、excel、ppt页面,然后再结束掉wps本身加你要结束的其他程序
我之前是用批处理,当前台进程退出的时候自动杀掉整个进程树,当然是枚举进程杀。
但是Electron开发的软件就没办法这么处理了。
?为什么呢
自己写个其实很容易。。。
每个进程退出都会触发
Power Automate就可以
AF4EX
密码:fps9
小心!未做保护处理,请保存所有工作后再尝试
六年级的时候更新的那版不够简洁,改了一些地方。最重要的判断逻辑如下伪代码所示
//path:前台窗口进程程序文件所在文件夹
//tpath:待检测进程程序文件所在文件夹
//kill(tpid):杀除待检测进程
if (path.find(tpath) != wstring::npos ||
tpath.find(path) != wstring::npos)
kill(tpid);
看看能不能拿到电脑再更新(?)用手机写实在太累了