VC获取进程的所有线程
2014-01-07 18:53
239 查看
#include <Windows.h> #include <iostream> #include "tlhelp32.h" #include "stdio.h" #include <map> #include <stack> using namespace std; //1. stack<DWORD> threadIdStack; UINT SubThread(LPVOID lParam) { while (1) { cout<<"fuck"<<endl; } return 0; } int GetProcessThreadList() //进程的ID { DWORD th32ProcessID=GetCurrentProcessId(); HANDLE hThreadSnap; THREADENTRY32 th32; hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, th32ProcessID); if (hThreadSnap == INVALID_HANDLE_VALUE) { return -1; } th32.dwSize = sizeof(THREADENTRY32); if (!Thread32First(hThreadSnap, &th32)) { CloseHandle(hThreadSnap); return -1; } do { if (th32.th32OwnerProcessID == th32ProcessID) { threadIdStack.push(th32.th32ThreadID); } }while(Thread32Next(hThreadSnap, &th32)); CloseHandle(hThreadSnap); return threadIdStack.size(); } HANDLE GetTheNewThreadHandle(int size_after,int size_before) { if (1!=size_after-size_before) { threadIdStack.empty(); return NULL; } DWORD dwAddThreadId=threadIdStack.top(); HANDLE handleAddThread=OpenThread(DELETE,FALSE, dwAddThreadId); return handleAddThread; }
相关文章推荐
- 获取所有进程的映像路径以及命令VC源代码
- Java获取当前进程的所有线程
- VC 获取进程线程数
- 获取指定进程所有线程的当前执行模块
- 根据句柄如何获取该进程的所有线程(转)
- VC获取进程ID 线程ID 窗口句柄
- 获取系统中所有进程&线程信息
- 系统进程与线程关系以及使用Python获取的方法
- <转>Linux查看进程的所有子进程和线程
- VC中如何获取当前计算机中所有逻辑驱动器的数目和盘符
- shell同时启多个进程,并等待所有子进程结束,再做接下来的操作,最好能获取每个子进程的退出状态
- socket编程一段小节——获取文件,线程,进程
- VC++实现获取进程端口检测木马
- 查看进程内所有线程的CPU使用率
- VC控制台获取进程
- 关于进程或线程间通信(利用内存映射)vc++ 6.0
- 挂起进程内所有线程
- 获取所有进程的映像路径以及命令行参数
- Android 5.0系统以上获取所有运行进程
- 获取当前进程/线程的ID、句柄和内核地址