아래의 코드를 참고하며 MFC에서 프로세스의 사용량을 알 수 있습니다 ^ㅡ^
MFC관련 포스팅을 자주 하게 되어 기뻐요ㅋ 그동안 소홀해서 맘에 걸렸는데 ㅋㅋㅋ
출처 : http://www.codeguru.com/forum/
#include <iostream>
#include <iomanip>
#include <psapi.h>
// Add 'psapi.lib' to your linker options
int main()
{
// Open current process
HANDLE hProcess = ::OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, ::GetCurrentProcessId());
if(hProcess)
{
PROCESS_MEMORY_COUNTERS ProcessMemoryCounters;
memset(&ProcessMemoryCounters, 0, sizeof(ProcessMemoryCounters));
// Set size of structure
ProcessMemoryCounters.cb = sizeof(ProcessMemoryCounters);
// Get memory usage
if(::GetProcessMemoryInfo(hProcess,
&ProcessMemoryCounters,
sizeof(ProcessMemoryCounters)) == TRUE)
{
std::cout << std::setfill('0') << std::hex
<< "PageFaultCount: 0x" << std::setw(8)
<< ProcessMemoryCounters.PageFaultCount << std::endl
<< "PeakWorkingSetSize: 0x" << std::setw(8)
<< ProcessMemoryCounters.PeakWorkingSetSize << std::endl
<< "WorkingSetSize: 0x" << std::setw(8)
<< ProcessMemoryCounters.WorkingSetSize << std::endl
<< "QuotaPeakPagedPoolUsage: 0x" << std::setw(8)
<< ProcessMemoryCounters.QuotaPeakPagedPoolUsage << std::endl
<< "QuotaPagedPoolUsage: 0x" << std::setw(8)
<< ProcessMemoryCounters.QuotaPagedPoolUsage << std::endl
<< "QuotaPeakNonPagedPoolUsage: 0x" << std::setw(8)
<< ProcessMemoryCounters.QuotaPeakNonPagedPoolUsage << std::endl
<< "QuotaNonPagedPoolUsage: 0x" << std::setw(8)
<< ProcessMemoryCounters.QuotaNonPagedPoolUsage << std::endl
<< "PagefileUsage: 0x" << std::setw(8)
<< ProcessMemoryCounters.PagefileUsage << std::endl
<< "PeakPagefileUsage: 0x" << std::setw(8)
<< ProcessMemoryCounters.PeakPagefileUsage <<std::endl;
}
else
std::cout << "Could not get memory usage (Error: "
<< ::GetLastError() << ")" << std::endl;
// Close process
::CloseHandle(hProcess);
}
else
std::cout << "Could not open process (Error "
<< ::GetLastError() << ")" << std::endl;
return 0;
}
'2_ 바삭바삭 프로그래밍 > C# and Visual C++' 카테고리의 다른 글
[C#] 프로그램 실행시간 체크, 프로세스 메모리 체크, ICSharpCode 라이브러리를 이용한 파일 압축 / 해제 (0) | 2011.07.15 |
---|---|
MFC - 프로그램 종료, 버튼 숨김/ 비활성화 (1) | 2011.04.11 |
MFC - 리스트박스 관련, 숫자 문자 상호변환 (0) | 2011.04.06 |
MFC - 메세지맵을 사용하지 않고 WM_메세지 처리 (1) | 2011.03.24 |
C/C++ 코드를 C# 에서 사용하는 방법(C++/CLI) (3) | 2011.02.23 |