백그라운드에서 일부 작업을 수행하는 작은 응용 프로그램을 작성했습니다.C++ MFC 트레이에 응용 프로그램을 보내는 방법
사용자의주의가 필요 없기 때문에 응용 프로그램을 시스템 트레이에 보내고 누군가가 그것을 클릭하면 창이 다시 팝업되어야합니다.
문제는 필자가 원하는 모든 것을 수행하는 MFC 프로그램 (대화 상자)을 작성한 것입니다. 이제 트레이에 넣을 방법을 찾아야합니다.
유형 : MFC (대화 창) lnguage : C++ IDE : 비주얼 스튜디오 2012
당신은 내가이 작업을 수행 할 수있는 방법에 어떤 아이디어가 있습니까? 또는 당신은 어쩌면 좋은 튜토리얼이나 함수/내가 필요한 클래스를 알고 있습니까?
이미 codeprojects.com 및 google에서 검색했지만이 점에 대해서는별로 중요하지 않습니다. 덕분에 .
편집 1 :이 같은 노력
:
HWND hMainWindow = this->GetSafeHwnd();
HICON hProgramIcon = this->GetIcon(false);
char szTip[16] = "Tracker";
nidTrayIcon.cbSize = sizeof(nidTrayIcon);
nidTrayIcon.hIcon = hProgramIcon;
nidTrayIcon.hWnd = hMainWindow;
nidTrayIcon.uCallbackMessage = (WM_USER + 1);
nidTrayIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nidTrayIcon.uID = 0x0200;
strcpy_s((char*)nidTrayIcon.szTip,16, szTip2);
nidTrayIcon.szTip[strlen(szTip)] = '\0';
Shell_NotifyIcon(NIM_ADD, &nidTrayIcon);
이 코드를 실행하면, 내 응용 프로그램 코드 "0x03으로"로 종료 (경로 찾을 수 없습니다 ...)
편집 2 :
this->ShowWindow(SW_HIDE);
도 작동하지 않습니다. 같은 문제.
을 이것은 관리 코드, MFC에 완전히 무관. – ildjarn