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

2016-02-19 12:39 2 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的Win9x下隐藏程序不出现在CTRL-ALT-DEL对话框中教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】


  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函数。

来源:https://www.tulaoshi.com/n/20160219/1601416.html

延伸阅读
标签: 办公软件
    Excel 2000 新增的在对话框中输入区域引用可以折叠的按钮,这样用户在工作表上选定所需的区域时,对话框就不会阻挡视线。对这类对话框的操作是,在折叠按钮上单击可以将其折叠,再次单击则返回到对话框,图2-9和图2-10分别显示了折叠前后的效果。
标签: windows系统
Win8下如何显示删除确认对话框   1. 右键回收站图标,选择属性; 勾选显示删除确认对话框即可。         注 :更多精彩教程请关注图老师电脑教程栏目,图老师电脑办公群:189034526欢迎你的加入 Win8如何管理自动登录的凭据具体该怎么操作   我用的是Win8系统,现在我想管理...
问:程序是基于对话框的,我显示两个对话框,一个在另一个后面,下面是我的做法: CMyApp::InitInstance () { ... CMyDialog1 dlg1; m_hMainWnd = &dlg1; int result = dlg1.DoModal (); CMyDialog2 dlg2; result = dlg2.DoModal (); ... } 在上面的代码中,首先一个对话框得到了适当地调用...
第一步:在电脑桌面打开开始,双击运行。 第二步:在运行命令行里输入gpedit.msc,点击确定。 第三步:打开组策略之后,在里面依次打开用户配置/管理模版/系统。然后在右侧双击Ctrl+Alt+Del选项。 第四步:打开Ctrl+Alt+Del选项设置之后...
1、意图 有时候我们希望将非模态窗口显示为模态窗口。比如在IE的“文件”菜单下选择“打印”,弹出的“打印”对话框就是非模态的(也许我们不太清楚Microsoft的设计意图,一般来说这里的“打印”对话框应该是模态的)。这种情况下如何将“打印”对话框显示为模态的呢(这个对话框对我们来说是Black Box)? 2、简单实现 简单...

经验教程

284

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部