Читая Эпплмана

Пример 1. Статистика использования физической памяти в системе.

Для получения статистики нам потребуется всего одна API-функция и один тип.
Создаем новый проект, добавляем в него модуль. С помощью API Text Viewer включаем в данный модуль API-функцию GlobalMemoryStatus и тип MEMORYSTATUS. Переходим в форму и озвучим все параметры:
Private Sub Form_Click()
Dim ms As MEMORYSTATUS
    ms.dwLength = Len(ms)
    GlobalMemoryStatus ms
    Print "Всего байт физической памяти: "; ms.dwTotalPhys
    Print "Доступно байт физической памяти: "; ms.dwAvailPhys
    Print "Процент используемой памяти: "; ms.dwMemoryLoad
    Print
    Print "Всего байт в файле подкачки: "; ms.dwTotalPageFile
    Print "Свободных байт в файле подкачки: "; ms.dwAvailPageFile
    Print
    Print "Байт в пользовательской части адресного пространства: "; ms.dwTotalVirtual
    Print "Свободных байт в пользовательской части адресного пространства: "; ms.dwAvailVirtual
End Sub

Как эту статистику можно использовать на деле? Ну например, в окне About графически отображать процент используемой памяти. Давайте создадим простенький ActiveX Control, который потом можно будет использовать в разных программах.
Добавим к нашему проекту UserControl. Установим свойства AutoRedraw=True, BorderStyle=1 (Fixed Single). В событие контрола Resize добавим код, считывающий процент используемой памяти, а затем методом Line нарисуем этот процент на самом контроле.
Option Explicit
Private ms As MEMORYSTATUS

Private Sub UserControl_Resize()
Dim Percent As Long
    ms.dwLength = Len(ms)
    GlobalMemoryStatus ms
    Percent = ms.dwMemoryLoad
    Line (0, 0)-(ScaleWidth * Percent / 100, ScaleHeight), vbGreen, BF
End Sub

Расположите наш контрол на форме и запустите программу на исполнение.

 
Назад Далее Скачать пример

Hosted by uCoz