Windows API 之 CreateToolhelp32Snapshot
CreateToolhelp32Snapshot:
参考:
https://msdn.microsoft.com/en-us/library/ms682489%28VS.85%29.aspx
HANDLE WINAPI CreateToolhelp32Snapshot(
_In_ DWORD dwFlags,
_In_ DWORD th32ProcessID
);
#include <windows.h>
#include <TlHelp32.h>
#include <iostream>
#include <tchar.h> using namespace std; DWORD GetProcessIDByName(TCHAR *szProcName)
{
DWORD dwProcID = ;
HANDLE hProcessSnap;
PROCESSENTRY32 pe32; //获取系统中全部进程的快照 Take a snapshot of all processes in the system.
//TH32CS_SNAPPROCESS:在快照中包含系统中所有的进程。
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, );
if (INVALID_HANDLE_VALUE == hProcessSnap)
return(FALSE); pe32.dwSize = sizeof(PROCESSENTRY32); // 获取第一个进程的信息 Retrieve information about the first process,
// 若获取失败则退出 and exit if unsuccessful
if (!Process32First(hProcessSnap, &pe32))
{
// 清除快照 clean the snapshot object
CloseHandle(hProcessSnap);
cout << "!!! Failed to gather information on system processes! \n" << endl;
return(NULL);
}
//匹配进程ID Matching Process ID
do
{
if (!strcmp(szProcName,pe32.szExeFile))
{
//拷贝进程名 Copy Process Name
cout << pe32.szExeFile << " : " << pe32.th32ProcessID << endl;
dwProcID = pe32.th32ProcessID;
}
//cout << pe32.szExeFile << endl;
} while (Process32Next(hProcessSnap, &pe32)); // 清除快照 clean the snapshot object
CloseHandle(hProcessSnap); return dwProcID;
} int main()
{
TCHAR *szProcessName = "chrome.exe";
GetProcessIDByName(szProcessName); system("pause");
return ;
}
找到对应的进程ID:
aaarticlea/png;base64,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" alt="" />
Windows API 之 CreateToolhelp32Snapshot的更多相关文章
- Windows API 进程相关笔记
0. 前言 最近做了一个进程信息相关的项目,整理了一下自己做项目时的笔记,分享给大家 1. 相关概念 1.1 HANDLE 概念 HANDLE(句柄)是Windows操作系统中的一个概念. 在Wind ...
- C# Windows API
API:应用程序接口(API:Application Program Interface)应用程序接口(API:application programming interface)是一组定义.程序及协 ...
- Windows API 函数列表 附帮助手册
所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之 ...
- Windows API Hooking in Python
catalogue . 相关基础知识 . Deviare API Hook Overview . 使用ctypes调用Windows API . pydbg . winappdbg . dll inj ...
- 初识【Windows API】--文本去重
最近学习操作系统中,老师布置了一个作业,运用系统调用函数删除文件夹下两个重复文本类文件,Linux玩不动,于是就只能在Windows下进行了. 看了一下介绍Windows API的博客: 点击打开 基 ...
- C#调用windows API的一些方法
使用C#调用windows API(从其它地方总结来的,以备查询) C#调用windows API也可以叫做C#如何直接调用非托管代码,通常有2种方法: 1. 直接调用从 DLL 导出的函数. 2. ...
- Qt中使用Windows API
在Windows平台上进行开发,不可避免与Windows API打交道,Qt中使用的时候要添加对应API的头文件和链接lib文件,另外使用的Windows API的代码部分要使用#ifdef Q_O ...
- 在VBA中使用Windows API
VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个 ...
- FormatMessage与GetLastError配合使用,排查windows api调用过程中的错误
前一段时间在学习windows api调用过程中,遇到过一些调用错误或者程序没能显示预期的结果,或者直接出现vc运行时错误. 这对新手来说是司空见惯的事,因为不太熟悉难免会出错,出错的信息如果能显示很 ...
随机推荐
- ThinkPHP框架基础
ThinkPHP 一.php框架基础介绍 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维 ...
- Tomcat7调优及JVM性能优化for Linux环境
标签: tomcat7 jvm 性能 分享到: 出处:http://www.iteye.com 该优化针对Linux X86_X64环境 1. Tomcat优化其实就是对server.xml优化(开户 ...
- poll机制分析[转]
所有的系统调用,基于都可以在它的名字前加上"sys_"前缀,这就是它在内核中对应的函数.比如系统调用open.read.write.poll,与之对应的内核函数为:sys_open ...
- Tiled2Unity
官方:http://www.seanba.com/tiled2unity 文档:http://www.seanba.com/introtiled2unity.html 1.导入Tiled2Unity. ...
- 学习笔记——迭代器模式Iterator
迭代器模式,使用很多,但是很少实现.常用的集合都支持迭代器. 集合中的CreateIterator()可用于创建自己的迭代器,在里面通过调用迭代器的构造函数Iterator(Aggregate)来绑定 ...
- 错误记录-spring+mybatis
1.Syntax error on token "String", @ expected 解决:去掉类名后的括号 ps:这错误太二了 2.The nested type UserS ...
- 用Py2exe打包Python脚本简单介绍
一.简述 Py2exe,从这个名字上就可以理解,把Python脚本转换为windows平台上面可以运行的可执行程序(*.exe)的工具.经过转换后,你可以不 用安装Python的执行环境就可 ...
- VBS中解决路径带空格的三种方法
vbs中,如果需要运行的程序中带有空格,按照通常的方式往往会提示错误,其实有两种形式不同的解决方法: 在应用程序前后分别加三个双引号,代码如下: Set wshell=CreateObject(&qu ...
- VC MFC工具栏(CToolBar)控件
一.工具栏 工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创 ...
- ASP.NET 修改密码代码
using System; using System.Data; using System.Configuration; using System.Collections; using System. ...