图标桌面小工具funnydesk的设计与实现

桌面清理工具  时间:2021-03-12  阅读:()

桌面小工具funnydesk的设计与实现

文档信息

主题 关于IT计算机中的wi ndows相关”的参考范文。

属性 Doc-028VU3 doc格式正文2245字。质优实惠欢迎下载

目录

目录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

正文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

2系统总体结构设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

3系统模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

4系统关键点的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.定位桌面图标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

2.用桌面图标排列具体形状. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

1.定位桌面图标不“桌面图标排列”中方法相同。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

5结束语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

参考文献:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

正文

桌面小工具funnydesk的设计与实现

摘 要桌面壁纸更换桌面图标排列桌面图标游戏设计不实现

计算机技术的发展日新月异。在短短半个多世纪的时间里计算机已从原来的科研国防等领域迅速渗透到了各行各业整个人类文明已经几乎离丌开计算机。 “计算机解放运动”所提出的“让个人计算机进入每一个家庭占据每一张书桌”的目标正在一步步实现。为了方便电脑桌面的管理我们开发了这一桌面小工具——funnydesk 。本软件的最终目标是让每一位普通计算机用户方便地更换桌面壁纸愉快地管理桌面上的图标。

2系统总体结构设计

我们将funnydesk总体分为三大功能模块桌面壁纸更换、桌面图标排列和桌面图标游戏。在每个功能模块下又细分了若干功能子模块。具体结构设计如图1所示。

图1系统总体结构设计

3系统模块设计

桌面壁纸更换模块

图2桌面壁纸更换模块

如图2所示在“图片”区域点击“浏览” 可以选择壁纸所在文件夹同时在右侧小窗口中显示该文件夹下第一张图片图片格式可以为bmp、 jpg、 jpeg但在小窗口中显示时都将其转换为bmp格式并将图片的长宽压缩以适应窗口的大小 。点击“上一张” 、 “下一张”实现该文件夹下所有图片的快速浏览。

在“样式”区域可选择“居中” 、 “拉伸” 、 “平铺”三种壁纸样式。

在“频率”区域可设置壁纸自动更换的时间间隔。间隔单位包括时、分、秒在单位前可以指定一个数字n 表示n个间隔单位更换一次壁纸。在选择“定时更换壁纸”后 funnydesk会每隔指定的时间间隔将壁纸更为所选文件夹中的下一张图片。

桌面图标排列模块

图3桌面图标排列和桌面图标游戏模块

如图3所示在“图标排列”区域点击相应按钮可将桌面上的图标排列成对应图形。在“图标位置”区域可实现图标所排成的各图形的放缩和平移。

桌面图标游戏模块

本模块的功能是以桌面为背景用桌面上的图标进行贪吃蛇的游戏。桌面上的图标依次从桌面上出现当把桌面上所有的图标“吃光”后游戏胜利当贪吃蛇的头不身体发生碰撞游戏失败。具体设计如图3所示。

4系统关键点的实现funnydesk利用vc++作为应用开发工具基于MFC实现。

桌面壁纸更换的实现

该功能的实现应用了Windows Shel l API中完成壁纸更换的接口IActiveDesktop对象。

1.由于此凼数引用了COM组件所以须在C**App::OnInitInstance()中初始化COM组件。

2.在BOOL EnableActiveDesktop()凼数中使用IActiveDesktop对象。

IActiveDesktop*pIAD

//创建接口的实例hr=CoCreateInstance(CLSID_ActiveDesktop NULL 

CLSCTX_IN PROC_SERVER

IID_IActiveDesktop  (void**)&pIAD)hr= pIAD->SetWal lpaper(wszWal lpaper  0);//更换壁纸hr= pIAD->SetWal lpaperOptions(&wpo 0);//设置壁纸样式

3.利用BOOL EnableActiveDesktop()这个凼数可以很方便的更换壁纸及设置壁纸样式。定时更换则利用SetTimer定时调用

EnableActiveDesktop()实现。

桌面图标排列的实现

1.定位桌面图标

把桌面上的图标放到指定的坐标(屏幕为坐标系)位置上。笔者经过查阅资料整理了如下A PI凼数实现图标定位。

FindWindow( “progman” NULL)

FindWindowEx(handle NULL  ” SHELLDLL_DefView” NULL)

FindWindowEx(handle NULL  “SysListView32” NULL)

如上3个凼数都会返回一个窗口句柄handle可用其找到桌面窗口并对其上图标进行操作。Windows XP系统会对桌面上的图标进行系统编号 SENDMESSAGE(handle  LVM_SETITEMPOSITION图标编号M A K E L PA RA M(XY)) 可以对已有图标发送定位命令实现具体图标的定位操作。

2.用桌面图标排列具体形状

图4排列为囿形的示意图

设A为基准点其坐标为ACircleXCi rcleY 其他任意图标B的坐标为xy 则y=CircleY+r*(1-cos(i*2*x=CircleX+r*sin(i*2*

其中 θ= i*2*  nNum为桌面上的图标总数。

时钟的实现在画好囿的基础上取系统时间据此画出时针、分针然后每隔一定时间重绘一次时针、分针即可。矩形、三角形的画法较简单在此丌再赘述。

桌面图标游戏的实现

1.定位桌面图标与“桌面图标排列”中方法相同。

2.链接图标这是游戏的核心笔者把每个图标都定义为宽度为width高度height的长方形把整个桌面设置为宽度为n*width高度为height*m的坐标系。当弹出的图标横坐标为width的倍数纵坐标为height的倍数就可以确保“蛇头”可以吃到它。

5结束语

桌面小工具funnydesk提供了桌面壁纸更换、桌面图标排列和桌面图标游戏的功能让我们的桌面更加有趣、美观增加了我们使用计算机的愉悦体验同时可使我们更有效地管理Windows桌面。

参考文献:

[1]李涛游洪跃陈良银李琳.C++面向对象程序设计.高等教育出版社

[2] 

“桌面小工具funnydesk的设计与实现”文档源于网络本人编辑整理。本着保护作者知识产权的原则仅供学习交流请勿商用。如有侵犯作者权益请作者留言或者发站内信息联系本人我将尽快删除。谢谢您的阅读与下载

Virtono:€23.7/年,KVM-2GB/25GB/2TB/洛杉矶&达拉斯&纽约&罗马尼亚等

Virtono最近推出了夏季促销活动,为月付、季付、半年付等提供9折优惠码,年付已直接5折,而且下单后在LET回复订单号还能获得双倍内存,不限制付款周期。这是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心包括罗马尼亚、美国洛杉矶、达拉斯、迈阿密、英国和德国等。下面列出几款VPS主机配置信息,请留意,下列配置中...

Virmach:1核/512M1核M1核512M/夏季美国vps促销,年付$7.2,9月更换AMD平台

virmach怎么样?virmach家这几年非常火,从商家的黑五闪购开始,以超低的价格吸引了大批的国人客户,而且商家的机器还是非常稳定的,站长手里的4.75刀年付已经用了两年了,非常稳定,不过商家到国内的线路一般,目前商家新上了夏季优惠促销,价格低到发指,年付7.2美元起,商家反馈将在9月开始更换AMD+NVMe平台,这个消息从年初就有了,不过一直没有更换,目前这个时间也不确定是否准确。点击进入:...

LayerStack$10.04/月(可选中国香港、日本、新加坡和洛杉矶)高性能AMD EPYC (霄龙)云服务器,

LayerStack(成立于2017年),当前正在9折促销旗下的云服务器,LayerStack的云服务器采用第 3 代 AMD EPYC™ (霄龙) 处理器,DDR4内存和企业级 PCIe Gen 4 NVMe SSD。数据中心可选中国香港、日本、新加坡和洛杉矶!其中中国香港、日本和新加坡分为国际线路和CN2线路,如果选择CN2线路,价格每月要+3.2美元,付款支持paypal,支付宝,信用卡等!...

桌面清理工具为你推荐
seo优化工具想找一个效果好的SEO优化软件使用,在网上找了几款不知道哪款好,想请大家帮忙出主意,用浙江哪款软件效果好www.522av.com现在怎样在手机上看AV杨丽晓博客杨丽晓哪一年出生的?www.1diaocha.com哪个网站做调查问卷可以赚钱 啊dpscycle寻求LR 高输出宏盗车飞侠请教:游戏盗车飞侠4怎么开飞机,怎么买枪,怎么开坦克啊?干支论坛查天干地支弗雷德疯皮囊第四季EFFY为什么突然不对劲了。www.mm.com找几个有美女图片的网址www.88ququ.com怎么在http://www.tubeshentai.com/下视频
cn域名价格 域名停靠一青草视频 256m内存 gomezpeer debian6 windows2003iso 搜狗12306抢票助手 me空间社区 可外链相册 shopex主机 中国电信宽带测速器 银盘服务 闪讯官网 国内域名 服务器论坛 lamp的音标 成都主机托管 江苏徐州移动 大化网 apnic 更多