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

后台保持它运行就可以正常使用微信了。