Window获取所有运行的进程

通过遍历任务管理器,输出当前正在运行的进程ID和Name。

同时打印出遍历过程所消耗的时间。

/*
@Date:2014/6/8
@Author:Alex
*/

#include <iostream>
#include <string>
#include <map>
#include <windows.h>
#include <TlHelp32.h>
using namespace std;

bool traverseProcesses(map<std::wstring,int> &_mapProcess)
{
    PROCESSENTRY32 pe32;
    pe32.dwSize = sizeof(pe32);  

    HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if(hProcessSnap == INVALID_HANDLE_VALUE) {
        std::cout << "CreateToolhelp32Snapshot Error!" << std::endl;;
        return false;
    }  

    BOOL bResult =Process32First(hProcessSnap, &pe32);  

    int num(0);  

    while(bResult)
    {
		std::wstring name = pe32.szExeFile;
        int id = pe32.th32ProcessID;  

		std::cout << "[" << ++num << "]: "<< "--ProcessID:" << id;  

		std::wcout<<"--Process Name:" << name<<endl;

        _mapProcess.insert(std::pair<wstring, int>(name, id)); //字典存储
        bResult = Process32Next(hProcessSnap,&pe32);
    }  

    CloseHandle(hProcessSnap);
    return true;
}
int main(int argc, char*argv[])
{
	map<std::wstring,int> mapProcess;

	DWORD start = ::GetTickCount();
	traverseProcesses(mapProcess);

	DWORD end = ::GetTickCount();
	cout<<"waste time:"<<end-start<<endl;
	getchar();
	return 0;
}

Window获取所有运行的进程,布布扣,bubuko.com

时间: 2024-12-23 02:23:23

Window获取所有运行的进程的相关文章

72获取内存信息(运行的进程数,可用的总内存,剩余内存)&amp;&amp;获取可用的总内存的BUG的解决

获取内存信息(运行的进程数,可用的总内存,剩余内存)属于系统的工具方法了,开始的工具方法是这样的: package com.ustc.mobilemanager.utils; import java.util.List; import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import android.app.ActivityManager.RunningAppProcessInfo

android 查看当前正在运行的进程

转载至 https://github.com/wenmingvs/AndroidProcess 因为Android5.0以上的权限封锁,无法直接获取正在运行的进程,此文总共介绍6中方法获取, 详细介绍与用法可查看原文

linux c 获取当前运行进程总数

获取当前运行进程总数的命令为: ps auxw | wc -l 获取当前运行进程总数的源码如下: #include <stdio.h> #include <stdlib.h> #include <dirent.h> #include <string.h> #include <ctype.h> #include <errno.h> int main(int argc, char *argv[]) { DIR *dp; struct di

获取当前进程目录 GetCurrentDirectory() 及 获取当前运行模块路径名GetModuleFileName()

GetCurrentDirectory 获得的是当前进程的活动目录(资源管理器决定的),可以用SetCurrentDirectory 修改的. 转自 http://m.blog.csdn.net/blog/scuthanman/10094793 GetModuleFileName函数可以获取当前执行模块所在位置的绝对路径名,无论是哪里的进程对模块进行调用. 而GetCurrentDirectory获取的是当前进程所在的当前目录,跟执行模块所在的位置并没有关系,返回的是主进程所在目录. GetCu

Android获取正在运行的程序并kill掉它

获取正在运行的程序并把它加入到一个listview的adapter类面,方法如下: // 正在运行的 public List<Programe> getRunningProcess() { pi = new PackagesInfo(this); am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); // 获取正在运行的应用 run = am.getRunningAppProcesses(); // 获取包管理器,在这里主要通过包

Inno Setup 在安装程序开始前和卸载程序开始前,检查并关闭运行的进程

(2011-12-29 11:54:56) 转载▼ 标签: innosetup it 分类: 开发工具经验累积 Inno Setup在安装程序前,如果有使用的进程在运行,会有错误提示,而使得Installer无法写入. 同样,在卸载程序前,如果有使用的进程仍在运行,会有错误提示,之后卸载不干净,需要手动清除. 所以,只要在安装程序前或者卸载程序前,检查并关闭掉用到的正在运行的进程,就没有问题啦. [code] // 安装前检查关闭**进程 procedure CurStepChanged(Cur

android 查看手机运行的进程列表

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation

Android获取后台运行服务Get Running Service

完整的代码可以在我的GitHub上看到,链接在文末.效果图: Main: package com.zms.getrunningservice; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import android.app.Activity; import android.app.ActivityManager; imp

WPF获取应用程序路径方法,获取程序运行路径方法

试了好多种方法,在WPF中获取工程的路径都没能解决掉,暂时用的绝对路径"D://WPF.....",但是发布的时候出现问题了,放到别的电脑上找不到路径,又开始了地毯式搜索,终于解决了,跟遇到此类问题的朋友分享下解决办法,如下: AppDomain.CurrentDomain.BaseDirectory +文件名即可,简单吧? //获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称. string str5=Application.StartupPath; //可获得当前执行的