|
trayicon을 동적으로 생성하시면 될꺼 같은데요
TTrayIcon *pTrayIcon = new TTrayIcon(this);
...
delete pTrayIcon;
머 이런식으로..
mossmin 님이 쓰신 글 :
: 답변감사합니다
: 프로젝트엔 폼을 포함 시키지 않고 싶다는
: 의미입니다. Hide처리 말구요
: 덧붙여 폼이 없을경우 trayicon도 가능한가
: 도 다시 한번 질문드립니다.
:
: 현덕0 님이 쓰신 글 :
: : 다 지워졌네.. ㅜ.ㅜ 머 암튼
: :
: : 1. 폼 없는 윈도우를 사용할때 Hide로 두시고
: :
: : Thread는 사용하시면 될듯합니다. waitfor 부분에서 cpu 사용량이 높을 듯 싶습니다
: :
: : waitfor는 Terminate 될때까지 기다리는 함수입니다.
: :
: : 또한 Thread의 메모리 해제 하는 부분도 안보이는 군요
: :
: : FreeOnTerminate = true 설정해주는 센스!
: :
: : 2. trayIcon는 빌더 6.0에서는 컴포넌트가 있습니다. 거기의 메소드를 이용하시면 폼을 안띄울수도 있습니다.
: :
: : Popup메뉴 등록하는 부분도 있기 때문에 종료 메뉴를 추가 시켜 줄수 있습니다.
: :
: : 게시판 언딘가에 예제도 본거 같습니다. 찾아 보시면 쉽게 하실수 있을껍니다.. ^^
: :
: : mossmin 님이 쓰신 글 :
: : : 폼이 없는 프로그램을 만들려 합니다.
: : : 폼 없이 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;
: : : }
: : : }
: : : }
|