首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > Win9x下隐藏程序不出现在CTRL-ALT-DEL对话框中
【标  题】:Win9x下隐藏程序不出现在CTRL-ALT-DEL对话框中
【关键字】:C,程序,in,隐藏,Win,AL,CTRL,Win9x,9x,Wi,CT,Win9x,CTRL,ALT,DEL
【来  源】:网络

Win9x下隐藏程序不出现在CTRL-ALT-DEL对话框中

Windows95/98下怎样隐藏应用程序不让它出现在CTRL-ALT-DEL对话框中?
把你的应用程序从CTRL-ALT-DEL对话框中隐藏的一个简单办法是去应用程序的标题。如果一个程序的主窗口没以标题,Windows95不把它放到CTRL-ALT-DEL对话框中。清除标题属性的最好地方是在WinMain函数里。
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    try
    {
         Application->Title = "";
         Application->Initialize();
         Application->CreateForm(__classid(TForm1), &Form1);
         Application->Run();
    }
    catch (Exception &exception)
    {
         Application->ShowException(&exception);
    }
    return 0;
}
另一种方法是:调用RegisterServiceProcess API 函数将程序注册成为一个服务模式程序。 RegisterServiceProcess是一个在Kernel32.dll里相关但无正式文件的函数。在MS SDK头文件里没有该函数的原型说明,但在Borland import libraries for C++ Builder里能找到。很显然,这个函数的主要目的是创建一个服务模式程序。之所以说很显然,是因为MSDN里实质上对这个函数没有说什么。
下面的例子代码演示了在Windows95/98下怎样通过使用RegisterServiceProcess来把你的程序从CTRL-ALT-DEL对话框中隐藏起来。
//------------Header file------------------------------
typedef DWORD (__stdcall *pRegFunction)(DWORD, DWORD);

class TForm1 : public TForm
{
__published:
    TButton *Button1;
private:
    HINSTANCE hKernelLib;
    pRegFunction RegisterServiceProcess;
public:
    __fastcall TForm1(TComponent* Owner);
    __fastcall ~TForm1();
};


//-----------CPP file------------------------------
#include "Unit1.h"

#define RSP_SIMPLE_SERVICE     1
#define RSP_UNREGISTER_SERVICE 0

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
  hKernelLib = LoadLibrary("kernel32.dll");
  if(hKernelLib)
    {
    RegisterServiceProcess =(pRegFunction)GetProcAddress(hKernelLib,"RegisterServiceProcess");
    if(RegisterServiceProcess)
      RegisterServiceProcess(GetCurrentProcessId(),RSP_SIMPLE_SERVICE);
    }
}

__fastcall TForm1::~TForm1()
{
if(hKernelLib)
  {
  if(RegisterServiceProcess)
    RegisterServiceProcess(GetCurrentProcessId(),RSP_UNREGISTER_SERVICE);
  FreeLibrary(hKernelLib);
  }
}
//-------------------------------------------------
注: windows NT下没有RegisterServiceProcess函数。

任务条状态区的应用:【上一篇】
win9x下自动启动程序的10种方法:【下一篇】
【相关文章】
  • 启动新的应用程序
  • window中进程间如何通信
  • 用C++ Builder 5.0编HOOK程序
  • CSDN里关于游戏外挂的一个帖子
  • 如何获得CPU使用率
  • 不知道程序的窗口句柄时结束该程序的进程
  • 怎样隐藏应用程序的任务栏图标
  • 用BCB开发控制面板程序
  • 用BCB实现禁止用户关闭Window系统
  • 用C++Builder检测Windows的启动模式
  • 【随机文章】
  • db2 install/restore/client connect
  • 安装Solaris操作系统
  • 追根究底,MFC六大关键技术之剖析(第二部分)
  • Linux 文件和目录的属性
  • Ip Messenger
  • Visual Studio 2005 Team System 中的软件测试工具 (转贴)
  • 多系统下装LINUX
  • (原创)方便的使用单击和双击更新DataGrid中的数据的例子
  • 解决中文乱码问题
  • Visual Studio 2005 安装经验谈
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.