⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 20000922007.htm

📁 C++Builder教学大全
💻 HTM
字号:
<HTML>

<HEAD>

 

<TITLE>如何在C++ BUILDER中自动关闭WINDOWS屏幕保护</TITLE>



<META content="MSHTML 5.00.2314.1000" name=GENERATOR>

</HEAD>

<BODY aLink=#FF0000 bgColor=#ffffff leftMargin=0 link=#187800 topMargin=0 

vLink=#990099>



<div align="center">

  <table width="744" border="0" cellspacing="0" cellpadding="0" height="76">

    <tr> 

      <td>

        <center>

          <h2><font size="3"><br>

            如何在C++ BUILDER中自动关闭WINDOWS屏幕保护</font><font color="#0000c0"> </font></h2>

          <h3><font size="2"><br>

            长沙铁道学院信息学院 <br>

            甘元驹</font> </h3>

        </center>

        <p align="left"><font color=#ffffff>----</font> 在实际编程应用中,当程序需要用较长的时间来处理某些计算时,这段时间有可能使WINDOWS启动屏幕保护,这样程序的处理会相对变得更长。那么如何在运行程序时自动关闭屏幕保护呢? 

        <p align="left"><font color=#ffffff>----</font> WINDOWS在启动屏幕保护前会向已激活的程序发送一个WM_SYSCOMMAND消息,并将该消息的WPARAM参数设置为SC_SCREENSAVE。我们可利用C++ 

          BUILDER中的TApplication类的OnMessage事件来处理WINDOWS发来的这条消息,如果在接收到的消息后将handled参数设为true,这个响应的消息值就可以阻止屏幕保护运行。 

        <p align="left"><font color=#ffffff>----</font> 在C++ BUILDER 4.0的过程如下: 

        <p align="left"><font color=#ffffff>----</font> 1、从主菜单中选择File | New APPlication 

          来创建一个新的空工程文件。然后在Forn 上加上一个Label对象,设置其Caption为"此程序将关闭WINDOWS屏幕保护"。 

        <p align="left"><font color=#ffffff>----</font> 2、在程序头文件unit1.h中对成员函数ProcessMessage的声明加到TForm1的定义中。 

        <div align="left"> 

          <pre>   class TForm1 : public TForm

{

 __published:	// IDE-managed Components

        TLabel *Label1;

 private:	// User declarations

       void __fastcall ProcessMessage

	   (TMsg &amp;message,bool &amp;handled);

 public:		// User declarations

        __fastcall TForm1(TComponent* Owner);

 };

 <font color=#ffffff>--</font> 3、在unit1.cpp中,在程序中增加ProcessMessage函数语句: 

          </pre>

          <pre>void __fastcall TForm1::ProcessMessage

(TMsg &amp;message,bool &amp;handled)

{

  if(message.message==WM_SYSCOMMAND

  &amp;&amp;message.wParam==SC_SCREENSAVE)

    {

     handled=true;

     }

}

</pre>

          <font color=#ffffff>----</font> 4、在TForm1的构造函数增加以下代码: 

          <pre>__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)

{

  Application-&gt;OnMessage=ProcessMessage;

}

</pre>

          <font color=#ffffff>----</font> 上述程序C++ BUILDER 4.0专业版调试通过。 </div>

      </td>

    </tr>

  </table>

 

</div>

</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -