windows系统调用 进程快照
#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系统调用 进程快照的更多相关文章
- windows系统调用 进程终止
#include "windows.h" #include "iostream" #include "stdio.h" using name ...
- Win32进程创建、进程快照、进程终止用例
进程创建: 1 #include <windows.h> #include <stdio.h> int main() { // 创建打开系统自带记事本进程 STARTUPINF ...
- windows 下进程与线程的遍历
原文:http://www.cnblogs.com/Apersia/p/6579376.html 在Windows下进程与线程的遍历有好几种方法. 进程与线程的遍历可以使用<TlHelp.h&g ...
- 关于Windows创建进程的过程
之前有听到别人的面试题是问系统创建进程的具体过程是什么,首先想到的是CreateProcess,但是对于具体过程却不是很清楚,今天整理一下. 从操作系统的角度来说 创建进程步骤: 1.申 ...
- Windows系统调用中API从3环到0环(下)
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中API从3环到0环(下) 如果对API在 ...
- Windows API 进程相关笔记
0. 前言 最近做了一个进程信息相关的项目,整理了一下自己做项目时的笔记,分享给大家 1. 相关概念 1.1 HANDLE 概念 HANDLE(句柄)是Windows操作系统中的一个概念. 在Wind ...
- Linux进程快照相关知识
查寻内核版本 uname -a // uname -r 进程快照 ps report a snapshot of the current processes USER ...
- Windows守护进程简单示例
转载: https://blog.csdn.net/kikaylee/article/details/51395360 /* @描述:一个简单的Windows守护进程的例子(C++版本) @作者:ki ...
- windows 检测进程pid
根据端口查进程: netstat -ano |find " netstat -ano | findstr 2018 a 显示所有连接和侦听的端口n 以数字形式显示地址和端口号o 显示关联的进 ...
随机推荐
- (转)CAS (4) —— CAS浏览器SSO访问顺序图详解(CAS Web Flow Diagram by Example)
CAS (4) —— CAS浏览器SSO访问顺序图详解(CAS Web Flow Diagram by Example) tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0 ...
- Difference Search Path
1.Framework Search Path where to search frameworks (.framework bundles) in addition to sys ...
- v2.0
#include <stdio.h>#include <string.h>#include <ctype.h>typedef struct node{ char l ...
- I方法 thinkphp
function I($name,$default=null,$filter=null,$datas=null) { static $_PUT = null; $default_filter='htm ...
- centos常用命令
应用程序->附件->终端 一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name" grep " ...
- Qt调用Server SQL中的存储过程
Server SQL中的存储过程如下: CREATE procedure PINSERTPC @pcnum int, @pcname varchar(50), @pctype int, @ipaddr ...
- ASIHTTPRequest实现https双向认证请求
什么是双向认证呢?简而言之,就是服务器端对请求它的客户端要进行身份验证,客户端对自己所请求的服务器也会做身份验证.服务端一旦验证到请求自己的客户端为不可信任的,服务端就拒绝继续通信.客户端如果发现服务 ...
- JavaScript:下拉列表框的事件处理
下拉列表框处理操作主要使用的是一个onchang的事件,此事件描述的是内容改变后行为. 范例:观察下拉列表框的事件处理 代码: <!doctype html> <html lang ...
- RANSAC随机一致性采样算法学习体会
The RANSAC algorithm is a learning technique to estimate parameters of a model by random sampling of ...
- D3D标注动态避让
原来也思考了该如何实现标注动态避让,认为必须得计算字符串所占的大小.如果在屏幕上要计算屏幕象素之类的东西. 今天总算找到了实现方法,在C# WorldWind中的KMLImporter类中有.关键是F ...