我正在使用 Ditto 扩展原生 Windows 剪贴板。我希望它不保存我在 KeePassXC 中复制的文本。
我已经找到了这个问题并尝试将KeePassXC.exe
(如 Windows 任务管理器中列出的)添加到排除进程列表中,但不起作用。以下是我尝试设置的方法:
奇怪的是,如果我尝试将其添加chrome.exe
到排除进程列表中,它将按预期工作。有什么解决办法吗?
答案1
更新:Ditto 开发人员已在 Ditto Beta 版本 3.21.248 中修复了此问题!您可以在此下载https://ditto-cp.sourceforge.io/beta/
有关详细信息,请参阅https://sourceforge.net/p/ditto-cp/discussion/287511/thread/6c5ae56a/#a80b
原始答案:
我找到了 Ditto 无法正确排除 KeePassXC 文本的原因,但不幸的是我还没有找到如何修复它:
Ditto 无法看到 KeePassXC 应用程序。
由于打开时无法看到 KeePassXC 应用程序,因此 Ditto 不知道忽略从其中复制的文本,即使它在排除列表中。
我通过启用 Ditto 的日志解决了这个问题。我排除了在任务管理器中看到的所有 KeePassXC 进程以及记事本,以测试两者,并查看当我尝试从两个应用程序中复制文本时会发生什么。(Ditto 选项截图)
(要启用日志记录,请打开 Ditto,然后按 ctrl + F5 启动/停止日志。日志文件可以在 C:\Users\用户名\应用程序数据\漫游\同上)
当我尝试从记事本中复制文本时,下面的日志显示了从已添加到 Ditto 排除列表的应用程序复制文本时应该发生的情况。请注意,Ditto 将记事本识别为活动应用程序(在此屏幕截图中突出显示)。
[2018/8/4 01:30:03.533 - ClipboardViewer.cpp 241] OnClipboardChange - Start
[2018/8/4 01:30:03.540 - ClipboardViewer.cpp 320] INCLUDE app names: *, Active App: notepad.exe
[2018/8/4 01:30:03.547 - ClipboardViewer.cpp 333] Inlclude app names Found Match * - notepad.exe
[2018/8/4 01:30:03.554 - ClipboardViewer.cpp 347] EXCLUDE app names keepassxc.exe;keepassxc-proxy.exe;keepassxc-cli.exe;keepass.exe;*.kdbx;notepad.exe;, Active App: notepad.exe
[2018/8/4 01:30:03.559 - ClipboardViewer.cpp 357] Exclude app names Found Match notepad.exe - notepad.exe - NOT SAVING COPY
[2018/8/4 01:30:03.566 - ClipboardViewer.cpp 243] OnClipboardChange - End
但是,下面的日志显示了我从 KeePassXC 中复制文本时发生的情况。请注意,“活动应用程序”为空白(在此屏幕截图中突出显示)。如果 Ditto 看不到 KeePassXC,那么它就无法知道应该忽略从程序内部复制的文本。
[2018/8/4 01:29:44.999 - ClipboardViewer.cpp 241] OnClipboardChange - Start
[2018/8/4 01:29:45.007 - ClipboardViewer.cpp 320] INCLUDE app names: *, Active App:
[2018/8/4 01:29:45.013 - ClipboardViewer.cpp 333] Inlclude app names Found Match * -
[2018/8/4 01:29:45.018 - ClipboardViewer.cpp 347] EXCLUDE app names keepassxc.exe;keepassxc-proxy.exe;keepassxc-cli.exe;keepass.exe;*.kdbx;notepad.exe;, Active App:
[2018/8/4 01:29:45.021 - ClipboardViewer.cpp 266] OnDrawClipboard:: *** SetTimer *** 455056375
[2018/8/4 01:29:45.024 - ClipboardViewer.cpp 243] OnClipboardChange - End
[2018/8/4 01:29:45.135 - ClipboardViewer.cpp 392] OnDrawClipboard::OnTimer 455056500
[2018/8/4 01:29:45.141 - CopyThread.cpp 56] OnClipboardChange - Start
[2018/8/4 01:29:45.147 - CopyThread.cpp 109] LoadFromClipboard - Before
[2018/8/4 01:29:45.157 - Clip.cpp 435] Tried to set description from cf_unicode text, Set: 1, Desc: [keepassxc test]
我不是 KeePassXC 或 Ditto 的专家,所以我不确定这是 Ditto 的问题还是 KeePassXC 的问题。我想知道这个错误是否实际上是 KeePassXC 的某种安全“功能”——也许它试图隐藏自己不让其他程序发现?
如果我们可以让 Ditto 将 KeePassXC 视为一个活跃的应用程序,那么它应该好好工作。不幸的是我还没弄清楚该如何做。
我知道这只是一个半答案,抱歉。我已经确定了为什么 Ditto 无法正确排除 KeePassXC,但我不知道如何修复它。我遇到了和你一样的问题,所以我希望这些信息能帮助比我更聪明的人找到解决方案。