ScreenSaverProc関数内のWM_CREATEメッセージを処理する部分で,ウインドウの透明化処理を行う.
透明化部分の処理サンプル:
LONG exStyle = GetWindowLong(hWnd,GWL_EXSTYLE);
SetWindowLong(hWnd, GWL_EXSTYLE, exStyle | WS_EX_LAYERED);
SetLayeredWindowAttributes(hWnd, RGB(0,0,0), 0, LWA_COLORKEY);
ウインドウ属性にWS_EX_LAYEREDを設定することで透明化が可能.
GetWindowLong関数で現在のウインドウ情報(属性)を取得
SetWindowLong関数で現在の属性にWS_EX_LAYEREDを追加,
SetLayeredWindowAttributes関数で透明情報の設定を行う.
スクリーンセイバーサンプルコード
サンプルコードは一定時間ごとに,文字列「テストスクリーンセイバー」をランダムカラーでランダム位置に描画するサンプル.