ZTMSブログ

自作フリーソフトやプログラミング雑記

 >  スポンサー広告 >  タスクトレイ(通知領域)アイコンのバルーンは_WIN32_WINNTが0x500台なら出るけど0x600だと出ないのはなぜ? >  Win32 >  タスクトレイ(通知領域)アイコンのバルーンは_WIN32_WINNTが0x500台なら出るけど0x600だと出ないのはなぜ?

タスクトレイ(通知領域)アイコンのバルーンは_WIN32_WINNTが0x500台なら出るけど0x600だと出ないのはなぜ?

どうして・・?環境はXP+VC2008Express。
#pragma comment(lib,"user32.lib")
#pragma comment(lib,"shell32.lib")

#ifdef __BORLANDC__
#define _WIN32_IE 0x0502
#endif
#define _WIN32_WINNT 0x0502

#include

BOOL TrayIconNotify( HWND hwnd, UINT msg )
{
NOTIFYICONDATA ni;

memset( &ni, 0, sizeof(ni) );
ni.cbSize = sizeof(ni);
ni.hWnd = hwnd;

switch( msg ){
case NIM_ADD:
ni.uFlags = NIF_ICON |NIF_INFO;
ni.hIcon = LoadIcon( NULL, IDI_INFORMATION );
strcpy( ni.szInfoTitle, "バルーンタイトル" );
strcpy( ni.szInfo, "バルーンメッセージ" );
ni.dwInfoFlags = NIIF_INFO;
}
return Shell_NotifyIcon( msg, &ni );
}

LRESULT CALLBACK MainFormProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
switch( msg ){
case WM_CREATE:
TrayIconNotify( hwnd, NIM_ADD );
break;

case WM_DESTROY:
TrayIconNotify( hwnd, NIM_DELETE );
PostQuitMessage(0);
return 0;
}
return DefWindowProc( hwnd, msg, wp, lp );
}

int WINAPI WinMain( HINSTANCE hinst, HINSTANCE hinstPrev, LPSTR lpCmdLine, int nCmdShow )
{
WNDCLASS wc;
HWND hwnd;
MSG msg = {0};

memset( &wc, 0, sizeof(wc) );
wc.lpfnWndProc = MainFormProc;
wc.hInstance = hinst;
wc.hIcon = LoadIcon(NULL,IDI_INFORMATION);
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground= (HBRUSH)(COLOR_BTNFACE+1);
wc.lpszClassName= "MainForm";
RegisterClass(&wc);

hwnd = CreateWindow(
"MainForm", "MainForm", WS_OVERLAPPEDWINDOW
,CW_USEDEFAULT, CW_USEDEFAULT, 300, 200
,NULL, NULL, hinst, NULL
);
ShowWindow( hwnd, nCmdShow );
UpdateWindow( hwnd );

while( GetMessage( &msg, NULL, 0,0 ) >0 ){
TranslateMessage( &msg );
DispatchMessage( &msg );
}
return (int)msg.wParam;
}

コメント






管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。