钉钉防多开原理
常规程序防止多开,会使用Mutex。钉钉是常规程序,所以也是使用Mutex。
查找钉钉使用的Mutex
下图可以点击看大图:
启动钉钉,然后使用ProcessExplorer查看进程的Mutant,会看到多个。
挨个停掉Mutant句柄之后尝试再次打开钉钉,直到成功。
验证结果为如下两个Mutex需要关闭:
\Sessions\1\BaseNamedObjects{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk
\Sessions\1\BaseNamedObjects{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk_loginframe
关闭钉钉的Mutex
工具:handle.exe
使用handle.exe查看Mutex及进程pid:
> handle.exe -a "BaseNamedObjects\{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk"
Nthandle v4.22 - Handle viewer
Copyright (C) 1997-2019 Mark Russinovich
Sysinternals - www.sysinternals.com
DingTalk.exe pid: 16072 type: Mutant 298: \Sessions\1\BaseNamedObjects\{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk
DingTalk.exe pid: 16072 type: Mutant 2A8: \Sessions\1\BaseNamedObjects\{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk_loginframe
则调用如下命令即可:
handle.exe -p 16072 -c 298 -y
handle.exe -p 16072 -c 2A8 -y
此时就可以再启动第二个钉钉了
已经有 0 条群众意见