C语言实现windows进程遍历

#include <windows.h>
#include <tlhelp32.h>    //进程快照函数头文件
#include <stdio.h>

int main()
{
    int countProcess=0;                                    //当前进程数量计数变量
    PROCESSENTRY32 currentProcess;                        //存放快照进程信息的一个结构体
    currentProcess.dwSize = sizeof(currentProcess);        //在使用这个结构之前,先设置它的大小
    HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照

    if (hProcess == INVALID_HANDLE_VALUE)
    {
        printf("CreateToolhelp32Snapshot()调用失败!\n");
        return -1;
    }

    bool bMore=Process32First(hProcess,¤tProcess);    //获取第一个进程信息
    while(bMore)
    {
        printf("PID=%5u    PName= %s\n",currentProcess.th32ProcessID,currentProcess.szExeFile);    //遍历进程快照,轮流显示每个进程信息
        bMore=Process32Next(hProcess,¤tProcess);    //遍历下一个
        countProcess++;
    }

    CloseHandle(hProcess);    //清除hProcess句柄
    printf("共有以上%d个进程在运行\n",countProcess);
    system("pause");
    return 0;
}

原文地址:https://www.cnblogs.com/LyShark/p/9158601.html

时间: 2024-10-10 09:02:54

C语言实现windows进程遍历的相关文章

Windows编程 - 遍历所有进程(exe) 代码(C++)

遍历所有进程(exe) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29381987 遍历所有进程, 即任务管理器中所有的进程目录, 包含名称和进程ID. 返回字典: Key: 进程名字, Value: 进程ID. 代码: /* * main.cpp * * Created on: 2014.06.08 * Author: Spike */ /*vs 2012*/ #include <iostream> #

014 进程遍历

进程遍历  ● 枚举 ○ Windows API ○ 数据库 -> 注册表来访问 -> RegQuery函数来获取 ○ ToolHelp库 ○ 兼容性比较好 ○ WIndows 95 就存在 ○ Process Startus库 EnumProcess 函数 PSAPI.DLL ● Tool Help Reference ○ Tool Help Structures ○ 结构体 ○ HEAPENTRY32 1 typedef struct tagHEAPENTRY32 { 2 SIZE_T d

Windows编程 - 遍历程序使用的动态链接库(dll) 代码(C++)

遍历程序使用的动态链接库(dll) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 遍历程序使用的动态链接库(dll), 首先需要遍历所有进程, 匹配进程名称与进程ID, 然后根据进程名称, 输出所有使用的库(dll). 示例中Image.exe是预先启动的程序. 代码包含遍历进程的代码, 和输出动态链接库(dll)的代码. 代码: /* * main.cpp * * Created on: 2014.06.08 * Author: Spike

Go语言开发Windows应用

Go语言开发Windows应用 当第一次看到Go程序在windows平台生成可执行的exe文件,就宣告了windows应用也一定是Go语言的战场.Go不是脚本语言,但却有着脚本语言的轻便简单的特性.相较于php和python之类以服务器控制台为主要战场的脚本语言来说,Go语言是真正的圆了“动态语言的应用开发梦”. Windows Api Windows桌面应用依赖于win api,画出各种应用界面和控件本质上就是调用windows提供的api.Go开发Windows App要做的第一件事情就是封

走进windows编程的世界-----windows进程

Windows进程  1 Windows进程    进程是一个容器,包含了一个应用程序实例的各种资源.Windows多任务的操作系统,因此可以同时执行多个进程.      2 Windows进程的一些特点    2.1 进程中包含了执行代码等资源.    2.2 进程都具有私有的地址空间.    2.3 每个进程都有一个ID,标识进程.    2.4 每个进程都有自己的安全属性    2.5 至少要包含一个可以执行的线程.    二 进程的环境 1 环境信息的获取    获取:    LPVOI

windows进程函数试炼

实践一下windows进程相关函数: 代码如下: 1 // test__getinformation.cpp : 定义控制台应用程序的入口点. 2 // 3 4 #include "stdafx.h" 5 #include <windows.h> 6 #include <TlHelp32.h> 7 8 #ifndef CONST 9 #define CONST const 10 #endif 11 12 #ifndef IN 13 #define IN 14 #

Linux内核编程:Linux2.6内核源码解析_进程遍历 &nbsp; &nbsp; &nbsp; &nbsp;

/*     *File    : test.c   *Author  : DavidLin        *Date    : 2014-12-07pm        *Email   : [email protected] or [email protected]        *world   : the city of SZ, in China        *Ver     : 000.000.001        *history :     editor      time    

C语言编写Windows服务程序

原文:C语言编写Windows服务程序 #include <Windows.h> #include <stdio.h> #define SLEEP_TIME 5000 // 间隔时间 #define LOGFILE "C:\\memstatus.txt" // 信息输出文件 SERVICE_STATUS ServiceStatus; // 服务状态 SERVICE_STATUS_HANDLE hStatus; // 服务状态句柄 void ServiceMain

使用C语言编写windows服务一般框架

原文:使用C语言编写windows服务一般框架 编写windows服务和编写windows应用程序一样,有一些回调函数必须填写且向windows 服务管理器(service manager)进行注册,否则会导致服务启动失败.因近期写个服务,其中遇到一些有问题,有部分内容想和大家分享一下,请大家指正. windows服务一般框架代码如下: #include <Windows.h> #include <tchar.h> VOID WINAPI ServiceHandler(DWORD