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

📄 20000805021.htm

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

<HEAD>



<TITLE>Windows95/98下怎样隐藏应用程序不让它出现在CTRL-ALT-DEL对话框中?</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> 

        <p class="coffee" align="center"><font size="3"><b><br>

          Windows95/98下怎样隐藏应用程序不让它出现在CTRL-ALT-DEL对话框中?</b></font></p>

        <center>

          <p align="left">把你的应用程序从CTRL-ALT-DEL对话框中隐藏的一个简单办法是去应用程序的标题。如果一个程序的主窗口没以标题,Windows95不把它放到CTRL-ALT-DEL对话框中。清除标题属性的最好地方是在WinMain函数里。</p>

          <div align="left"> 

            <pre><span style="BACKGROUND-COLOR: silver"><font color=blue >WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>int</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue >)</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >{</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>try</b></font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    {</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >         Application-&gt;Title = "";</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >         Application-&gt;Initialize();</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >         Application-&gt;CreateForm(</font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>__classid</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue >(TForm1), &amp;Form1);</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >         Application-&gt;Run();</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    }</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>catch</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > (Exception &amp;exception)</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    {</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >         Application-&gt;ShowException(&amp;exception);</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    }</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>return</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > 0;</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >}</font></span></pre>

          </div>

          <p align="left">另一种方法是:调用RegisterServiceProcess API 函数将程序注册成为一个服务模式程序。 

            RegisterServiceProcess是一个在Kernel32.dll里相关但无正式文件的函数。在MS SDK头文件里没有该函数的原型说明,但在Borland 

            import libraries for C++ Builder里能找到。很显然,这个函数的主要目的是创建一个服务模式程序。之所以说<i>很显然</i>,是因为MSDN里实质上对这个函数没有说什么。</p>

          <p align="left">下面的例子代码演示了在Windows95/98下怎样通过使用RegisterServiceProcess来把你的程序从CTRL-ALT-DEL对话框中隐藏起来。</p>

          <div align="left"> 

            <pre><span style="BACKGROUND-COLOR: silver"><font color=blue >//------------Header file------------------------------</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue ><b>typedef</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > DWORD (</font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>__stdcall</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > *pRegFunction)(DWORD, DWORD);</font></span>

&nbsp;

<span style="BACKGROUND-COLOR: silver"><font color=blue ><b>class</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > TForm1 : public TForm</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >{</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue ><b>__published:</b></font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    TButton *Button1;</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue ><b>private</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue >:</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    HINSTANCE hKernelLib;</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    pRegFunction RegisterServiceProcess;</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue ><b>public</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue >:</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>__fastcall</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > TForm1(TComponent* Owner);</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>__fastcall</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > ~TForm1();</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >};</font></span>

&nbsp;

&nbsp;

<span style="BACKGROUND-COLOR: silver"><font color=blue >//-----------CPP file------------------------------</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >#include "Unit1.h"</font></span>

&nbsp;

<span style="BACKGROUND-COLOR: silver"><font color=blue >#define RSP_SIMPLE_SERVICE     1</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >#define RSP_UNREGISTER_SERVICE 0</font></span>

&nbsp;

<span style="BACKGROUND-COLOR: silver"><font color=blue ><b>__fastcall</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > TForm1::TForm1(TComponent* Owner)</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    : TForm(Owner)</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >{</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    hKernelLib = LoadLibrary("kernel32.dll");</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>if</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue >(hKernelLib)</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    {</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >        RegisterServiceProcess =</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >                  (pRegFunction)GetProcAddress(hKernelLib,</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >                                               "RegisterServiceProcess");</font></span>

&nbsp;

<span style="BACKGROUND-COLOR: silver"><font color=blue >        </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>if</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue >(RegisterServiceProcess)</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >            RegisterServiceProcess(GetCurrentProcessId(),</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >                                   RSP_SIMPLE_SERVICE);</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    }</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >}</font></span>

&nbsp;

<span style="BACKGROUND-COLOR: silver"><font color=blue ><b>__fastcall</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue > TForm1::~TForm1()</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >{</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>if</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue >(hKernelLib)</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    {</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >        </font></span><span style="BACKGROUND-COLOR: silver"><font color=blue ><b>if</b></font></span><span style="BACKGROUND-COLOR: silver"><font color=blue >(RegisterServiceProcess)</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >            RegisterServiceProcess(GetCurrentProcessId(),</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >                                   RSP_UNREGISTER_SERVICE);</font></span>

&nbsp;

<span style="BACKGROUND-COLOR: silver"><font color=blue >        FreeLibrary(hKernelLib);</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >    }</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >}</font></span>

<span style="BACKGROUND-COLOR: silver"><font color=blue >//-------------------------------------------------</font></span></pre>

          </div>

          <p align="left"><b>注:</b> windows NT下<font >没有</font><font 

><tt>RegisterServiceProcess函数。</tt></font></p>

        </center>

      </td>

    </tr>

  </table>

 

</div>

</BODY></HTML>

⌨️ 快捷键说明

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