加入收藏
设为首页
联系站长
网站公告列表     欢迎各位光临!一直以来我们都努力的做好在线教育网站,希望能给广大网上朋友提供好的学习参考资料,感谢每一位来访者对我们的支持和厚爱!!  [凌空  2007年7月19日]        
您现在的位置: 在线教育网 >> 文章中心 >> 论文格式 >> 计算机论文 >> 文章正文
  利用Delphi全面控制Windows任务栏         
利用Delphi全面控制Windows任务栏
作者:佚名 文章来源:不详 点击数: 更新时间:2007-4-14 10:31:29

  [摘要]在线教育网为您提供教育新闻 家庭教育 大学教育 成人教育 出国留学 英语天地 教案中心 经典题库 论文格式 教育规章 课件下载,教学软件下载等栏目的内容,通过这些栏目希望能给广大网上朋友提供好的学习参考资料,感谢每一位来访者对我们的支持和厚爱!下面进入文章正文>>> 

利用Delphi全面控制Windows任务栏

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

       1. 编程思想

       (1)任务栏窗体的窗口信息为:

       ①任务栏的窗口类名是:ShellTrayWnd。

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

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

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

       ⑤任务栏时钟的窗口类名是:TrayClockWClass。

       (2)调用FindWindow函数得到任务栏的窗口句柄。

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

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

       2. 编程方法

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

       (2)定义窗口句柄数组:Wnd:array[0..4] of THandle;

       (3)GetHandles过程代码如下:

procedure TForm1.GetHandles;

begin

//得到Tray Bar的窗口句柄;

Wnd[0]:=FindWindow(′ShellTrayWnd′,nil);

//得到开始按钮的窗口句柄;

Wnd[1]:=FindWindow(′ShellTrayWnd′,nil);

Wnd[1]:=FindWindowEx(Wnd[1],HWND(0),′Button′,nil);

//得到应用程序切换区的窗口句柄;

Wnd[2]:=FindWindow(′ShellTrayWnd′,nil);

Wnd[2]]:=FindWindowEx(Wnd[2],HWND(0),′ReBarWindow32′,nil);

//得到任务栏通知区的窗口句柄;

Wnd[3]:=FindWindow(′ShellTrayWnd′,nil);

Wnd[3]:=FindWindowEx(Wnd[3],HWND(0),′TrayNotifyWnd′,nil);

//得到任务栏时钟的窗口句柄;

Wnd[4]:=FindWindow(′ShellTrayWnd′,nil);

Wnd[4]:=FindWindowEx(Wnd[4],HWND(0),′TrayNotifyWnd′,nil);

Wnd[4]:=FindWindowEx(Wnd[4],HWND(0),′TrayCLockWClass′,nil);

end;

       (4)EnableOrDisable过程代码如下:

procedure TForm1.EnableOrDisable(Sender:TOBject);

begin

GetHandles;

if TCheckBox(Sender). Checked then

case TCheckBox(Sender). Tag of

0: EnableWindow(Wnd[0], False);

1: EnableWindow(Wnd[1], False);

2: EnableWindow(Wnd[2], False);

3: EnableWindow(Wnd[3], False);

4: EnableWindow(Wnd[4], False);

end

 

 

 

 

《利用Delphi全面控制Windows任务栏》一文由在线教育网收录整理。除署名文章外,本站文章均来源于网络,或网友提供。为此特别声明如下:(1)凡本站署名文章,其版权属本站及作者所有,未经同意不得转载,授权转载者须注明文章来源《在线教育网》及作者!(2)本站未署名文章来源于网络,或网友提供。均用于公益性传播,如有侵权请于两周内与本站联系,我们将及时将其删除!

   更多相关文章请返回在线教育网首页,进入《计算机论文》栏目>>>





 




 

利用Delphi全面控制Windows任务栏-本文章由在线教育网http://www.line-edu.com收集整理。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    Unit 5 Nelson Mandela—
    充分利用“研讨与练习”
    课题学习:利用不等关系分
    历史教学中如何利用图书
    利用板报促进新课程历史
    初中物理综合能力题专项
    如何利用英语课堂教学中
    如何有效利用小组合作进
    149powderkeg
    074depth
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    未经许可禁止对本站建立镜像或复制。本站部分内容来源于网友提供,如本站转载稿涉及版权 等问题,请作者速来电或来函与本站联系,我们会立即删除。 ©2007 版权所有 在线教育网
    凌空工作室 联系 QQ:497096778 邮箱:ms505xu@163.com
    备案号:蜀ICP备07006209号 站长:凌空 违法和不良信息举报中心