进程 什么是进程? 通俗的来讲,进程就是一个运行中的程序,最少包含一个虚拟空间,通常是 4 GB大小,一组提供数据和代码的模块,通产是 dll 和 exe 文件,一个进程内核对象和最少一个线程. 进程类似于一个容器,提供给线程一块空间和需要执行的操作,线程用于进行执行. 什么是模块? 提供代码和数据的可执行文件,主要有 exe 和 dll.可以通过 VS 的调试->窗口->模块进行查看 创建进程 // 结构体用于设置进程的初始化信息 STARTUPINFO StartupInfo = { si…
文件操作 不带句柄的文件操作 // 1. 拷贝文件,第三个参数为 FALSE 表示会覆盖 // CopyFile(L"D:\\1.txt", L"E:\\2.txt", FALSE); ​ // 2. 移动文件,相当于改名 // MoveFile(L"D:\\1.txt", L"D:\\2.txt"); ​ // 3. 获取文件属性 WIN32_FILE_ATTRIBUTE_DATA FileInfo = { }; GetFi…
进程通信 使用 WM_COPYDATA 客户端(发送端) // 1. 找到窗口程序 HWND hWnd = FindWindow(NULL, L"Window1"); ​ // 2. 构建一个 COPYDATASTRUCT 结构体 COPYDATASTRUCT CopyData = { }; CopyData.dwData = 0x100; // 要传递的一个4字节数据,通常是类型 CopyData.cbData = 0x0A; // 存储数据的缓冲区大小 CopyData.lpDat…
版权声明:专注于计算机网络安全学习 https://blog.csdn.net/u011672712/article/details/51586030 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61…
内核对象 什么是内核对象? 内核对象本质上是一个结构体,我们不能直接的操作一个内核对象,需要通过操作系统提供的一系列函数和我们使用的内核对象句柄对它进行一系列的修改. 如何操作内核对象? 创建一个内核对象:CreateXXX(对象) 打开一个内核对象使用: OpenXXX(对象名) 通常来讲,每一个内核对象都有自己的标识,可能是 id ,也可能名字,通过名称或者 id 就可以打开一个已经被创建的内核对象了. 操作内核对象:使用的是与对象关联的一些函数 关闭一个内核对象:大多数使用 CloseHa…
Windows编程之进程遍历 PS: 主要扣代码使用,直接滑动到最下面使用. 遍历进程需要几个API,和一个结构体 1.创建进程快照 2.遍历首次进程 3.继续下次遍历 4.进程信息结构体 API 分别是: 1.创建进程快照 HANDLE WINAPI CreateToolhelp32Snapshot( 进程快照API DWORD dwFlags, 遍历的标志,表示你要遍历什么(进程,模块,堆...) DWORD th32ProcessID 遍历的进程ID,如果为0,则是当前进程,如果不为0,则…
#include <windows.h> #include <tlhelp32.h> //进程快照函数头文件 #include <stdio.h> int main() { ; //当前进程数量计数变量 PROCESSENTRY32 currentProcess; //存放快照进程信息的一个结构体 currentProcess.dwSize = sizeof(currentProcess); //在使用这个结构之前,先设置它的大小 HANDLE hProcess = C…
1.说明 枚举进程的常见几种方法 方法1:CreateToolhelp32Snapshot().Process32First()和Process32Next() 方法2:EnumProcesses().EnumProcessModules().GetModuleBaseName() 方法3:Native Api的ZwQuerySystemInformation 方法4:wtsapi32.dll的WTSOpenServer().WTSEnumerateProcess() CreateToolhel…
原文:http://blog.csdn.net/qq78442761/article/details/54646010 当我们写某些具有破坏性的程序时就需要对进程进行遍历和提取ID 对于上述功能,我们先介绍几个API 1.CreateToolhelp32Snapshout function 得到进程.模块或者线程的快照 语法如下: HANDLE WINAPI CreateToolhelp32Snapshot( _In_ DWORD dwFlags, _In_ DWORD th32ProcessI…
目录 遍历进程用户名 代码例子 遍历进程用户名 代码例子 #include <windows.h> #include <iostream> #include <COMDEF.H> #include <stdio.h> #include <Tlhelp32.h> using namespace std; typedef struct _UNICODE_STRING { USHORT Length; USHORT MaximumLength; PWS…