フリーソフト

« [LaTeX] eqnarrayの途中で改ページされないようにする | トップページ | [BCB] 独自のマウスカーソルを使う »

[BCB] スクリーンセーバが起動しないようにする

WM_SYSCOMMAND の wParamがSC_SCREENSAVE のとき1を返せばスクリーンセーバの起動を抑制できるようです。

ヘッダ

private:
  void __fastcall WMSysCommand(TMessage &Msg);

  BEGIN_MESSAGE_MAP
    //捕まえたいメッセージと、それを処理する関数を登録
    VCL_MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, WMSysCommand)
  END_MESSAGE_MAP(TComponent)

ソース

//---------------------------------------------------------------------------
//スクリーンセーバの起動を抑制
void __fastcall TForm1::WMSysCommand(TMessage &Msg)
{
  if (Msg.WParam==SC_SCREENSAVE) {
    Msg.Result=1;
  } else {
    Msg.Result=DefWindowProc(Handle,Msg.Msg,Msg.WParam,Msg.LParam);
  }
}

« [LaTeX] eqnarrayの途中で改ページされないようにする | トップページ | [BCB] 独自のマウスカーソルを使う »

C++Builder」カテゴリの記事

システム関連」カテゴリの記事