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

📄 00402.htm

📁 提供了Delphi编程的几个巧妙用法
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>1</title>
</head>

<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF">

<p align="left"><span style="BACKGROUND-COLOR: #ff0000"><a href="00402.zip">源程序下载</a></span><b><span style="background-color: #000080"><br>
</span><span style="background-color: #000000">
<br>
</span><span style="background-color: #000080">
<a name="1"></a>
1:隐藏和显示Windows的任务条&nbsp;</span></b><br>
<span style="background-color: #000000">
<br>
</span>  实现隐藏和显示 Windows 的任务条,可以参照以下程序:<br>    
procedure hideTaskbar;      //隐藏<br>    
var<br>    
&nbsp;&nbsp;&nbsp; wndHandle : THandle;<br>    
&nbsp;&nbsp;&nbsp; wndClass : array[0..50] of Char;<br>    
begin<br>    
&nbsp;&nbsp;&nbsp; StrPCopy(@wndClass[0], 'Shell_TrayWnd');<br>    
&nbsp;&nbsp;&nbsp; wndHandle := FindWindow(@wndClass[0], nil);<br>    
&nbsp;&nbsp;&nbsp; ShowWindow(wndHandle, SW_HIDE);<br>    
End;<br>    
<br>    
procedure showTaskbar;    //显示<br>    
var<br>    
&nbsp;&nbsp;&nbsp; wndHandle : THandle;<br>    
&nbsp;&nbsp;&nbsp; wndClass : array[0..50] of Char;<br>    
begin<br>    
&nbsp;&nbsp;&nbsp; StrPCopy(@wndClass[0], 'Shell_TrayWnd');<br>    
&nbsp;&nbsp;&nbsp; wndHandle := FindWindow(@wndClass[0], nil);<br>    
&nbsp;&nbsp;&nbsp; ShowWindow(wndHandle, SW_RESTORE);<br>   
end;<b><span style="background-color: #000080"><br>   
</span><span style="background-color: #000000">   
<br>   
</span><span style="background-color: #000080">   
<a name="2"></a>  
2:从任务列表隐藏应用程序(Ctrl+Alt+Del)</span></b><br>  
<span style="background-color: #000000"> 
<br> 
</span>  自己的程序要在任务列表中隐藏,借用kernel32.DLL中的RegisterServiceProcess这个函数了。这个函数要从DLL加载函数,function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; external 'KERNEL32.DLL' ; 调用GetCurrentProcessID 得到当前程序的ID ;<br>    
<br>    
implementation<br>    
  function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; external 'KERNEL32.DLL' ;<br>    
{$R *.DFM}<br>    
<br>    
//从任务列表隐藏应用程序(Ctrl+Alt+Del)<br>    
procedure TForm1.Button5Click(Sender: TObject);<br>    
begin<br>    
//GetCurrentProcessID -->The return value is the process identifier of the calling    
process.<br>   
&nbsp;&nbsp;&nbsp; RegisterServiceProcess(GetCurrentProcessID,1);<br>   
end;<br>   
<br>   
//从任务列表显示应用程序(Ctrl+Alt+Del)<br>   
procedure TForm1.Button6Click(Sender: TObject);<br>    
begin<br>    
  //GetCurrentProcessID -->The return value is the process identifier of the calling process.<br>    
&nbsp;&nbsp;&nbsp; RegisterServiceProcess(GetCurrentProcessID,0);<br>   
end;<br>   
<span style="background-color: #000000">  
<br>  
</span>  
<b><span style="background-color: #000080"><a name="3"></a>3:隐藏桌面上的图标&nbsp;</span></b><br> 
<span style="background-color: #000000"> 
<br> 
</span>  使桌面上的图标消失,连桌面上的右键功能也不能使用。快动手试一下把,别忘了,把图标隐藏了之后再显示。<br>
Procedure HideDeskTop ; //隐藏桌面图标<br>    
var<br>    
&nbsp;&nbsp;&nbsp; hDesktop : THandle;<br>    
begin<br>    
&nbsp;&nbsp;&nbsp; hDesktop := FindWindow('Progman', nil);<br>    
&nbsp;&nbsp;&nbsp; ShowWindow(hDesktop, SW_HIDE);<br>    
end;<br>    
<br>    
<br>    
Procedure ShowDeskTop ; //显示桌面图标<br>    
var<br>    
&nbsp;&nbsp;&nbsp; hDesktop : THandle;<br>    
begin<br>    
&nbsp;&nbsp;&nbsp; hDesktop := FindWindow('Progman', nil);<br>    
&nbsp;&nbsp;&nbsp; ShowWindow(hDesktop, SW_SHOW);<br>    
End ;<br>    
<span style="background-color: #000000">   
<br>   
</span>   
<b><span style="background-color: #000080"><a name="4"></a>4:用Delphi实现禁止用户关闭Window9X。 </span></b><br> 
<span style="background-color: #000000"> 
<br> 
</span>  用户关闭WIN9X时, 系统会发送给各应用程序 一个消息wm_queryendsession, 告诉各应用程序要关机了,如果反馈回来的消息值为0,那么WIN9X就不能关机。因此,截获wm_queryendsession,并反馈回0,大功就告成了,下面是一个例子,在Private声明里面说明一个procedure WMQueryEndSession(var Msg: TMessage);message WM_QueryEndSession;过程。&nbsp;<br>   
<br>   
procedure TForm1.WMQueryEndSession(var Msg: TMessage);&nbsp;<br>   
begin<br>   
&nbsp;&nbsp;&nbsp; if CheckBox1.Checked then Msg.Result :=1  //可以关机<br>    
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
else Msg.Result :=0; //禁止关机<br>    
end;<br>    
<span style="background-color: #000000">   
<br>     
</span>     
<span style="background-color: #FF0000"><a href="00402.zip">源程序下载</a></span>     
</p>   
   
</body>     
     
</html>     

⌨️ 快捷键说明

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