91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

遇到需求寫的代碼,沒那么正規(guī),但也請你尊重作者 C/C++實現(xiàn)linux和Windows查看系統(tǒng)、進(jìn)程、服務(wù)的內(nèi)存和CPU使用情況的源代碼,生成的是靜態(tài)鏈接庫,Windows和Linux下經(jīng)測試都可用,查看系統(tǒng)、指定名稱的服務(wù)、指定名稱的進(jìn)程占用CPU和內(nèi)存,查看方式不是通過程序中運行命令行的方式,而是采用系統(tǒng)提供的接口去查看內(nèi)核狀態(tài) 在開發(fā)中遇到需要查看這些信息的朋友可以去使用 如有疑問或好的建議請發(fā)送郵件至lion_liu_0301@163.com

資源截圖

代碼片段和文件信息

#include?“CheckProcessCpu.h“
#include?
#include?

#ifdef?WIN32
#include?
#include?
#include?

#define?MY_PROCESS_ERROR(Condition)?do{?if?(!(Condition))??goto?Exit0;?}?while?(false)

static?DWORD?g_sdwTickCountOld?=?0;?????????????//?????ε?tick????
static?LARGE_INTEGER?g_slgProcessTimeOld;???????//?????????????ε???????
static?DWORD?g_sdwProcessorCoreNum?=?0;?????????//?????????????
static?HANDLE?g_shExitEvent?=?NULL;?????????????//???????????

int?GetProcessCpuPercent(const?HANDLE?hProcess?const?DWORD?dwElepsedTime)
{
int?nProcCpuPercent?=?0;
BOOL?bRetCode?=?FALSE;

FILETIME?CreateTime?ExitTime?KernelTimeUserTime;
LARGE_INTEGER?lgKernelTime;
LARGE_INTEGER?lgUserTime;
LARGE_INTEGER?lgCurTime;

bRetCode?=?GetProcessTimes(hProcess?&CreateTime?&ExitTime?&KernelTime?&UserTime);
if?(bRetCode)
{
lgKernelTime.HighPart?=?KernelTime.dwHighDateTime;
lgKernelTime.LowPart?=?KernelTime.dwLowDateTime;

lgUserTime.HighPart?=?UserTime.dwHighDateTime;
lgUserTime.LowPart?=?UserTime.dwLowDateTime;

lgCurTime.QuadPart?=?(lgKernelTime.QuadPart?+?lgUserTime.QuadPart)?/?10000;
nProcCpuPercent?=?(int)((lgCurTime.QuadPart?-?g_slgProcessTimeOld.QuadPart)?*?100?/?dwElepsedTime);
g_slgProcessTimeOld?=?lgCurTime;
nProcCpuPercent?=?nProcCpuPercent?/?g_sdwProcessorCoreNum;
}
else
{
nProcCpuPercent?=?-1;
}

return?nProcCpuPercent;
}

unsigned?int?BeforeProcIDCpuPercent(DWORD?ProcessID)
{
HRESULT?hr?=?E_FAIL;

HANDLE?hProcess?=?NULL;
DWORD?dwProcessId?=?ProcessID;
DWORD?dwRetVal?=?0;
DWORD?dwCurrentTickCount?=?0;
DWORD?dwElapsedTime?=?0;
int?nProcessCpuPercent?=?0;

//TARGET_PROCESS?*pTargetProcess?=?(TARGET_PROCESS?*)pArg;

hProcess?=?OpenProcess(PROCESS_QUERY_INFORMATION??FALSE?dwProcessId);
MY_PROCESS_ERROR(hProcess);

dwRetVal?=?WaitForSingleobject(g_shExitEvent?200);
dwCurrentTickCount?=?GetTickCount();
dwElapsedTime?=?dwCurrentTickCount?-?g_sdwTickCountOld;
g_sdwTickCountOld?=?dwCurrentTickCount;
nProcessCpuPercent?=?GetProcessCpuPercent(hProcess?dwElapsedTime);

dwRetVal?=?WaitForSingleobject(g_shExitEvent?200);
if?(WAIT_object_0?==?dwRetVal?||
WAIT_FAILED?==?dwRetVal

{
goto?Exit0;
}

dwCurrentTickCount?=?GetTickCount();
dwElapsedTime?=?dwCurrentTickCount?-?g_sdwTickCountOld;
g_sdwTickCountOld?=?dwCurrentTickCount;
nProcessCpuPercent?=?GetProcessCpuPercent(hProcess?dwElapsedTime);
return?nProcessCpuPercent;

Exit0:
if?(hProcess)
{
CloseHandle(hProcess);
hProcess?=?NULL;
}

return?-1;
}

unsigned?int?ProcIDCpuPercent(DWORD?ProcessID)
{
SYSTEM_INFO?sysInfo?=?{?0?};
GetSystemInfo(&sysInfo);
g_sdwProcessorCoreNum?=?sysInfo.dwNumberOfProcessors;

g_shExitEvent?=?CreateEvent(NULL?TRUE?FALSE?NULL);
if?(!g_shExitEvent)
{
CloseHandle(g_shExitEvent);
g_shExitEvent?=?NULL;
return?-1;
}
return?BeforeProcIDCpuPercent(ProcessID);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-08-21?15:12??CheckSysProcSrvStat\
?????文件????????5822??2014-08-11?14:54??CheckSysProcSrvStat\CheckProcessCpu.cpp
?????文件?????????572??2014-08-07?17:13??CheckSysProcSrvStat\CheckProcessCpu.h
?????文件????????3871??2014-08-11?15:01??CheckSysProcSrvStat\CheckProcessMem.cpp
?????文件?????????244??2014-08-11?14:54??CheckSysProcSrvStat\CheckProcessMem.h
?????文件????????3147??2014-08-12?09:43??CheckSysProcSrvStat\CheckProcessStat.cpp
?????文件????????1613??2014-08-11?16:54??CheckSysProcSrvStat\CheckProcessStat.h
?????文件????????4019??2014-08-11?14:54??CheckSysProcSrvStat\CheckSysStat.cpp
?????文件????????1107??2014-08-11?14:54??CheckSysProcSrvStat\CheckSysStat.h
?????文件????????5778??2014-08-06?17:42??CheckSysProcSrvStat\IsProcORSrvRun.cpp
?????文件?????????459??2014-08-06?17:41??CheckSysProcSrvStat\IsProcORSrvRun.h
?????文件?????????295??2014-08-11?15:12??CheckSysProcSrvStat\Makefile
?????文件????????4411??2014-08-12?09:36??CheckSysProcSrvStat\libhatools.vcproj
?????文件????????4388??2014-08-11?17:45??CheckSysProcSrvStat\libhatools.vcxproj
?????文件?????????213??2014-08-05?15:59??CheckSysProcSrvStat\stdafx.cpp
?????文件?????????277??2014-08-06?15:40??CheckSysProcSrvStat\stdafx.h
?????文件?????????256??2014-08-06?15:40??CheckSysProcSrvStat\targetver.h

評論

共有 條評論