扫描系统的所有进程

 #include <stdio.h>
#include <windows.h>
#include <tlhelp32.h> int scan()
{
HANDLE hprocessShap = NULL;
PROCESSENTRY32 pe32 = {};
hprocessShap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, ); if(hprocessShap == INVALID_HANDLE_VALUE)
{
printf("\nCreateToolhelp32Snapshot() failed:%d", GetLastError());
return ;
} pe32.dwSize = sizeof(PROCESSENTRY32); if(Process32First(hprocessShap, &pe32))
{
do
{
wprintf(pe32.szExeFile);
printf("\n");
}
while (Process32Next(hprocessShap, &pe32));
}
else
{
printf("\nProcess32First() failed:%d", GetLastError());
}
CloseHandle(hprocessShap);
return ;
} int main(int argc, char *argv)
{
scan();
return ;
}

获取某进程的PID

有时候在对系统某个进程进行操作时,我们需要获取程序的PID作为参数。其中一个方法当然是在任务管理器的详细信息里寻找,另外一个方法就是通过代码获取到进程的PID直接利用

 int getpid(wchar_t *name)
{
HANDLE hprocessShap = NULL;
//存放快照进程信息的结构体
PROCESSENTRY32 pe32 = {};
//对系统的进程建立一个快照进行扫描
hprocessShap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, );
if(hprocessShap == INVALID_HANDLE_VALUE)
{
printf("\nCreateToolhelp32Snapshot() failed:%d", GetLastError());
return ;
}
//设置结构体的大小
pe32.dwSize = sizeof(PROCESSENTRY32);
//Process32First获得第一个进程的句柄
if(Process32First(hprocessShap, &pe32))
{
//匹配输入的进程名
do
{
if(!wcscmp(name, pe32.szExeFile))
{
return (int)pe32.th32ProcessID;
}
}
while (Process32Next(hprocessShap, &pe32));
}
else
{
printf("\nProcess32First() failed:%d", GetLastError());
}
CloseHandle(hprocessShap);
return ;
}

扫描系统进程和获取某进程的PID的更多相关文章

  1. 获取当前进程的pid

    获取当前进程的pid import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; ...

  2. 在Shell脚本中获取指定进程的PID

    注意这条命令用反引号(Tab上面的那个键)括起来,作用类似于${ } processId = ` ps -ef | grep fms.jar | grep -v grep | awk '{print ...

  3. nodejs的process模块如何获取其他进程的pid

    var cmd=process.platform=='win32'?'tasklist':'ps aux'; var exec = require('child_process').exec; var ...

  4. Linux中的程序和进程,PID和PPID

    环境:Vmware Workstation:CentOS-6.4-x86_64 程序和进程: 1.程序:程序是静止的,程序就是磁盘上的一个文件. 2.进程:进程是一个正在执行的程序的实例. 3.进程是 ...

  5. python 使用标准库根据进程名获取进程的pid

    有时候需要获取进程的pid,但又无法使用第三方库的时候. 方法适用linux平台. 方法1 使用subprocess 的check_output函数执行pidof命令 from subprocess ...

  6. 【linux】linux下准确查询正在tomcat下运行的java进程。准确获取正在运行的java进程的PID

    准确获取定位到tomcat下正在运行的java进程的PID命令: ps -ef|grep java | grep catalina | awk '{print $2}' 准确定位到tomcat下正在运 ...

  7. linux获取精准进程PID之pgrep命令

    pgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行.在服务器的配置和管理中,这个工具常被应用,简单明了. 用法: #pgrep [选项] [程序名] pgrep [-flvx ...

  8. linux -- 进程的查看、进程id的获取、进程的杀死

    进程查看 ps ax : 显示当前系统进程的列表 ps aux : 显示当前系统进程详细列表以及进程用户 ps ax|less : 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps a ...

  9. windows下使用C#获取特定进程网络流量

    最近老板接了一个中船重工的项目,需要做一个有关海军软件系统的组件评估项目,项目中有一个子项目需要获取特定进程的各种系统参数,项目使用.NET平台.在获取特定进程各种系统参数时,其它诸如进程ID,进程名 ...

随机推荐

  1. 搭建memcached使用:/usr/bin/phpize 安装memcached扩展的时候报错

    Can't find PHP headers in /usr/include/phpThe php-devel package is required for use of this command ...

  2. CentOS7 yum 安装与配置MySQL5.7

    安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:https://dev.mysql.com/downloads/rep ...

  3. py3下怎么用StringIO

    try: from StringIO import StringIO except ImportError: from io import StringIO

  4. iOS如何在应用中添加图标更换功能

    一.在info.plist中设置图标信息 首先将需要更换的图标按照下面的方式声明,以便我们能够正常调用文件和方法.注意,每个图标的图标名称和对应的文件名要一一对应. 二.在工程根目录下添加图标文件 图 ...

  5. 读取PBOC电子现金指令流

    该指令流仅适用于T=0协议卡片.   终端对IC卡的响应: 60 须要额外的工作等待时间,说明IC卡端数据还未处理好. 61 发送GET RESPONSE命令取应答数据 6C 加上取字节数,命令重发 ...

  6. dos命令大全 黑客必知的DOS命令集合

    dos命令大全 黑客必知的DOS命令集合 一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进 ...

  7. Vue $emit()不触发方法的原因

    vue使用$emit时,父组件无法触发监听事件的原因是: $emit传入的事件名称只能使用小写,不能使用大写的驼峰规则命名

  8. int转换char的正确姿势

    一:背景 在一个项目中,我需要修改一个全部由数字(0~9)组成的字符串的特定位置的特定数字,我采用的方式是先将字符串转换成字符数组,然后利用数组的位置来修改对应位置的值.代码开发完成之后,发现有乱码出 ...

  9. docker 命令集

    1.提交本地镜像到远程cd to dockerfile directorysudo docker build -t orange5 ./sudo docker psdocker tag 1adec2c ...

  10. Atitit 华为管理者内训书系 以奋斗者为本 华为公司人力资源管理纲要 attilax读后感

    Atitit  华为管理者内训书系 以奋斗者为本 华为公司人力资源管理纲要 attilax读后感 序 言上篇:价值创造.评价与分配第一章 全力创造价值1.1 围绕价值创造展开人力资源管理1.1.1 什 ...