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

📄 利用delphi或vb全面控制windows任务栏.txt

📁 自己对DELPHI学习的一点体会
💻 TXT
字号:
利用Delphi或VB全面控制Windows任务栏 (2001年4月5日) 

网友更新  分类:系统   作者:张建军   推荐:erudition   阅读次数:253  
(http://www.codesky.net)  

--------------------------------------------------------------------------------
使用Windows95/NT/98操作系统的用户知道:Windows正常启动后,在电脑屏幕下方出现一块任务栏(Tray Bar)。从系统功能角度而言,整个任务栏包括几个不同的子区域,从左至右依次是:开始(Start)按钮、应用程序切换区(Application Switch Bar)、任务栏通知区(Notification Area)以及任务栏时钟。与其它Windows应用程序相同,任务栏程序(systray.exe)由几个不同的窗体组成,这些窗体具有各自的窗口类名、显示方式等信息。因此,只要得到有关窗口信息,即可通过编程全面控制Windows任务栏的不同区域。 

---- 一、 编程思想 

---- 1、 任务栏各窗体的窗口信息为: 

Tray Bar的窗口类名是:Shell_TrayWnd 

开始按钮的窗口类名是:Button 

应用程序切换区的窗口类名是:ReBarWindow32 

任务栏通知区的窗口类名是:TrayNotifyWnd 

任务栏时钟的窗口类名是:TrayClockWClass
---- 2、 调用FindWindow函数得到任务栏的窗口句柄。 

---- 3、 调用FindWindowEx函数得到任务栏各子区域的窗口句柄。 

---- 4、根据窗口句柄,调用ShowWindow函数控制任务栏各区域显示或隐藏(show/hide);调用EnableWindow函数控制任务栏各区域有效或无效(enabled/disabled)。 

---- 二、 编程方法 

---- ㈠利用Delphi编程 

---- 1、 在Delphi3.0 IDE 中新建工程Project1,Project1中包含Form1,窗体如下图所示: 

---- 2、 定义窗口句柄数组: 

var Wnd : array [0..4] of THandle;

---- 3、GetHandles过程代码如下: 


... ...

---- 4、 EnableOrDisable过程代码如下: 

... ...

---- 5、HideOrShow过程代码如下: 

... ...

---- 6、 FormClose事件代码如下://将Windows任务栏恢复到正常状态; 

... ...

---- 7、按F9运行程序。以上程序在Delphi3.0/4.0、Windows95/98简体中文版环境下调试通过。 

---- ㈡利用VB编程 

---- 1、在VB5.0 IDE中新建工程1,工程1中包含Form1,窗体如上图所示。 

---- 2、在VB菜单栏上选择:“工程”——“添加模块”——“模块”——“打开”,在工程1中添加模块Moudle1。 

---- 3、在Moudle1中声明Windows API函数: 


... ...

---- 4、“通用”——“声明”代码如下: 

Dim Handle(5) As Long

---- 5、 GetHandles过程代码如下: 


... ...

---- 6、Check1_Click事件代码如下: 


... ...

---- 7、Check2_Click事件代码如下: 


... ...

---- 8、Form_Unload事件代码如下: 

... ...

---- 9、按F5运行程序。以上程序在VB5.0/6.0、Windows95/98简体中文版环境下调试通过。 

---- 说明:本文所述方法同样适用于C++Builder等编程工具,但应注意语法、变量类型等不同要求。 
 
 

⌨️ 快捷键说明

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