Hackerl / Wine_Appimage

Appimage For Wine
480 stars 69 forks source link

微信截图后无法直接发送 #6

Closed huyz-git closed 5 years ago

huyz-git commented 6 years ago

微信截完图后如果按“钩”则截图直接消失,不会返回到输入框里。如果保存到本地后再从本地粘贴到输入框里则可以正常发送。 试过在终端下运行,但是截图时终端里什么都没有输出。

ps. 我还安装过deepin版的wine微信(来自这里),这个版本截图是可以正常返回输入框里的,而且也可以从本地拖拽文件到输入框里。但是它却没法发送输入框里的图片。

Hackerl commented 6 years ago

可能是 wine 环境没配置好,你可以将 deepin wine wechat解压,里面有 wine环境 。然后将我的appimage解包,利用 wine-cfg 查看两者 dll 调用配置。 在输入框中显示文件图像,会调用 ole32.dll 中的 OleCreateStaticFromData 函数,由于 Wine 中该函数实现不完全,所以无法发送文件。所以我使用 native ole32.dll 替换,便可以发送文件。但是无法使用拖拽,不过可以使用复制粘贴发送文件。 我由于时间问题,最近不会去解决这个问题,因为完全可以使用gnome自带截图。 你可以尝试按以下步骤进行调试:

  1. 解压出deepin wine wechat的环境,配置wine输出所有日志,使用wine运行。进行截图操作查看日志输出。
  2. 解压我打包appimage wchat中的环境,重复步骤。弄清楚截图的调用过程,然后使用 wine-cfg 配置使用native dll。 使用native dll不一定能解决问题,毕竟wine不是万能的,不过值得尝试。
jactry commented 5 years ago

Hi,

OleCreateStaticFromData() 的问题在 Wine 3.16 之后的版本修复了,应该对微信有所帮助。

Hackerl commented 5 years ago

Hi,

OleCreateStaticFromData() 的问题在 Wine 3.16 之后的版本修复了,应该对微信有所帮助。

@Jactry 谢谢你们的工作,我已经打包了wine3.20,还在测试中