复习笔记之一 --暂停或者重启进程中的所有线程
来源:互联网 发布:微信试探老公 知乎 编辑:程序博客网 时间:2024/05/17 22:51
//****************************************************//
//输入参数:dwProcessId:进程ID。fSuspend:是否暂停。//
// GetCurrentProcessId()获得当前可执行程序进程的ID 返回 DWORD//
//****************************************************//
void SuspendProcess(DWORD dwProcessId,BOOL fSuspend)
{
//Takes a snapshot of the specified processes, as well as the heaps, modules, and threads used by these processes.
//获?得ì?一°?个?指?定?§进?程¨?的ì?快¨?照?,ê?包?¨1括¤?§进?程¨?中D的ì?堆?、?é单죤元a、?é以°?及??线?程¨?
//TH32CS_SNAPTHREAD:êo指?明??获?得ì?线?程¨?
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,dwProcessId);
if(hSnapshot != INVALID_HANDLE_VALUE)
{
//Describes an entry from a list of the threads executing in the system when a snapshot was taken.
//THREADENTRY32:êo描¨¨述o?一°?个?获?得ì?的ì?可¨|执??行D线?程¨?列¢D表à¨a的ì?入¨?口¨2
/* typedef struct tagTHREADENTRY32 {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ThreadID;
DWORD th32OwnerProcessID;
LONG tpBasePri;
LONG tpDeltaPri;
DWORD dwFlags;
} THREADENTRY32, *PTHREADENTRY32;*/
THREADENTRY32 te = {sizeof(te)};
//Retrieves information about the first thread of any process encountered in a system snapshot.
//Thread32First:êo复??制?堆?的ì?第ì¨2一°?个?入¨?口¨2到ì?结¨¢构1体??中D
BOOL fok = Thread32First(hSnapshot,&te);
for (;fok;fok = Thread32Next(hSnapshot,&te))
{
if (te.th32OwnerProcessID == dwProcessId)
{ //打?¨°开a线?程¨?,ê?获?得ì?线?程¨?句?柄à¨2
HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME,FALSE,te.th32ThreadID);
if (hThread != NULL)
{
if (fSuspend)
{
SuspendThread(hThread);
}
else
{
ResumeThread(hThread);
}
}
CloseHandle(hThread);
}
}
}
CloseHandle(hSnapshot);
}
- 复习笔记之一 --暂停或者重启进程中的所有线程
- 进程线程复习笔记
- 操作系统复习笔记--进程与线程
- 多线程编程复习笔记 进程与线程
- [Other]面试复习笔记:线程与进程复习
- 程序,进程,线程学习笔记之一
- Linux/Unix编程中的线程安全问题或者重入问题
- 进程线程 --获得制定进程中的所有模块信息--
- 暂停复习
- 进程/线程管理之一进程
- linux进程复习笔记
- 线程复习的笔记
- 线程复习笔记
- Java线程复习笔记
- VC如何对新创建的一个线程暂停或重启
- Android使用Thread的interrupt与sleep,重启或暂停线程任务
- Android使用Thread的interrupt与sleep,重启或暂停线程任务
- linux暂停一个在运行中的进程
- jdbc数据库开发
- Hive Lateral view介绍
- RAC
- TP-Link TL-WR703n路由USB口用途2——挂载U盘,从U盘启动
- 浅谈极简主义设计
- 复习笔记之一 --暂停或者重启进程中的所有线程
- 《太陽最紅 毛主席最親》
- PHP连接mysql数据库
- 手机QQ浏览器解析A链接访问过后颜色发生变化的Bug
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKTABLE检查组成表或索引视图的所有页和结构的完整性
- libzbar.a armv7
- directx的安装与配置
- rcp嵌入Eclipse自带的console
- android chromium点击链接打开新标签页过程分析