2013-09-05 1 views
0

Visual Studio 2010에서 작업 중입니다. 트레이 (작업 표시 줄)에 아이콘을 표시하는 간단한 응용 프로그램을 만들고 있습니다. 내가 직면하고있는 문제는 응용 프로그램이 트레이 (작업 표시 줄)에 표시되지만 아이콘이 표시되지 않는다는 것입니다. 내 코드는Visual C++에서 이미지를 표시하지 않는 트레이 아이콘

MAKEINTRESOURCE(IDI_ICON2) 

이 있어야한다 또한

nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; 

이어야 친절하게 나에게

+1

나는 당신의 LoadIcon() 호출이 잘못 생각 : 'LoadIcon (N을 ULL)'은 표준 아이콘으로 만 작동한다고 가정합니다. 귀하의 경우에는 아이콘이 포함 된 EXE 또는 DLL의 HINSTANCE 또는 HMODULE이 필요합니다. – Medinoc

+0

하지만 표준 아이콘까지 표시되지 않습니다. – WiXXeY

답변

0

당신은 그것을 채우기 전에 구조를 제로로한다 아이콘의 이름 인 경우 ...이 아닌 0 값이 결과에 영향을 미칠 경우 사용하지 않는 다른 회원이 있습니다 NOZ 말한다

NOTIFYICONDATA nid; 
ZeroMemory(&nid, sizeof(nid)); 
... 

추가로, 당신의 플래그는 OR 될해야합니다

nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; 
+0

nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; 구문 오류가 발생합니다. Expression이 필요합니다. – WiXXeY

2
nid.uFlags = NIF_MESSAGE NIF_ICON NIF_TIP; 

을 안내

NOTIFYICONDATA nid; 
nid.cbSize = sizeof(NOTIFYICONDATA); 
nid.hWnd = hWnd; 
nid.uID = 100; 
nid.uVersion = NOTIFYICON_VERSION; 
nid.uCallbackMessage = WM_MYMESSAGE; 
nid.hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_ICON2)); 
//nid.hIcon =(HICON) hIcon; 
wcscpy_s(nid.szTip, L"ultraDefender"); 
nid.uFlags = NIF_MESSAGE NIF_ICON NIF_TIP; 
Shell_NotifyIcon(NIM_ADD, &nid); 

아래에 주어진

IDI_ICON2  

+0

nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; arise a 구문 오류 표현식이 필요합니다. – WiXXeY

관련 문제