通过进程名称得进程ID
来源:互联网 发布:手机摄影后期制作软件 编辑:程序博客网 时间:2024/06/05 11:12
#include"stdafx.h"
#include
#include
#include "stdafx.h"
#include
#include
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTAUS)OXC0000004L)
BOOL GetProcessIdByProcessImageName(IN WCHAR*wzProcessImageName,OUT UINT32* TargetProcessId) //IN 从外传入 OUT 从内传出
{
HANDLE ProcessSnapshotHandle = NULL;
PROCESSENTRY ProcessEntry32 = {0};
ProcessEntry32.dwSize = sizeof(PROCESSENTRY32); //必须初始化
ProcessSnapshotHandle =CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统运行的所有进程的快照
if(ProcessSnapshotHandle == INVALID_HANDLE_VALUE)
{
return FALSE;
}
Process32First(ProcessSnapshotHandle,&ProcessEntry32); //将第一个赋给Handle
do
{
if(lstrcmpi(ProcessEntry32.szExeFile,wzProcessImageName)==0) //两者做比较 不区分大小写
{
*TargetProcessId = ProcessEntry32.th32ProcessID;
break;
}
}while(Process32Next(ProcessSnapshotHandle,&ProcessEntry32)); //遍历进程
CloseHandle(ProcessSnapshotHandle);
ProcessSnapshotHandle = NULL;
}
---------------------------------------------------------------------------------------------
PROCESSENTRY32 结构如下:
HANDLE WINAPI CreateToolhelp32Snapshot(
DWORD dwFlags,
DWORD th32ProcessID );
dwFlags
TH32CS_INHERIT - 声明快照句柄是可继承的。
TH32CS_SNAPALL - 在快照中包含系统中所有的进程和线程。
TH32CS_SNAPHEAPLIST - 在快照中包含在th32ProcessID中指定的进程的所有的堆。
TH32CS_SNAPMODULE - 在快照中包含在th32ProcessID中指定的进程的所有的模块。
TH32CS_SNAPPROCESS - 在快照中包含系统中所有的进程。
TH32CS_SNAPTHREAD - 在快照中包含系统中所有的线程。
TH32CS_SNAPALL
Equivalent to specifying TH32CS_SNAPHEAPLIST,TH32CS_SNAPMODULE, TH32CS_SNAPPROCESS, and TH32CS_SNAPTHREAD.
TH32CS_SNAPHEAPLIST
Includes the heap list of the specified process in thesnapshot.
TH32CS_SNAPMODULE
Includes the module list of the specified process in thesnapshot.
TH32CS_SNAPPROCESS
Includes the process list in the snapshot.
TH32CS_SNAPTHREAD
BOOL WINAPI Process32First(
HANDLE hSnapshot,
LPPROCESSENTRY32 lppe );
Parameters
hSnapshot
Handle to the snapshot returned from a previous call to theCreateToolhelp32Snapshot function.
lppe
Pointer to a PROCESSENTRY32 structure.
上述函数常与
Process32Next(
HANDLE hsnapShot,
LPPROCESSENTRY32 lppe)
搭配使用,用来枚举当前系统快照相关的所有进程。
函数返回值:成功返回true,否则返回false.
int lstrcmpi(
);
lpString1 [in] Pointer to the first null-terminated string tobe compared.
lpString2 [in] Pointer to the second null-terminated string tobe compared.
Includes the thread list in the snapshot.
阅读全文
0 0
- 通过进程名称得进程ID
- 通过进程名称得线程id
- 通过进程名称获取进程ID、通过子进程ID获取其父进程ID及通过进程ID获取进程名称
- 通过进程名称删除进程 ps -ef
- 通过进程名称查找和杀死进程
- QT通过名称杀进程
- 进程管理:通过父进程ID获取子进程ID
- 如何通过进程ID获取进程名
- 通过进程ID得到进程名
- 通过进程ID返回进程hWnd
- 通过进程名获取进程ID
- 通过进程名查找进程ID
- 通过进程ID得到进程名
- 通过进程ID得到进程名
- linux通过进程名获取进程id
- 通过ps得到进程id,kill进程
- 通过进程ID获取进程名
- 通过进程ID得到进程名
- MySQL中order by语句对null字段的排序
- APC注入
- maven有关笔记
- 提升进程权限
- java-Object类
- 通过进程名称得进程ID
- 通过进程名称得线程id
- 枚举进程
- Linux文档中翻页和搜索关键字
- 并查集以及应用
- 逻辑驱动器的得到
- 文件系统的得到
- Delphi与C++Builder代码共享的实现
- 进程是什么