SystemArea(Tray) уничт.icon (refresh),max top окно
От: alwil  
Дата: 14.08.02 08:35
Оценка:
здравствуйте дорогие товарищи

у меня вопрос про System Area( Tray)

в статье ( http://rsdn.ru/?article/?winshell/shell.xml
Автор(ы): А. Климов
Дата: 30.05.2002
Объект Microsoft Windows Shell позволяет получить доступ к различным настройкам Windows при помощи технологий COM и Automation, что позволяет использовать Visual Basic и VBScript. Например, вы можете получить доступ к различным диалоговым окнам, к файловой системе, запускать программы и изменять системные настройки.
)указано как сделать но есть маленький вопрос по получению поинтера на иконку

допустим я создал в процедуре WinMain и инициализировал структуру

//******************************************

WinMain ()
.............

NOTIFYICONDATA notif;
ZeroMemory(&notif,sizeof(NOTIFYICONDATA));
notif.cbSize = sizeof(NOTIFYICONDATA);
notif.hWnd = hTTYWnd;
notif.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
notif.uCallbackMessage = WM_STYSTEMTRAY;
notif.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(TTYICON));
strcpy(notif.szTip,"BioGuard Access Control");
notif.uID = 789;
Shell_NotifyIcon(NIM_ADD,&notif);


//******************************************

BOOL NEAR InitApplication( HANDLE hInstance )
{
WNDCLASS wndclass ;

// register tty window class

wndclass.style = 0 ;
wndclass.lpfnWndProc = TTYWndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = TTYEXTRABYTES ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon( hInstance, MAKEINTRESOURCE(TTYICON) );
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW ) ;
wndclass.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1) ;
wndclass.lpszMenuName = MAKEINTRESOURCE( TTYMENU ) ;
wndclass.lpszClassName = gszTTYClass ;

return( RegisterClass( &wndclass ) ) ;

} // end of InitApplication()

//******************************************

существует процедура обработки туда мне надо передать значения notif и поинтер на иконку;

LRESULT FAR PASCAL TTYWndProc( HWND hWnd, UINT uMsg,
WPARAM wParam, LPARAM lParam )
.......
case WM_DESTROY:

Shell_NotifyIcon(NIM_DELETE, &notif);
DestroyIcon(hIcon);

как получить значения notif и поинтер на иконку hIcon ;







2 — как получить окно которое будет поверх ВСЕХ приложений. окно создано в ресурс построителе
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.