摘要:一个将WM_*消息代码转换为字符串表示的函数:(打表法)#include <windows.h>struct WMArray { UINT Code; char Message[100];} waWMArray[] = { {0x0000, "WM_NULL"},{0x0001, "WM_CREATE"},{0x0002, "WM_DESTROY"},{0x0003, "WM_MOVE"}, {0x0005, "WM_SIZE"},{0x0006, "WM_ACTIVATE
阅读全文
摘要:一个简单的进程封装类,该类允许我们新建一个远程进程,并对其进行控制。进程类CProcess的头文件如下:class CProcess{ public: PROCESS_INFORMATION ProcessInfo; //进程结构信息 STARTUPINFO StartupInfo; //启动信息 bool KillProcess(UINT); //强制杀死进程,不推荐 bool KillThread(UINT); //强制杀死线程,不推荐 bool LoadProcess(char *, char *, char *); //创建远程进程 bool Pause(void); //挂起主线程
阅读全文
摘要:一段简单的动态改变数组大小的代码,给初学者看看,详见代码:#include <iostream>class Int_array{ static int no_instances; //数组的实例个数 int size; int len; int *array; //数组指针public: Int_array(int); Int_array(const Int_array&); int &retrieve(int); //索引元素 int no_instance(); void Display(); int length(); void Add(int); void
阅读全文
摘要:##########################################################################ASCE1885的声明:本文源代码归属于:author: Gonzales Ceneliahomepage: www.ai-search.4t.com有增改!##########################################################################本代码实现二分查找的功能,查找前对数组排序使用的是冒泡排序算法。使用的开发环境是Dev C++ 4.9.9.2。程序头文件是bisearch.h,
阅读全文
摘要:使用IOCP的TCP服务器使用过程大体如下:1) 使用CreateIoCompletionPort函数创建完成端口,并以该I/O完成端口为参数创建多个服务线程;2) 创建监听套接字;3) 接收客户端连接请求,返回服务套接字;4) 将服务套接字与完成端口绑定,并在该套接字上投递初始I/O操作请求;5) 返回步骤3);服务线程的流程如下:1) 调用GetQueuedCompletionPort函数等待获取完成信息;2) 根据需要对数据进行处理并投递后续的I/O操作请求;3) 返回步骤1)。程序代码及注释如下:#include <stdio.h>#include <winsock2
阅读全文
摘要:首先当然是先定义头文件Thread.h咯,如下:#ifndef _THREAD_H#define _THREAD_H#ifdef _WIN32#include <windows.h>#else#include <pthread.h>#endif#ifdef _WIN32typedef unsigned threadfunc_t;typedef void* threadparam_t;#define STDPREFIX __stdcall#elsetypedef void* threadfunc_t;typedef void* threadparam_t;#define
阅读全文
摘要:1)首先定义互斥对象的接口IMutex(所在文件是IMutex.h)class IMutex //抽象接口{public: virtual ~IMutex() {} virtual void Lock() const = 0; virtual void Unlock() const = 0;};2)接着是实现IMutex接口的实现类Mutex头文件是Mutex.h:#ifndef _WIN32#include <pthread.h>#else#include <windows.h>#endif#include "IMutex.h"class Mute
阅读全文