13.VC(custom)-DbgView.exeの応用と使用クラス

818 ワード

用途:releaseバージョンで情報を印刷するには:
使用法:プロジェクトにクラスDebugShowを追加する.h:
呼び出し部#include
クラスDebugShowには関数があります.
BOOL DebugTrace(TCHAR * lpszFormat,...)
{
	static HWND hwnd = ::FindWindow(NULL,	_T("DbgView"));
	if(!IsWindow(hwnd))
		hwnd = ::FindWindow(NULL, _T("DbgView"));
	if(hwnd)
	{
		static TCHAR szMsg[512];

		va_list argList;
		va_start(argList, lpszFormat);
		try
		{
			_vstprintf(szMsg,lpszFormat, argList);
		}
		catch(...)
		{
			_tcscpy(szMsg ,_T("DebugHelper:Invalid string format!"));
		}
		va_end(argList);
		DWORD dwId = GetCurrentProcessId();
		::SendMessage(hwnd,WM_SETTEXT,dwId,(LPARAM)(LPCTSTR)szMsg);
	}
	return TRUE;
}

ダイレクトコールも可能で、unicodeおよびマルチバイト環境に適しています.
=====>DbgView.exeと呼び出しクラスのダウンロード