📄 00402.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的任务条 </span></b><br>
<span style="background-color: #000000">
<br>
</span> 实现隐藏和显示 Windows 的任务条,可以参照以下程序:<br>
procedure hideTaskbar; //隐藏<br>
var<br>
wndHandle : THandle;<br>
wndClass : array[0..50] of Char;<br>
begin<br>
StrPCopy(@wndClass[0], 'Shell_TrayWnd');<br>
wndHandle := FindWindow(@wndClass[0], nil);<br>
ShowWindow(wndHandle, SW_HIDE);<br>
End;<br>
<br>
procedure showTaskbar; //显示<br>
var<br>
wndHandle : THandle;<br>
wndClass : array[0..50] of Char;<br>
begin<br>
StrPCopy(@wndClass[0], 'Shell_TrayWnd');<br>
wndHandle := FindWindow(@wndClass[0], nil);<br>
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>
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>
RegisterServiceProcess(GetCurrentProcessID,0);<br>
end;<br>
<span style="background-color: #000000">
<br>
</span>
<b><span style="background-color: #000080"><a name="3"></a>3:隐藏桌面上的图标 </span></b><br>
<span style="background-color: #000000">
<br>
</span> 使桌面上的图标消失,连桌面上的右键功能也不能使用。快动手试一下把,别忘了,把图标隐藏了之后再显示。<br>
Procedure HideDeskTop ; //隐藏桌面图标<br>
var<br>
hDesktop : THandle;<br>
begin<br>
hDesktop := FindWindow('Progman', nil);<br>
ShowWindow(hDesktop, SW_HIDE);<br>
end;<br>
<br>
<br>
Procedure ShowDeskTop ; //显示桌面图标<br>
var<br>
hDesktop : THandle;<br>
begin<br>
hDesktop := FindWindow('Progman', nil);<br>
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;过程。 <br>
<br>
procedure TForm1.WMQueryEndSession(var Msg: TMessage); <br>
begin<br>
if CheckBox1.Checked then Msg.Result :=1 //可以关机<br>
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 + -