
VC++
文章平均质量分 80
mkdym
这个作者很懒,什么都没留下…
展开
-
获取桌面窗口句柄
GetDesktopWindow获取的是顶层显示桌面句柄,也就是说,如果应用程序窗口在桌面上,那么它的窗口也算是所获取的窗口的一部分,如果使用GetDC(NULL)作图,则永远是在最顶层。那么如何获取包含桌面图标的窗口句柄呢?我们可以用Spy++来查看。可以看出窗口层次为Progman->SHELLDLL_DefView->SysListView32。于是我们可以这样来获取我们原创 2011-11-28 09:36:42 · 29159 阅读 · 2 评论 -
基于IPv6的语音聊天程序
本文将简略描述我写的基于IPv6的语音通信程序。一.背景我们学校的校园网是按流量计费的,然而它只记IPv4流量,对于IPv6的流量是免费的,貌似国内高校教育网都是这样。于是我便萌生了将所有的耗费流量的网络操作都改写成IPv6的念头。第一个便是文件传输,做了三次改进,效果还是不理想,主要是我多线程方面的知识还比较欠缺,不过基本功能还是实现了的。留着将来有时间再改。第二个便是语音聊天。二.原创 2011-11-28 11:24:47 · 2450 阅读 · 0 评论 -
清空剪切板和回收站
一.背景当剪切板上有大量信息时,如果我们“鼠标一滑”或者“手一抖”,来了个“粘贴”,轻者粘贴到它不应该去的地方,重者使我们的机子顿时卡住,这两种情况我都深有体会。于是这个程序便出现了。放在桌面上,没事的时候就点一点。只有清空剪切板的话比较简陋,于是就再加了个清空回收站,但是这个功能可能对于某些人来说便成了“画蛇添足”。二.函数介绍1. 有关剪切板OpenClipboard:如果原创 2011-11-28 23:00:46 · 2190 阅读 · 1 评论 -
桌面下雪程序的编写
一. 综述考虑到雪花将会很多,并且每个雪花都有自己的行为路径,统一处理比较麻烦,因此自定义一个类CSnowflake,它所呈现的主要接口有两个:下落和“死亡”判断。下落路径由雪花对象自身处理,主框架中只是采用定时器来控制其下落。当然,雪花落到屏幕底后就相当于“死亡”了,为了保持活动雪花总数大致不变,我又开启了一个定时器,用来产生雪花。在用户交互上我做了一个托盘,可以显示提示,右键弹出菜单。还有原创 2011-11-29 12:28:53 · 3125 阅读 · 0 评论 -
找茬类辅助工具的编写
主要有两个方面:屏幕抓图与贴图和像素比较与重设若使用GDI,建议使用CImage类,比较方便。原理很简单:将两幅图抓取下来,按像素比较,相同的设一种色,不同的设另一种色,然后形成新的图,再将此图贴至屏幕即可。需要做的准备工作是获得两幅图的矩形坐标,这个可以有多种方法。下面是我写的某个找茬辅助器的部分关键代码:HDC hdcSrc = ::GetDC(NULL);原创 2011-12-01 13:22:42 · 956 阅读 · 0 评论 -
GDI+学习笔记:使用CachedBitmap加快贴图速度
使用GDI+,首先得包含其头文件,引入库文件:#include #pragma comment( lib,"gdiplus.lib" )其次,在应用程序项目的应用类中,添加一个成员变量,如下列代码:ULONG_PTR m_gdiplusToken;在应用类中添加ExitInstance的重载,并添加下列代码用来关闭GDI+:int CGDIPlusApp:原创 2011-12-02 22:27:01 · 4360 阅读 · 0 评论