随笔分类 -  VC++

摘要:1.使用DebugView查看输出信息对内核调试是做系统底层驱动开发的必修课,当然也是有兴趣才可能进行深入的挖掘。进行驱动调试可以有很多工具可以用,比如DebugView可以查看一些DbgPrint的输出的输出信息(当然它的功能还有其他)如下图(不好意思,图还在审核中): 点击菜单“Capture”,在弹出的菜单中勾选想要监控的输出信息,就可以在动态调试时看到你在程序中使用DbgPrint输出的信息!下面我们举一个驱动的小例子,来看下效果(相关资料可以参考驱动开发的教程《寒江独钓》)。实例1:首先要安装相应的工具,我们这里用到了,VMWare,WDK,DebugView,任意文本编辑... 阅读全文
posted @ 2013-12-24 12:33 codergeek 阅读(524) 评论(0) 推荐(0)
摘要:函数和数据被编译进一个二进制文件(通常扩展名为.LIB)。静态库:在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.EXE文件)。在多个同样的程序执行时,系统保留了许多重复的代码副本,造成内存资源浪费。动态库:使用动态库时,有一个引入库lib和一个DLL。引入库lib包含被DLL导出的函数和变量的符号名,DLL包含实际的函数和数据。在编译链接可执行文件时,只需要链接引入库,DLL中的函数代码和数据并不复制到可执行文件中,在运行的时候,再去加载DLL,访问DLL中导出的函数。使用DLL的动态链接并不是将库代码拷 阅读全文
posted @ 2013-12-24 07:33 codergeek 阅读(205) 评论(0) 推荐(0)
摘要:1.简介:双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板,首先我们在内存环境中建立一个“虚拟“的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制好的图形“拷贝”到另一块黑板(屏幕)上。采取这种方法可以提高绘图速度,极大的改善绘图效果。2.相关函数(1)使用屏幕 DC 创建兼容的内存 DC:CreateCompatibleDC()(2)使用屏幕DC创建兼容性位图:CreateCompatibleBitmap()(3)将兼容性位图选入兼容性DC中 SelectObject()(4)当在兼容性的内存DC中绘制完图形以后,一次性的用BitBlt()函数拷贝 阅读全文
posted @ 2013-11-14 09:07 codergeek 阅读(596) 评论(0) 推荐(0)
摘要:本文根据本人在项目中的应用,来谈谈CListCtrl的部分用法及技巧。当初学习时,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问题。 分为两篇来进行总结。本篇重点总结:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色1、基本操作 分别从下面四点来介绍CListCtrl的基本操作: ①设置列表视图. 阅读全文
posted @ 2013-11-06 11:47 codergeek 阅读(2400) 评论(0) 推荐(1)
摘要:1、GetDlgItemText()2、先用 GetDlgItem(编辑框的ID)获取指向编辑框的指针。再用GetWindowText函数将获取内容保存至指定的字符数组里。3、使用 GetDlgItemInt来直接获取数值内容。 阅读全文
posted @ 2013-11-05 15:04 codergeek 阅读(3736) 评论(0) 推荐(0)
摘要:引言 工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具。通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发环境所创建的应用程序框架中的工具条只是一个简单的按钮的集合,在功能上也仅仅是起到了菜单快捷方式的作用,而没有做到象VC、Word等软件的工具条那样,提供多种不同类型的标准控件如组合框、编辑框等。尤其是组合框在添加到工具条上后,可将原本需要在弹出对话框中完成的交互操作在工具条上就可以进行,从而在很大程度上改善了应用程序的界面友好程度。本文就此给出一种在普通应用程序的工具条上动态创建组合框、编辑框等. 阅读全文
posted @ 2013-11-05 08:38 codergeek 阅读(1711) 评论(0) 推荐(0)
摘要:在win7下使用OpenSCManger和OpenService函数,如下代码:SC_HANDLE hSCM = OpenSCManager(NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE );if (!hSCM){CloseServiceHandle(hSCM);return false;}//调用OpenService函数SC_HANDLE hServ =OpenService(hSCM,lpszServName,SERVICE_QUERY_STATUS);if (!hServ){CloseServiceHandle(hSCM);return false;}/ 阅读全文
posted @ 2013-04-10 08:28 codergeek 阅读(893) 评论(0) 推荐(0)
摘要:在Windows操作系统中,任务栏的右边(托盘)会常驻几个图标,如输入法切换图标、音量控制图标等,此外我们还经常遇到具有托盘图标的软件,如金山词霸、实时监测功能的杀毒软件等。这些软件在后台运行,通常不占用太多的屏幕资源,只在通知栏上放一个小小的标志,必要时我们可以通过用鼠标点击图标对其进行选单操作或激活其主窗口。有时我们自己编写的程序也希望有类似的效果,本文将详细地介绍用VC设计托盘图标程序的方法。 一、 NOTIFYICONDATA结构 NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息和图标对应的窗口等内容。其定义为: typ... 阅读全文
posted @ 2013-01-16 17:05 codergeek 阅读(1213) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示