无标题窗口的阴影支持
#include "shadow_window.h"
void Test() {
HWND hwnd = FindWindow(L"TestWindow", L"");
if (IsSupportDwm()) {
EnableDwmShadow(hwnd, true);
} else {
ShadowWnd* win = BindShadowWindow(hwnd);
}
}
代码片段
/**
* Created by ijiabao<ijiabao@qq.com>
* Support: https://github.com/ijiabao
*/
struct ShadowWnd {
virtual void Setup(int size, int sharpness, int darkness, int offset) = 0;
virtual void Update() = 0;
};
ShadowWnd* BindShadowWindow(HWND hwnd_dest);
void UnbindShadowWindow(HWND hwnd_dest);
ShadowWnd* GetShadowWindow(HWND hwnd_dest);
int EnableDwmShadow(HWND hwnd, int enable, int force_hook = 1);
int EnableStyleShadow(HWND hwnd, int enable);
int IsSupportDwm();