DWORD GetProcessID(const char *ProcessName)
{
PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); //获取进程快照
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot 调用失败.\n");
return -1;
} //遍历进程快照,轮流显示每个进程的信息
BOOL bMore = ::Process32First(hProcessSnap, &pe32);
while (bMore)
{
printf("进程名称:%ls\n", pe32.szExeFile); //这里得到的应该是宽字符,用%ls,不然无法正常打印
printf("进程ID:%u\n\n", pe32.th32ProcessID);
if (lstrcmp(pe32.szExeFile, ProcessName) == 0)
{
break;
} bMore = ::Process32Next(hProcessSnap, &pe32);
} //不要忘记清除掉snapshot对象
::CloseHandle(hProcessSnap); return pe32.th32ProcessID;
} int main()
{
DWORD ID;
const char *name = "sscom32.exe"; ID = GetProcessID(name); printf("GetProcessId %s %u\n", name, ID); while (1); return 0;
}

需要配置



或者

DWORD GetProcessID(LPCWSTR ProcessName)
{
PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); //获取进程快照
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot 调用失败.\n");
return -1;
} //遍历进程快照,轮流显示每个进程的信息
BOOL bMore = ::Process32First(hProcessSnap, &pe32);
while (bMore)
{
//printf("进程名称:%ls\n", pe32.szExeFile); //这里得到的应该是宽字符,用%ls,不然无法正常打印
//printf("进程ID:%u\n\n", pe32.th32ProcessID);
if (lstrcmp(pe32.szExeFile, ProcessName) == 0)
{
break;
} bMore = ::Process32Next(hProcessSnap, &pe32);
} //不要忘记清除掉snapshot对象
::CloseHandle(hProcessSnap); return pe32.th32ProcessID;
} int main()
{
DWORD ID;
LPCWSTR name = _T("sscom32.exe"); ID = GetProcessID(name); printf("GetProcessId %ls %u\n", name, ID); while (1); return 0;
}

Windows 获取进程ID的更多相关文章

  1. 如何通过进程名获取进程ID

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何通过进程名获取进程ID.

  2. python获取进程id号:

    python获取进程id号: os.getpid()获取当前进程id os.getppid()获取父进程id

  3. C++ Windows 下 根据进程名获取进程ID 以及该进程下所有窗口的句柄

    #include <windows.h> #include <stdint.h> #include <tlhelp32.h> #include <stdio. ...

  4. Windows获取进程完整路径

    #include <stdio.h> #include <locale.h> #include <windows.h> #include <tlhelp32. ...

  5. 获取进程ID,父进程ID,进程完整路径

    准备写一个进程管理的功能模块,今天下午先写了扫描获取本机各个进程路径,获取各个进程映像名称,进程完整路径. 要获取进程信息,第一步想到的就是提权,提权代码用过多次了,今天也小结了一下(http://w ...

  6. 如何在脚本中获取进程ID(PID)

    我想要知道运行中脚本子shell的进程id.我该如何在shell脚本中得到PID. 当我在执行shell脚本时,它会启动一个叫子shell的进程.作为主shell的子进程,子shell将shell脚本 ...

  7. linux下shell编程示例-获取进程id

    今天初步学习了一下linux下的shell编程,简单记录一下测试用例 1.编辑shell脚本文件如下: #!/bin/bashecho "hello bash linux"echo ...

  8. shell脚本获取进程ID并杀死的实现及问题解析

    经常需要杀死某个进程,操作了几次之后,对一个熟练的码农来说,就要制作自己的工具了.有些工具虽然很小,但是却能节省一大部分的时间. 输入某个进程的ID并杀死的方法.这种事情,一般是先搜索再进行优化,这种 ...

  9. 根据关键词获取进程ID然后杀掉进程

    例如需要杀掉监听进程,如下: [oracle@kel ~]$ ps -ef|grep lsnr oracle 4973 1 1 19:40 ? 00:00:00 /home/oracle/produc ...

随机推荐

  1. XSS-DOM

    DOM型XSS是基于DOM文档对象模型的一种漏洞 通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问.所有 HTML 元素(节点)均可被修改,也可以创建或删除节点.(引用W ...

  2. C++随机马赛克图程序

    效果: 或者灰度,cell大小可调 代码: #include <opencv2\opencv.hpp> #include <Windows.h> struct paramete ...

  3. python27期day14:有参装饰器、多个装饰器装饰一个函数、递归、作业题

    1.有参装饰器:给装饰器添加一个参数.来控制装饰器的行为. @auth(参数) auth里层的函数名 = auth(参数) 被装饰的函数名 = auth里层的函数名(被装饰的函数名) 被装饰的函数名( ...

  4. Salesforce 自定义元数据类型

    自定义元数据类型的优点 Salesforce中的设定都是以元数据(Metadata)存在的.在Salesforce中,用户可以新建自定义对象.自定义字段等,这些数据结构都以元数据的形式存储在系统中.当 ...

  5. JAVA基础概念(三)

    JAVA方法入参和返回类型 方法入参 基础数据类型 引用数据类型 修饰符 返回类型 方法名(参数类型 参数名,参数类型 参数名...){//方法体return} 方法返回类型 return xxx 具 ...

  6. Linux学习笔记-第2天- 新的开始

    迟到且稀疏的笔记,希望自己今年会有所突破.加油

  7. 初赛Part2

    初赛 时间复杂度 主定理(必考) \[ T(n) = aT(\frac{n}{b})+f(n) \] 其中,\(n\)为问题的规模,\(a\)为递推下子问题的数量,\(\frac{n}{b}\)为每个 ...

  8. [LeetCode] 103. Binary Tree Zigzag Level Order Traversal 二叉树的之字形层序遍历

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  9. mac sudo免密码

    1.先切换到root用户sudo -i2.修改/etc/sudoers文件设置用户为免密码:%admin ALL = (ALL) NOPASSWD: NOPASSWD: ALL 参考:https:// ...

  10. Cipolla算法学习笔记

    学习了一下1个$\log$的二次剩余.然后来水一篇博客. 当$p$为奇素数的时候,并且$(n, p) \equiv 1 \pmod{p}$,用Cipolla算法求出$x^2 \equiv n \pmo ...