#include "windows.h"
#include "tlhelp32.h"
#include "iostream"
using namespace std; #pragma comment(lib,"kernel32.lib") DWORD GetKernelModePercentage(const FILETIME& ftKernel,
const FILETIME& ftUser
){
ULONGLONG qwKernel=(((ULONGLONG)ftKernel.dwHighDateTime)<<)+ftKernel.dwLowDateTime;
ULONGLONG qwUser=(((ULONGLONG)ftUser.dwHighDateTime)<<)+ftUser.dwLowDateTime;
ULONGLONG qwTotal=qwKernel+qwUser;
DWORD dwPct=(DWORD)(((ULONGLONG)*qwKernel)/qwTotal);
return (dwPct); } void main(){
HANDLE hSnapshot=CreateToolhelp32Snapshot(
TH32CS_SNAPPROCESS, ); PROCESSENTRY32 pe; ZeroMemory(&pe,sizeof(pe));
pe.dwSize=sizeof(pe); BOOL bMore=Process32First(hSnapshot,&pe); while(bMore){
HANDLE hProcess=OpenProcess(
PROCESS_QUERY_INFORMATION,
FALSE,
pe.th32ProcessID
); if(hProcess!=NULL){
FILETIME ftCreation,ftKernelMode,ftUserMode,ftExit;
GetProcessTimes(
hProcess,
&ftCreation,
&ftExit,
&ftKernelMode,
&ftUserMode ); DWORD dwPctKernel=GetKernelModePercentage(
ftKernelMode,
ftUserMode
); cout<<"process ID:"<<pe.th32ProcessID
<<",EXE file:"<<pe.szExeFile
<<",% in Kernel mode:"<<dwPctKernel<<endl; CloseHandle(hProcess);
}
bMore=Process32Next(hSnapshot,&pe);
} getchar();
}

windows系统调用 进程快照的更多相关文章

  1. windows系统调用 进程终止

    #include "windows.h" #include "iostream" #include "stdio.h" using name ...

  2. Win32进程创建、进程快照、进程终止用例

    进程创建: 1 #include <windows.h> #include <stdio.h> int main() { // 创建打开系统自带记事本进程 STARTUPINF ...

  3. windows 下进程与线程的遍历

    原文:http://www.cnblogs.com/Apersia/p/6579376.html 在Windows下进程与线程的遍历有好几种方法. 进程与线程的遍历可以使用<TlHelp.h&g ...

  4. 关于Windows创建进程的过程

    之前有听到别人的面试题是问系统创建进程的具体过程是什么,首先想到的是CreateProcess,但是对于具体过程却不是很清楚,今天整理一下. 从操作系统的角度来说 创建进程步骤:        1.申 ...

  5. Windows系统调用中API从3环到0环(下)

     Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中API从3环到0环(下) 如果对API在 ...

  6. Windows API 进程相关笔记

    0. 前言 最近做了一个进程信息相关的项目,整理了一下自己做项目时的笔记,分享给大家 1. 相关概念 1.1 HANDLE 概念 HANDLE(句柄)是Windows操作系统中的一个概念. 在Wind ...

  7. Linux进程快照相关知识

    查寻内核版本 uname  -a    //  uname  -r 进程快照 ps       report a snapshot of the current processes USER     ...

  8. Windows守护进程简单示例

    转载: https://blog.csdn.net/kikaylee/article/details/51395360 /* @描述:一个简单的Windows守护进程的例子(C++版本) @作者:ki ...

  9. windows 检测进程pid

    根据端口查进程: netstat -ano |find " netstat -ano | findstr 2018 a 显示所有连接和侦听的端口n 以数字形式显示地址和端口号o 显示关联的进 ...

随机推荐

  1. js判断ie版本号

     jQuery 2.0 去除了对浏览器版本号的判断(它推荐特性检测),这里是一个老外写的原生判断方法,这段代码着实巧妙!既简介.有向后兼容!一般做法都是:正则搜索 USER_AGENT :但因为历史原 ...

  2. Selenium2学习-016-WebUI自动化实战实例-014-Selenium 窗口选择

    在日常的 WebUI 自动化测试脚本编写过程中,经常需要打开新的页面,或者在多个打开的页面之间进行切换,以对页面元素进行相应的操作,以模拟用户的行为,实现 UI 的自动化测试.在过往的时间中,经常有初 ...

  3. mysql中varchar(50)最多能存多少个汉字

    首先要确定mysql版本4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节) 5.0版本以上,varchar(50),指的是50字符,无论存放 ...

  4. stretchableImageWithLeftCapWidth 的使用方法

    - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight: (NSInteger)topCa ...

  5. day06-java-(方法,猜字符小游戏)

    day05-java-(方法,猜字符小游戏) 1.方法:  1)用于封装一段特定的逻辑功能  2)方法应尽可能的独立,只干一件事  3)方法可以被反复的调用多次  4)避免代码重复,有利于代码的维护, ...

  6. JQuery:JQuery遍历详解

    JQuery:遍历一.什么是遍历?jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素.以某项选择开始,并沿着这个 ...

  7. openni2 和opencv读取数据

    http://blog.csdn.net/aptx704610875/article/details/49585241

  8. ELK-Python(一)

    不具有通用性,留作纪念. [root@GXB-CTRLCENTER python]# cat insert_active_user.py #!/usr/bin/env python # -*- cod ...

  9. .net泛型理解

    泛型简介: 泛型(Generic Type)是.NET Framework2.0最强大的功能之一.泛型的主要思想是将算法与数据结构完全分离开,使得一次定义的算法能作用于多种数据结构,从而实现高度可重用 ...

  10. pymongo使用总结

    0. 何为pymongo pymongo是操作MongoDB的python模块 1.安装pymongo # easy_install pymongo 2.连接mongodb >>> ...