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

📄 00402.txt

📁 Delphi编程五大妙招源程序
💻 TXT
字号:
1:隐藏和显示Windows的任务条 
实现隐藏和显示 Windows 的任务条,可以参照以下程序:
procedure hideTaskbar;      //隐藏
var
 wndHandle : THandle;
 wndClass : array[0..50] of Char;
begin
  StrPCopy(@wndClass[0], 'Shell_TrayWnd');
  wndHandle := FindWindow(@wndClass[0], nil);
  ShowWindow(wndHandle, SW_HIDE);
End;

procedure showTaskbar;    //显示
var
  wndHandle : THandle;
  wndClass : array[0..50] of Char;
begin
  StrPCopy(@wndClass[0], 'Shell_TrayWnd');
  wndHandle := FindWindow(@wndClass[0], nil);
  ShowWindow(wndHandle, SW_RESTORE);
end;

2:从任务列表隐藏应用程序(Ctrl+Alt+Del)
  自己的程序要在任务列表中隐藏,借用kernel32.DLL中的RegisterServiceProcess这个函数了。这个函数要从DLL加载函数,function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; external 'KERNEL32.DLL' ; 调用GetCurrentProcessID 得到当前程序的ID ;

implementation
  function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; external 'KERNEL32.DLL' ;
{$R *.DFM}

//从任务列表隐藏应用程序(Ctrl+Alt+Del)
procedure TForm1.Button5Click(Sender: TObject);
begin
  //GetCurrentProcessID -->The return value is the process identifier of the calling process.
  RegisterServiceProcess(GetCurrentProcessID,1);
end;

//从任务列表显示应用程序(Ctrl+Alt+Del)
procedure TForm1.Button6Click(Sender: TObject);
begin
  //GetCurrentProcessID -->The return value is the process identifier of the calling process.
  RegisterServiceProcess(GetCurrentProcessID,0);
end;



3:隐藏桌面上的图标  
   使桌面上的图标消失,连桌面上的右键功能也不能使用。快动手试一下把,别忘了,把图标隐藏了之后再显示。
Procedure HideDeskTop ; //隐藏桌面图标
var
  hDesktop : THandle;
begin
  hDesktop := FindWindow('Progman', nil);
  ShowWindow(hDesktop, SW_HIDE);
end;


Procedure ShowDeskTop ; //显示桌面图标
var
  hDesktop : THandle;
begin
  hDesktop := FindWindow('Progman', nil);
  ShowWindow(hDesktop, SW_SHOW);
End ;

4:禁止用户关机,
  用户关闭WIN9X时, 系统会发送给各应用程序 一个消息wm_queryendsession, 告诉各应用程序要关机了,如果反馈回来的消息值为0,那么WIN9X就不能关机。因此,截获wm_queryendsession,并反馈回0,大功就告成了,下面是一个例子,在Private声明里面说明一个procedure WMQueryEndSession(var Msg: TMessage);message WM_QueryEndSession;过程。 


procedure TForm1.WMQueryEndSession(var Msg: TMessage); 
begin
  if CheckBox1.Checked then Msg.Result :=1  //可以关机
                       else Msg.Result :=0; //禁止关机
end;
 

⌨️ 快捷键说明

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