<Return[D]><Top>

DefScreenSaverProc

Declare Function Api_DefScreenSaverProc& Lib "scrnsave" Alias "DefScreenSaverProc" (ByVal hWnd&, ByVal Msg&, ByVal wParam&, ByVal lParam&)

Declare Function DefScreenSaverProc Lib "scrnsave" Alias "DefScreenSaverProc" (ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

スクリーンセーバーが処理しないメッセージに対して、既定の処理を提供する。

パラメータ
hWnd
    スクリーンセーバーウィンドウのハンドルを指定する。
msg
    処理したいメッセージを指定する。「解説」で説明するとおり、DefScreenSaverProc 関数はスクリーンセーバーの動作に影響するメッセー

    ジに応答する。
    スクリーンセーバーアプリケーションでこれらのメッセージに対する動作と異なる動作を行わなければならない場合、スクリーンセーバーアプリケ

    ーションの ScreenSaverProc ウィンドウプロシージャが、そのメッセージを処理しなければならない。
wParam
    メッセージの追加情報を指定する。
lParam
    メッセージの追加情報を指定する。

戻り値
    メッセージの処理結果が返る。意味は、送信されたメッセージによって異なる。

解説
    スクリーンセーバーアプリケーションの ScreenSaverProc ウィンドウプロシージャでは、既定のメッセージ処理は DefWindowProc 関数ではな

    くDefScreenSaverProc 関数に任せる。そして、スクリーンセーバーアプリケーションで処理しなかったメッセージはすべて、DefWindowProc

    関数に渡して処理される。
    次の表に、DefScreenSaverProc 関数がウィンドウメッセージを処理する方法を示す。

    メッセージ                         

動作                                                                                                                                

    WM_ACTIVATE

    WM_ACTIVATEAPP

    WM_NCACTIVATE

wParam パラメータが FALSE の場合、スクリーンセーバーを閉じる。wParam の FALSE 値は、スクリーンセーバーが入力フォーカスを失うことを意味する。WM_CLOSE メッセージを送信すると、スクリーンセーバーが閉じる。

 

    WM_SETCURSO

カーソルを NULL に設定すると、スクリーンからカーソルを削除する。

    WM_LBUTTONDOWN

    WM_RBUTTONDOWN

    WM_MBUTTONDOWN

    WM_KEYDOWN

    WM_KEYUP

    WM_MOUSEMOVE

PostQuitMessage 関数を呼び出して、スクリーンセーバーを閉じる。

 

 

 

 

 

    WM_DESTRO

WM_CLOSE メッセージをポストし、スクリーンセーバーウィンドウを閉じる。

    WM_SYSCOMMAND

 

WM_SYSCOMMAND の wParam パラメータが SC_CLOSE と SC_SCREENSAVE のどちらかである場合、FALSE を返す。