VC++ 测试OutputDebugString和定时器

时间:2022-08-06 23:30:34
#include   <windows.h> 
#include <tlhelp32.h>//声明快照函数的头文件
#include <iostream>

VOID CALLBACK TimerProc(HWND hwnd,UINT uMsg,UINT idEvent,DWORD dwTime)
{

int pid=GetCurrentProcessId();
/* #ifdef _WIN32
#include <process.h>//windows下用
#else
#include <unistd.h>//linux下用
#endif
#include <iostream>
using namespace std;
int main()
{
int iPid = (int)getpid();
std::cout<<"The process id is: "<<iPid<<std::endl;
return 0;
}
*/
HANDLE hProcess=GetCurrentProcess();
char *buffer=(char*)malloc(sizeof(char*));
char name[64];
PROCESSENTRY32* pinfo=new PROCESSENTRY32;
BOOL ret=Process32First(hProcess,pinfo);
strcpy(name,pinfo->szExeFile);
CloseHandle(hProcess);
sprintf(buffer,"pid:%d,name:%s,测试outputdebug",pid,name);
std::cout<<buffer<<std::endl;
OutputDebugString(buffer);
}

void main()
{
int timer1 = 1;
//HWND hwndTimer;
MSG msg;
SetTimer(NULL,timer1,1000,TimerProc);
//处理消息队列
int itemp;
while ( (itemp = GetMessage(&msg, NULL,NULL,NULL))&& (itemp!=0) && (-1 != itemp))
{
if (msg.message == WM_TIMER)
{
//std::cout<<"i got the message "<<std::endl;
OutputDebugString("处理消息队列");
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}