Search
Write a publication
Pull to refresh

Comments 14

Вот бы тоже самое но вывод загрузки в процентах. Как раз искал себе такое и ничего толкового не нашел....

Вы про загрузку ОЗУ в процентах? Если да, так она есть. Там такой формат: занято/всего Gb ...%

Вы наводите мышку на иконку и видите нагрузку на озу и проц

Можно поменять иконки на колличество процентов например с шагом 25-30%

Можно, Вы абсолютно правы. Когда писал эту программу, решил, что будет удобнее сделать иначе. Изменение цвета, как по мне, воспринимать. А при наведении курсора на иконку вы увидите над ней более подробную информацию. К тому же потребовалось бы больше иконок

Не нужно больше иконок - надо создавать иконки на лету, рисуя на них значение процентов. Неоптимизированный пример кода для создания иконки из текста:

HICON CreateTextIcon( HWND hWnd, int size, TCHAR *szText)
{
    HDC hdc = GetDC( hWnd );
    HDC hdcMem = CreateCompatibleDC( hdc );
    HBITMAP hBitmap = CreateCompatibleBitmap( hdc, size, size );
    HBITMAP hBitmapMask = CreateCompatibleBitmap( hdc, size, size );
    ReleaseDC( hWnd, hdc );

    SelectObject( hdcMem, hBitmap );

    HBRUSH brush = CreateSolidBrush( RGB(0,0,0) );
    SelectObject( hdcMem, brush );
    PatBlt( hdcMem, 0, 0, size, size, PATCOPY );

    // Draw percentage
    int font_size = lstrlen(szText) < 3 ? size : (3*size)/4;
    HFONT hFont = CreateFont( font_size, 0, 0, 0, FW_BOLD, 0, 0, 0, ANSI_CHARSET, 0, 0, 0, 0, TEXT ("Arial") );
    HFONT hFont_orig = (HFONT) SelectObject( hdcMem, hFont );
    SetBkColor( hdcMem, RGB(0,0,0) );
    SetTextColor( hdcMem, RGB(255,255,255) );
    RECT rect;
    SetRect( &rect, 0, 0, size, size );
    DrawText( hdcMem, szText, lstrlen (szText), &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE );

    ICONINFO iconInfo;
    iconInfo.fIcon = TRUE;
    iconInfo.xHotspot = 0;
    iconInfo.yHotspot = 0;
    iconInfo.hbmMask = hBitmapMask;
    iconInfo.hbmColor = hBitmap;
    HICON hIcon = CreateIconIndirect( &iconInfo );

    SelectObject( hdcMem, hFont_orig );
    DeleteObject( hFont );
    DeleteObject( brush );
    DeleteObject( hBitmapMask );
    DeleteObject( hBitmap );
    DeleteDC( hdcMem );    

    return hIcon;
}

Есть там чутка лямбд от модерна

Наведение на иконку-изначальное зло. Лично я считаю, что надо выводить цифры соответствующими цветами. А вообще подобное насколько помню реализовано в HW monitor.

На счет HW monitor не знал, но вы правы, спасибо

Идея супер!

В Run-cat - как раз не хватает загрузки оперативной памяти.

А так идея с двумя иконками - вполне удобно. Только что бы без наведения можно было узнавать статус (не важно - в виде процентов или какой-либо анимации, но с цветами - все же тяжелее будет восприятие)

Могу ошибаться, но вроде все это уже есть в том же core temp. Ну и да, лучше мониторинг без наведения мыши, лишние действия.

Sign up to leave a comment.

Articles