#include < fstream >

BOOL CSpedd_testDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// TODO: 特別な初期化を行う時はこの場所に追加してください。
	SetTimer(1, 1000, NULL);	

	return TRUE;  // TRUE を返すとコントロールに設定したフォーカスは失われません。
}

void CSpedd_testDlg::OnButton2() 
{
	// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
	// 空きメモリサイズ

/*
	// 構造体
	typedef struct _MEMORYSTATUSEX {
	  DWORD dwLength;                     // 構造体のサイズ
	  DWORD dwMemoryLoad;                 // メモリの使用率(%)
	  DWORDLONG ullTotalPhys;             // 物理メモリの搭載容量
	  DWORDLONG ullAvailPhys;             // 物理メモリの空き容量
	  DWORDLONG ullTotalPageFile;         // ページングの搭載容量
	  DWORDLONG ullAvailPageFile;         // ページングの空き容量
	  DWORDLONG ullTotalVirtual;          // 仮想メモリの搭載容量
	  DWORDLONG ullAvailVirtual;          // 仮想メモリの空き容量
	  DWORDLONG ullAvailExtendedVirtual;  // 仮想メモリの拡張空き容量
	} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;

	// プロトタイプ宣言
	BOOL GlobalMemoryStatusEx(
	  LPMEMORYSTATUSEX lpBuffer  // メモリステータスの構造体
	);
*/
	// 情報収集
	//MEMORYSTATUS msex = { sizeof(MEMORYSTATUS) };
	MEMORYSTATUS msex;
	GlobalMemoryStatus( &msex );

	// 物理メモリの使用容量
	DWORD dwUsed = (msex.dwTotalPhys - msex.dwAvailPhys);
	// 物理メモリの空き容量
	DWORD dwFree = (msex.dwAvailPhys);
	// 物理メモリの搭載容量
	DWORD dwSize = (msex.dwTotalPhys);
	
	CString s;
	s.Format("%lu : %lu : %lu\n", dwUsed>>10, dwFree>>10, dwSize>>10);
	TRACE(s);

	std::ofstream ofs( "c:\\test\\testlog.txt", std::ios::out | std::ios::app );

	CTime cTime = CTime::GetCurrentTime();           // 現在時刻
	CString str = cTime.Format("%Y/%m/%d %H:%M:%S");

	ofs << str.GetBuffer(str.GetLength())
		<< " "
		<< s.GetBuffer(s.GetLength())
		//<< std::endl
		;
}

void CSpedd_testDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
	OnButton2();	
	CDialog::OnTimer(nIDEvent);
}