Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件。最后,你可以用所学知识编写自己的 Windows 服务。 当初我写第一个 NT 服务时,我到 MSDN 上找例子。在那里我找到了一篇 Nigel Thompson 写的文章:“Creating a Simple Win32 Service in C++”,这篇文章附带一个 C++ 例子。虽然这篇文章很好地解释了服务的开发过程,但是,我仍然感觉缺少我需要的重要信息。我想理解通过什么框架,调用什么函数,以及何时调用,但 C++ 在这方面没有让我轻松多少。面向对象的方法固然方便,但由于用类对底层 Win32 函数调用进行了封装,它不利于学习服务程序的基本知识。这就是为什么我觉得 C 更加适合于编写初级服务程序或者实现简单后台任务的服务。在你对服务程序有了充分透彻的理解之后,用 C++ 编写才能游刃有余。当我离开原来的工作岗位,不得不向另一个人阅读全文>
发表于 @ 2008年04月11日 16:53:00|评论(loading...)|收藏
相比静态地分配内存空间,使用动态内存分配具有明显的优势:
1, 分配空间的大小够精确: 设想一个读取用户输入行的程序, 如果使用静态分配的数组作为buffer, 那么, 你如何确定该数组的长度呢? 太大或太小都不合适. 因为你无法事先知道用户输入字符串的长度. 而使用动态内存分配就精准多了.
2, 静态分配的空间大小无法更改, 而动态分配的内存大小是可调的.
所以, 理解C语言中的动态内存分配对于编写实用, 有效, 安全的程序来说必不可少. 本文假设你使用C语言编程, 且使用GNU/Linux系统. (其实由于现在的许多系统都是POSIX兼容的, 本文的内容使用于任何操作系统, 只是其中提到的某些工具仅存于GNU/Linux上.)
要理解内存管理, 首先要理解程序在内存中的布局, 既: 内存程序映像.阅读全文>
发表于 @ 2008年02月29日 17:26:00|评论(loading...)|收藏
透明位图的显示
作者:王骏
下载本文示例代码
包含透明色的位图的绘制方法有多种,最简单的方法是调用现成的函数:TransparentBlt,也可以通过自己的代码实现类似TransparentBlt的功能,实现过程也有两种形式,一种是事先做一张掩码位图,另一种是动态生成掩码位图。本文将介绍动态生成掩码位图绘制具有透明区域位图的方法。
阅读全文>
发表于 @ 2008年01月24日 10:36:00|评论(loading...)|收藏
但在编译时出现下面错误,不知为什么,我也曾经出现过这种问题,但通过自己的努力已经解决了,下面给出解决方法,希望能对大家有所帮助.阅读全文>
发表于 @ 2008年01月11日 11:57:00|评论(loading...)|收藏
VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好. 阅读全文>
发表于 @ 2007年11月21日 16:36:00|评论(loading...)|收藏
Internet Explorer有实在太多没有公布的东西。上一篇文章《Internet Explorer 编程简述(六)自定义浏览器上下文菜单》提到的获取“编码”菜单的方法就是利用了浏览器的上层窗口“Shell DocObject View”的未公布的命令ID。本文将要介绍的是如何用这个ID把“编码”菜单放到我们自己的菜单中来(如工具条上的“编码”按钮的下拉菜单)。阅读全文>
发表于 @ 2007年11月01日 17:25:00|评论(loading...)|收藏
Internet Explorer提供了非常开发的接口,使开发人员不仅可以把其浏览器核心嵌入应用程序,还可以通过各种接口以实现更深层的控制。本文就将介绍对浏览器进行高级控制的话题之一——自定义上下文菜单。阅读全文>
发表于 @ 2007年11月01日 17:20:00|评论(loading...)|收藏