#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. Asp.net forms认证注意事项

    1.N台服务器配置文件的相关配置要一致 <authentication mode="Forms"> <forms timeout="3600" ...

  2. sqlserver 通过convert取得指定格式的时间

    http://msdn.microsoft.com/zh-cn/library/ms187928(v=sql.105).aspx CONVERT(NVARCHAR(10),Created,112) 不 ...

  3. Photoshop:通过图片理解通道原理

    电脑上的图像通过色光三原色RGB表现,不同颜色存储在不同的通道,所以RGB模式下有3条通道,CMYK模式有4条通道等等 打开一张照片,查看通道 可以看出,显示越白的地方,对应的原色越深. 默认phot ...

  4. appium关于定位元素

    Windows上定位元素我用的是uiautomatorviewer 这个工具在你的SDK-tools目录下,点击uiautomatorviewer.bat启动,注意appium在跑的时候是取不到的 工 ...

  5. Fiddler-008-简单模拟性能测试

    通过 Fiddler 可以简单的模拟性能测试的并发测试,此方法非常的简单,直接讲述如何使用,敬请参阅! 首先我们要获取需要并发的 HTTP请求,此操作非常简单,则在此不再赘述.获取到响应的 HTTP请 ...

  6. I.MX6 WIFI wireless_tools 移植

    /******************************************************************************** * I.MX6 WIFI wirel ...

  7. h5固定表头公共样式

    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scal ...

  8. php常用转义字符‘ “ {} $ \n

    php 单引号和双引号的区别: 双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符. <?php $a = 'abc'; echo "<br>&quo ...

  9. JavaScript:JavaScript语法的详细介绍

    JavaScript语法:只要Java会了,基本上javascript语法就会了. ——变量的定义 ——程序的结构控制 ——数组操作 ——函数的定义即使用 基本的test.html代码如下,它会导入下 ...

  10. linux 入门

    php            php -v ------------------ 阿帕奇 apachectl -v httpd -v ----------------------------- mys ...