cupagent.h

来自「一个网络监视的程序」· C头文件 代码 · 共 100 行

H
100
字号
// CupAgent.h: interface for the CupAgent class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CUPAGENT_H__544A54F7_6DB6_4A32_B5E0_0A021122397B__INCLUDED_)
#define AFX_CUPAGENT_H__544A54F7_6DB6_4A32_B5E0_0A021122397B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define SystemBasicInformation       0
#define SystemPerformanceInformation 2
#define SystemTimeInformation        3

#define Li2Double(x) ((double)((x).HighPart) * 4.294967296E9 + (double)((x).LowPart))


typedef LONG (WINAPI *PROCNTQSI)(UINT,PVOID,ULONG,PULONG);



class CupAgent  
{
public:
	CupAgent();
	bool StartAgent();
	StopAgent();
    double	getUsage();
	virtual ~CupAgent();
private:
	struct SYSTEM_BASIC_INFORMATION
	{
		DWORD   dwUnknown1;
		ULONG   uKeMaximumIncrement;
		ULONG   uPageSize;
		ULONG   uMmNumberOfPhysicalPages;
		ULONG   uMmLowestPhysicalPage;
		ULONG   uMmHighestPhysicalPage;
		ULONG   uAllocationGranularity;
		PVOID   pLowestUserAddress;
		PVOID   pMmHighestUserAddress;
		ULONG   uKeActiveProcessors;
		BYTE    bKeNumberProcessors;
		BYTE    bUnknown2;
		WORD    wUnknown3;
	}SysBaseInfo ;
	
	struct SYSTEM_PERFORMANCE_INFORMATION
	{
		LARGE_INTEGER   liIdleTime;
		DWORD           dwSpare[76];
	} SysPerfInfo;
	
	 struct SYSTEM_TIME_INFORMATION
	{
		LARGE_INTEGER liKeBootTime;
		LARGE_INTEGER liKeSystemTime;
		LARGE_INTEGER liExpTimeZoneBias;
		ULONG         uCurrentTimeZoneId;
		DWORD         dwReserved;
	} SysTimeInfo;
	
	int SleepTime;
	BOOL State;
	PROCNTQSI NtQuerySystemInformation;
	LARGE_INTEGER               liOldIdleTime ;
    LARGE_INTEGER               liOldSystemTime ;
//	SYSTEM_PERFORMANCE_INFORMATION SysPerfInfo;
//    SYSTEM_TIME_INFORMATION        SysTimeInfo;
  //  SYSTEM_BASIC_INFORMATION       SysBaseInfo;
    double                         dbIdleTime;
    double                         dbSystemTime;
    LONG                           status;

};

#endif // !defined(AFX_CUPAGENT_H__544A54F7_6DB6_4A32_B5E0_0A021122397B__INCLUDED_)





















⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?