не появляется Baloon Tooltip
От: qdr  
Дата: 02.03.10 22:52
Оценка:
здравствуйте. подскажите пожалуйста в чем проблема.
мне необходимо создать иконку в трее, затем сменить ее и показать балун. кажется элементарная задача, однако при выполнении следующего кода, иконка создается — меняются, но балун не появляется.

int _tmain(int argc, _TCHAR* argv[]) {
    #define MY_ARRAYSIZE(a) (sizeof(a)/sizeof(a[0]))
    
    BOOL res;
    
    NOTIFYICONDATA nid;
        memset(&nid, 0, sizeof(nid));
        nid.cbSize = sizeof(nid);
        nid.hWnd = GetConsoleWindow();
        nid.uID = 1;
        nid.uFlags = NIF_ICON | NIF_INFO;
        nid.hIcon = LoadIcon(NULL, IDI_ASTERISK);
    res = Shell_NotifyIcon(NIM_ADD, &nid);
    if (res) {
        printf("icon added.\n");
    }
    Sleep(5000);

        
    nid.hIcon = LoadIcon(NULL, IDI_ERROR);
    nid.dwInfoFlags = NIIF_INFO;
    HRESULT hr1 = StringCchCopy(nid.szInfo, MY_ARRAYSIZE(nid.szInfo), TEXT("Your message text goes here."));
    HRESULT hr2 = StringCchCopy(nid.szInfoTitle, MY_ARRAYSIZE(nid.szInfoTitle), TEXT("Title"));
    if ( FAILED(hr1) || FAILED(hr2) ) {
        printf("ballon's text not created");
    }
    nid.uTimeout = 15000;    
    res = Shell_NotifyIcon(NIM_MODIFY, &nid);
    
    if ( res ) {
        printf("icon changed. baloon added.");
    }
    Sleep(10000);
    
    Shell_NotifyIcon(NIM_DELETE, &nid);
    return 0;
}
Re: не появляется Baloon Tooltip
От: okman Беларусь https://searchinform.ru/
Дата: 02.03.10 22:59
Оценка:
Здравствуйте, qdr.

Знакомая проблема
Сначала Shell_NotifyIcon нужно вызвать с флагом установки версии выше 4 — посмотрите документацию.
Re: не появляется Baloon Tooltip
От: BuildAll Россия  
Дата: 03.03.10 07:11
Оценка:
nid.cbSize = NOTIFYICONDATA_V2_SIZE
Re: не появляется Baloon Tooltip
От: Qa1888  
Дата: 03.03.10 14:53
Оценка:
когда с такой проблемой возился, оказалось что WINVER надо было уменьшить, стояла WINVER 0x0600, в 0x0502 повились балоны. Правда давно дело было, но вроде помню так решил

qdr>здравствуйте. подскажите пожалуйста в чем проблема.

qdr>мне необходимо создать иконку в трее, затем сменить ее и показать балун. кажется элементарная задача, однако при выполнении следующего кода, иконка создается — меняются, но балун не появляется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.