如果想要讓自己的應用程式在執行時不要出現螢幕保護程式,可以攔截視
窗訊息 WM_SYSCOMMAND,若其內容為 SC_SCREENSAVE 就自行將訊息消化
掉。你可以利用 TApplication 的 OnMessage 事件,做法如下:
1.建立一個新專案
2.在 Form1 中加入方法:
private:
void __fastcall AppMsgHandler(TMsg &Msg, bool &Handled);
// 實作部分
void __fastcall TForm1::AppMsgHandler(TMsg &Msg, bool &Handled)
{
if (Msg.message == WM_SYSCOMMAND) &&
Msg.wParam == SC)SCREENSAVE)
Handled = True;
}
3.在 Form1 的 OnCreate 事件中加入:
Application.OnMessage = AppMsgHandler;
註:TMsg 是 tagMSG 的結構,定義於 include\Win32\winuser.h
               (
geocities.com/huanlin_tsai)