扫描系统的所有进程

  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <tlhelp32.h>
  4.  
  5. int scan()
  6. {
  7. HANDLE hprocessShap = NULL;
  8. PROCESSENTRY32 pe32 = {};
  9. hprocessShap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, );
  10.  
  11. if(hprocessShap == INVALID_HANDLE_VALUE)
  12. {
  13. printf("\nCreateToolhelp32Snapshot() failed:%d", GetLastError());
  14. return ;
  15. }
  16.  
  17. pe32.dwSize = sizeof(PROCESSENTRY32);
  18.  
  19. if(Process32First(hprocessShap, &pe32))
  20. {
  21. do
  22. {
  23. wprintf(pe32.szExeFile);
  24. printf("\n");
  25. }
  26. while (Process32Next(hprocessShap, &pe32));
  27. }
  28. else
  29. {
  30. printf("\nProcess32First() failed:%d", GetLastError());
  31. }
  32. CloseHandle(hprocessShap);
  33. return ;
  34. }
  35.  
  36. int main(int argc, char *argv)
  37. {
  38. scan();
  39. return ;
  40. }

获取某进程的PID

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

  1. int getpid(wchar_t *name)
  2. {
  3. HANDLE hprocessShap = NULL;
  4. //存放快照进程信息的结构体
  5. PROCESSENTRY32 pe32 = {};
  6. //对系统的进程建立一个快照进行扫描
  7. hprocessShap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, );
  8. if(hprocessShap == INVALID_HANDLE_VALUE)
  9. {
  10. printf("\nCreateToolhelp32Snapshot() failed:%d", GetLastError());
  11. return ;
  12. }
  13. //设置结构体的大小
  14. pe32.dwSize = sizeof(PROCESSENTRY32);
  15. //Process32First获得第一个进程的句柄
  16. if(Process32First(hprocessShap, &pe32))
  17. {
  18. //匹配输入的进程名
  19. do
  20. {
  21. if(!wcscmp(name, pe32.szExeFile))
  22. {
  23. return (int)pe32.th32ProcessID;
  24. }
  25. }
  26. while (Process32Next(hprocessShap, &pe32));
  27. }
  28. else
  29. {
  30. printf("\nProcess32First() failed:%d", GetLastError());
  31. }
  32. CloseHandle(hprocessShap);
  33. return ;
  34. }

扫描系统进程和获取某进程的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. Wordpress显示文章摘要

    放在文章的循环里: <?php if (!empty($post->post_excerpt) ) { //如果文章有摘要则输出摘要 the_excerpt(); } ?>

  2. 怎样让两个DIV在同一水平线上面显示

    css定义第二个div. float:right或者left. margin-top:0px 确保第二个DIV的宽度.如果宽度宽的话,会自动到下方的.

  3. 9 月份 GitHub 上最火的 JavaScript 开源项目!

    推荐 GitHub 上9 月份最受欢迎的 10 个 JavaScript 开源项目,在这些项目中,你有在用或用过哪些呢? 1.基于 Promise 的 HTTP 客户端 Axios https://g ...

  4. protobuf 动态创建

    https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html https://originlee.com/2015/03/14/ana ...

  5. Mac NPM 配置

    1.NPM 简介 NPM(node package manager),通常称为 node 包管理器,是目前世界上最大的开源库生态系统.使用 NPM 可以对 node 包进行安装.卸载.更新.查看.搜索 ...

  6. 华为S12700 NQA配置

    首先,nqa功能是需要授权的. 以下以ICMP配置方式示例: 在配置ICMP测试之前,需要NQA客户端与被测试设备间路由可达.(ICMP测试提供类似于普通ping命令的功能,但输出信息更为丰富.) 请 ...

  7. SecureCRT自动上传文件python脚本

    本人在ubuntu下使用SecureCRT,上传文件习惯用rz命令.每次上传都弹对话框选择文件按确定后才上传,感觉很费力.最后自己摸索整理出一个脚本. 使用方法是,在[Script]菜单点[Run.. ...

  8. (原)关于udp的socket发送数据耗时的问题探讨

    转载请注明出处:http://www.cnblogs.com/lihaiping/p/6811791.html 本学习笔记,仅用于问题探讨,如有不同,可以讨论. 最近在看流媒体分发服务器的相关代码,其 ...

  9. centos7下使用docker安装nginx

    需要环境docker,此处不做介绍. 1. docker拉取官方nginx镜像 docker pull nginx 2. 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 ng ...

  10. java,php,js;AES 互通加解密

      1,Java端(依赖 common-codec jar) package com.jiaMi; import javax.crypto.Cipher; import javax.crypto.sp ...