釘釘防多開原理
常規程序防止多開,會使用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: 18828 type: Mutant 294: \Sessions\1\BaseNamedObjects\{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk
DingTalk.exe pid: 18828 type: Mutant 2A4: \Sessions\1\BaseNamedObjects\{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk_loginframe
則調用如下命令即可:
handle.exe -p 18828 -c 294 -y
handle.exe -p 18828 -c 2a4 -y
此時可啟動第二個釘釘了。
參考文獻
電腦上怎么登錄幾個微信(微信多開)?
https://www.zhihu.com/question/41110715ProcessExplorer.png
