// QMonitorAPI.cpp
#include <stdio.h>
#include "QMonitorAPI.h"
void Display(const char* frmt,...)
{
HWND hwnd = ::FindWindow(NULL, "QMonitor");
if (hwnd != NULL)
{
char temp[1024]; // be careful not to
// overrun this buffer
va_list args;
va_start(args, frmt);
vsprintf(temp, frmt, args);
va_end(args);
COPYDATASTRUCT cs;
cs.dwData = GetCurrentProcessId();
cs.lpData = (PVOID)temp;
cs.cbData = strlen(temp) + 1;
::SendMessage(hwnd, WM_COPYDATA,
(WPARAM)NULL, (LPARAM)&cs);
}
}
Tracer::Tracer(const char* szTitle)
{
pTitle = new char[strlen(szTitle) + 1];
strcpy(pTitle, szTitle);
Display("Enter %s", pTitle);
}
Tracer::~Tracer()
{
Display("Exit %s", pTitle);
delete pTitle;
}