не появляется 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;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.