在程序设计时,某一个具体的功能模块可以通过函数或是线程等不同的形式来实现。对于同一进程而言,这些函数、线程都是存在于同一个地址空间下的,而且在执行时,大多只对与其相关的一些数据进行处理。如果算法存在某种错误,将有可能破坏与其同处一个地址空间的其他一些重要内容,这将造成比较严重的后果。为保护地址空间中的内容可以考虑将那些需要对地址空间中的数据进行访问的操作部分放到另外一个进程的地址空间中运行,并且只允许其访问原进程地址空间中的相关数据。具体的,可在进程中通过CreateProcess()函数去创建一个子进程,子进程在全部处理过程中只对父进程地址空间中的相关数据进行访问,从而可以保护父进程地址.. Read More
#include "windows.h"#include "tlhelp32.h"#include "stdio.h"int main(int argc, char* argv[]){ PROCESSENTRY32 pe32; //在使用这个结构前,先设置它的大小 pe32.dwSize = sizeof(pe32); //给系统内所有的进程拍个快照 HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if (hProcessSnap == I Read More
/* *************************************《精通Windows API》 * 示例代码* Event.c* 7.2.1 演示使用Event同步线程**************************************//* 头文件 */#include <windows.h>#include <stdio.h>/* 常量定义 */#define NUMTHREADS 3 #define BUFFER_SIZE 16#define FOR_TIMES 5/* 全局变量 */HANDLE hEvent; ... Read More