cboy 的 站内主页
2007
02-12
02-12
作者:Hatem Mostafa 译者:happyparrot
下载源代码介绍本文描述在网上能够找到的最简单,最快速的哈夫曼编码。本方法不使用任何扩展动态库,比如STL或者组件。只使用简单的C函数,比如:memset,memmove,qsort,malloc,realloc和memcpy。
因此....
Read More >
2007
02-12
02-12
作者:feitian2007
下载源代码
环境:Windows 2003,VC 6.0
摘要:从建立一个COM服务程序入手,然后将一个MFC项目改造成服务程序,最后让这一程序在启动时可以显示图形界面。
关键字:windows服务程序 COM服务程序 开机前启动 NT服务 与桌面交互一、什么是windows的服务程序?
可以使用下面的几种方法看到它。
打开控制面板,然后是管理工具,里....
Read More >
2007
02-12
02-12
作者:Microsoft翻译:TimiXu
本文转载自TimiXu的Blog文件系统识别器是一个标准的NT内核模式驱动程序。它只实现一项功能:检查物理介质设备,如果它能够识别存储介质的格式便加载相应的文件系统驱动程序。你可能要问:为什么不把所有的文件系统一起加载呢?因为系统几乎从不需要加载所有文件系统驱动程序,用一个小驱动可以节约数百K系统内存。实际上,所有标准的NT物理介质文件系统都利用文件系....
Read More >
2007
02-12
02-12
作者:李建成
下载源代码 摘要: 服务器端基于select I/O模型。为防止程序界面阻塞, 有一个子线程用于不断接收socket并select其中的处理。客户端只有一个线程函数, 不过其利用率很高, 可用于远程目录交换, 请求文件大小, 创建若干线程来下载文件....
Read More >
2007
02-12
02-12
这两天有点焦头烂额, 我们这边运行的好好的程序, 到了测试的机器上就不能启动(是根本运行不了, 而不是运行出错), 弄得我异常郁闷。 经过了一番摸索, 发现和 winxp、win2003中为解决dll hell而引入的manifest机制有关系。而以前我们用vs2003开发, 它并没有强制程序使用....
Read More >
2007
02-01
02-01
---- 随着Inte.Net的发展,软件的国际化不可避免。一种软件可能被很多国家的人使用,如给您的软件加上多种语 言的菜单,不但给使用者带来很多方便,也为您的软件的推广带来很多便利。比如给您开发的中文软件,加上一个 英语或日语菜单,对母语为英语和日语的朋友将会带来很多便利。VC中实现多语菜单非常容易,下面以英汉对照菜 单为例说明多语菜单实现的方法。 ---- 一、建立工程项目文件 ---- 采用....
Read More >
2007
02-01
02-01
本文从分析Windows扫雷游戏的功能特点开始,应用面向对象的可视化编程语言Visual C++给出了个功能模块的具体实现方法,并提供了编写小游戏程序的一般方法和Visual C++的一些使用技巧。
首先分析扫雷的最基本功能。
点击鼠标左键于未知区域,如果未知区域有雷,游戏停止,显示所有的地雷。如果没雷,则显示周围雷数,如果周围没雷,则再查看周围八个区域是否有雷直到有雷为止并显示,这其实是一个....
Read More >
2007
02-01
02-01
目录树遍历顾名思义就是把目录树中所有的目录及文件依次查找一遍,WINDOWS里的文件查找程序和SafeClean Utilities(环保卫士)等都用到了目录树遍历。我们当然也可以在自己的程序中加入这一功能。下面就是该算法的源代码。代码不长,应该很好懂。大家只要在工程中添加一个 Search 类再将代码拷贝到文件中就可以了。调用时用如下代码: Search find("c:\", "*.exe")....
Read More >
2007
02-01
02-01
Windows95/98的注册表包含了Windows95/98的系统配置、PC机的硬件配置、Win32应用程序和用户的其他设置信息。注册表和INI文件不同,它是多层次的树状数据结构,具有六个分支(根键),每个分支又由许多的键和键值组成,而每个键则代表一个特定的配置项目。
在实际的编程工作中,我们遇到了如何在Visual C++中对Windows95/98注册表整个树状结构信息进行访问和修改的....
Read More >
2007
02-01
02-01
COM的优越就不多说,使用ATL开发COM方便而快捷,并且具有Size小,Dependency少的特点。VC++的import 编译支持更是对COM开发的巨大支持。闲话休说,这就开始吧。 一.Flash组件 1.ATL COM AppWizard创建新项目"ATLFlash",选择DLL类型。 ....
Read More >
2007
02-01
02-01
许多程序员发现用VC++编写的程序在多处理器的电脑上运行会变得很慢,这种情况多是由于多个线程争用同一个资源引起的。对于用VC++编写的程序,问题出在VC++的内存管理的具体实现上。以下通过对这个问题的解释,提供一个简便的解决方法,使得这种程序在多处理器下避免出现运行瓶颈。这种方法在没有VC++程序的源代码时也能用。
问题
C和C++运行库提供了对于堆内存进....
Read More >
2007
02-01
02-01
一、问题的提出 有的程序员希望能够识别所有键盘上按下的键,以便在应用程序中能够正确地处理它。特别希望知道的是用户是否按下了键 SHIFT、CTRL、ALT、NUMLOCK 或 CAPSLOCK。对于键 SHIFT、CTRL 和 ALT,程 序员关心的用户是否当前按下此键;对于键 NUMLOCK 和 CAPSLOCK,程序员只关心用户是否在应用程序取得控制之前选取了此键。
二、解决方法 这是一....
Read More >
2007
02-01
02-01
用普通方法显示BMP位图,占内存大,速度慢,在图形缩小时,失真严重,在低颜色位数的设备上显示高颜色位数的图形图形时失真大。本文采用视频函数显示BMP位图,可以消除以上的缺点。
---- 一、BMP文件结构
---- 1. BMP文件组成
---- BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。
---- 2. BMP文件头
---- BMP文件头数据....
Read More >
2007
02-01
02-01
本文只对与几个关键性技术的实现细节进行讨论,其它的编程细节,请参考源程序。
32位到16位的形式替换
32位代码与16位代码的数据交换
动态修改Windows内核
1. 32bit到16bit的形式替换(Thunk)
形式替换是指那些允许从16位代码调用32位代码或从32位代码调用16位代码的技术。形式替换用于解决试图在同一操作系统或同一可执行程序上....
Read More >