huiyadanli / PasteEx

:clipboard: Paste As File 把剪贴板的内容直接粘贴为文件
GNU General Public License v3.0
1.33k stars 118 forks source link

能否排查一下默认扩展名的设置问题 #31

Closed alifriend closed 5 years ago

alifriend commented 5 years ago

感谢作者,非常好用的一款软件。 使用过程中(最新版1178)发现一个小问题,虽然选项里已经把扩展名改成jpg,但是有的时候贴出来会变回PNG。我不确定这是BUG,还是程序根据剪贴板内容自动切换,根据问题18和20的内容,貌似可能是个BUG。 目前我无法精确的复现这个问题,有时候从WIN10的画图复制一部分,粘出来会出现,有时候QQ截的或者系统截的也会出现,大概几十次出现一次。而且出现之后,默认扩展名就变成PNG了,必须再开一次程序设置为JPG。没有开启监听模式,右键菜单手动保存。

huiyadanli commented 5 years ago

感谢你的反馈!

现在程序对扩展记忆的机制是:针对同一来源、同一剪切板格式类型,并选择了不同与 PasteEx 默认给出的扩展名选择列,将会自动记录选择的扩展名。

按照这个逻辑,如果从不同的程序中复制,并粘贴为文件,第一次都会是默认的顺序,即便是同一个程序,多次复制中可能存在剪贴板内容类型不一样的情况,所以就会出现你这样的使用感受。

以上是我根据你的描述得出的结论。具体原因,你可以把 PasteEx.exe 所在目录下的 User文件夹下的 Ext.history 文件上传上来。里面记录了当前记住的扩展名情况,我可以根据这个文件进行进一步的判断。

alifriend commented 5 years ago

感谢解答!按照您的描述,大概明白原因了,应该是不同程序中复制出来,第一次都会弹回PNG,看了一下Ext.history,具体区别在这一行: "ClipboardFormats":["System.Drawing.Bitmap","Bitmap","DeviceIndependentBitmap","Format17"], "ClipboardFormats":["Embed Source","Object Descriptor","MetaFilePict","DeviceIndependentBitmap"], 应该是同一个程序,这两种情况会被认为不同情形,所以会有两次弹回PNG的情况发生,然后换一个程序又会有两次,之后基本就不会了,难怪有时候复现不了。现在明白原因了,常用的几个程序保存了设置之后,应该也不怎么会反弹了。感谢!