用山寨方法解决wine运行微信残留阴影窗口的问题
wine 运行微信时候,微信会留下一些阴影窗口在其他窗口上面,很影响操作。于是用最山寨的方式解决之。
用 WinSpy 可知,阴影窗口的类名微信统一叫做 “popupshadow”, 这样正好可以最大限度防止误杀,于是写个最简单的程序,每3秒查找所有这个类名的窗口,然后用 ShowWindow 隐藏即可。代码如下
#include “windows.h”
LPCTSTR windowClassName = L”popupshadow”;
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
for (;;)
{
for (HWND h = FindWindowEx(NULL, NULL, windowClassName, NULL);
h = FindWindowEx(NULL, h, windowClassName, NULL);
h != NULL)
{
ShowWindow(h, SW_HIDE);
}
Sleep(3000);
}
return 0;
}
然后用 mingw 交叉编译即可
i686-w64-mingw32-g++ -municode -m32 -o wechatkill wechatkill.cpp
后台保持它运行就可以正常使用微信了。
Orz…
Orz…
我倒是在winehq里面薅了一个补丁,直接改了wine源码里面的user32.dll实现,把微信的阴影窗口给直接NULL掉了……
我开始本来也想这么整的,结果发现wine这东西编译起来相当伤筋动骨。。 要求的依赖关系太多了,所以就放弃了
能不能问一哈,微信打开截图功能后,直接就是一个没有图像的灰黑色屏幕,但是截图的鼠标和方框都有,这个怎么解决啊。
微信小程序也有类似窗口阴影的问题,小程序成功加载,但是加载的白色页面一直覆盖在小程序上面,需要用xdotool删掉才能使用。。。
orz…