注意:
在調用SetLayeredWindowAttributes 之前,需要給窗口加上WS_EX_LAYERED屬性,否則會無效
void SetLayerTransparent(HWND hWnd) { static bool isTransParent = false; if (isTransParent == false) { DWORD exStyle = ::GetWindowLong(hWnd, GWL_EXSTYLE); exStyle |= WS_EX_LAYERED; ::SetWindowLong(hWnd, GWL_EXSTYLE, exStyle); ::SetLayeredWindowAttributes(hWnd, RGB(0, 0, 0), 128, LWA_ALPHA); isTransParent = true; } else { ::SetLayeredWindowAttributes(hWnd, RGB(0, 0, 0), 255, LWA_ALPHA); isTransParent = false; } }