|
폼이 없는 프로그램을 만들려 합니다.
폼 없이 10초에 한번씩 지정한 파일을 체크해서 변경이
있는 경우 로그를 남기는 처리를 하려고 합니다.
1.프로젝트에 폼을 포함시키지 않는다.
2.트레이 아이콘을 표시 해서 종료 할 수 있게 한다..
3.10초에 한번씩 체크 한다.
질문입니당..
1.아래와 같이 할 경우 CPU를 50%이상 차지 합니다.
CPU 사용량을 낮게 할 수있는 방법을 알고 싶습니다.
2. 트레이 아이콘을 표시 하고 종료 메뉴를 넣을 수 있는
방법을 알고 싶습니다.
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
TimerThread * PicThread = new TimerThread();
PicThread->WaitFor();
PicThread->Terminate();
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
class TimerThread: public TThread {
enum { TIMERTHREAD_TERMINATE = WM_APP + 0x100 };
void TimerProc(void) { Beep(); }
public:
TimerThread(): TThread(false) { }
__fastcall ~TimerThread()
{
PostThreadMessage(ThreadID, TIMERTHREAD_TERMINATE, 0, 0);
}
void __fastcall Execute(void)
{
UINT id = SetTimer(NULL, 0, 10000, NULL);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
switch (msg.message) {
case TIMERTHREAD_TERMINATE:
KillTimer(NULL, id);
return ;
case WM_TIMER:
TimerProc();
break;
}
}
}
|