把以下代码Copy到工程中的任何一个cpp文件中,则TRACE输出的信息会在任何Notepad文件中输出。
class CMfxTrace;
extern CMfxTrace theTracer;
class CMfxTrace : public CFile
{
public:
CMfxTrace()
{
Init();
}; // private constructor
public:
virtual void Write(const void* lpBuf, UINT nCount)
{
HWND w1;
w1=::FindWindow(_T("Notepad"),NULL);
if(w1 != 0)
{
w1=::FindWindowEx(w1,NULL,_T("Edit"),NULL);
::SendMessage(w1, EM_REPLACESEL, (WPARAM) FALSE, (LPARAM)lpBuf);
}
};
static void Init();
};
// Initialize tracing. Replace global afxDump.m_pFile with me.
void CMfxTrace::Init()
{
#ifdef _DEBUG
if (afxDump.m_pFile == NULL) {
afxDump.m_pFile = &theTracer;
} else if (afxDump.m_pFile != &theTracer) {
TRACE("afxDump is already using a file: TRACEWIN not installed./n");
}
#endif
}
static CMfxTrace theTracer;