任意窗口置顶器的设计与实现.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
… PR0BR^啊LANGUAGE— … … …… 一… … ……一 …一 一………… …一…… 一 … …一…一一… 任意窗口置顶器的设计与实现 李 斌 摘 要 :通过使用 Win32API函数 EnumWindows和 SetWindowPos,达到枚举系统所有窗口,并 使某个窗 口置顶 ,以此设计一个任 意窗 口置顶器。 关键词 :EnumWindows函数 ;SetWindowPos函数 ;窗口置顶 际意义,最后 的参数可通过传人 SWPNOMOVE和swpNOSI 1 背景知识 ZE来表 明此次操作并不改变窗 口的大小及位置而只是设置 Windows操作系统带有一个 “任务管理器”程序 ,利用此 窗 口置顶与否,因此,当需要置顶窗口时,可以使用下面的 程序可 以查看系统中所有正在运行的进程等信息.读者可能注 代码 : 意到 .此程序默认总是 “置顶 ”.这样可方便用户查看信息。 SetWindowPos(窗口旬柄,HW ND_TOPMOST,.1,1,1,1 SW P 所谓 “置顶 ”是指该程序 的主窗 口位于所有其他窗 口层次之 — NOMOVEISWP—NOSIZE); 上 ,这样就做到了凡是该程序窗 口覆盖 的位置 ,其他窗 口都 如果需要取消置顶 ,那么只须调用下面的代码: 无法 “遮挡 ”住其显示 。窗 口置顶具有很大的意义,例如观 SetWindowPos(窗口句柄,HWND—NOTOPMOST..1,1,1, 看视频时就不希望正在后台运行的其他程序遮住播放 的视频 1,SWP_NOMOVEfSWP.NOSIZE); 画面 .某些程序会提供选项让用户决定是否要将窗 21I置顶 , 3 获取任意窗口的窗口旬柄 但并非每个应用程序都 内置此功能,例如广泛应用 的记事本 从上文中可以看到,实现窗体置顶与否的API函数及各项 (Notepad)和计算器 (calc)就没有此功能 ,假设读者正在根 参数基本都 已经获取,如果程序要实现 的是对 自己窗 口的置 据一个 TXT文件 中的数据进行计算 .此时用户可能会从 TXT 顶 ,那么就非常容易,因为取得 自己窗体 的句柄是很容易实现 文件 中复制一些数据贴到计算器 中.但一旦 鼠标点击到记事 的,但 问题是现在 的需求是实现对系统 中存在 的任意窗体置 本程序 中,计算器程序就被覆盖 ,要重新激活其窗31就需要 顶 ,因此上文调用 SetWiindowPos函数要传人 的第一个参数应 到任务栏点击 .如果计算器程序窗口始终置顶 ,那么这项工作 该是系统中任意窗体的句柄,所以问题的关键在于如何获取任 就可能变得容易许多。将介绍一个任意窗 口置顶程序的设计与 意 窗 体 的句 柄 ,这 就 要 使 用 另 一 个 Win32API函数 实现。 EnumWqndows,下面详细分析 。 2 窗口置顶 首先来看 EnumWindows在 MSDN中的原形签名: 事 实上 .窗 13:置顶

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档