Получить Время Загрузки Рабочего Стола

Получить Время Загрузки Рабочего Стола
Получить время загрузки системы и рабочего стола Windows
Available languages
en

Узнаём время загрузки Windows любой версии.
Программный способ получить время загрузки рабочего стола при холодном старте системы, примеры функции и простейшей утилиты.
Творчество выходного дня :)


Способ измерения длительности загрузки операционной системы программным способом.
Описание функции: получения уведомления о полной загрузке рабочего стола при старте системы.

int GetTimeLoadWorktable(){
    NOTIFYICONDATA tnd  = {0};
    tnd.cbSize          = sizeof(NOTIFYICONDATA);
    tnd.hWnd            = (HWND)101010;
    tnd.uID             = (UINT)GetModuleHandle(NULL);
    //--
    while (Shell_NotifyIcon(NIM_ADD, &tnd) == 0) {Sleep(1000);}
    Shell_NotifyIcon(NIM_DELETE, &tnd);
    return GetTickCount() / 1000;
}

Пример утилиты, язык СИ. Получить время загрузки системы и рабочего стола, при старте с Windows ОС

#include <stdio.h>
#include <windows.h>

/*  Declare Windows procedure  */
int GetTimeLoadWorktable();


int APIENTRY WinMain( HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, int nCmdShow )
{
    char str[64];
	int re = GetTimeLoadWorktable();
	sprintf(str, "%s %d %s", "Время загрузки ОС:  ", re, " сек.");
	MessageBox(NULL, str, "ОС полностью загрузилась", MB_OK);
	return 0;
}


int GetTimeLoadWorktable(){
    NOTIFYICONDATA tnd  = {0};
    tnd.cbSize          = sizeof(NOTIFYICONDATA);
    tnd.hWnd            = (HWND)101010;
    tnd.uID             = (UINT)GetModuleHandle(NULL);
    //--
    while (Shell_NotifyIcon(NIM_ADD, &tnd) == 0) {Sleep(1000);}
    Shell_NotifyIcon(NIM_DELETE, &tnd);
    return GetTickCount() / 1000;
}

 

Пример функции для VB6:

Function GetTimeLoadWorktable() As Single
    Dim ti As NOTIFYICONDATA
    ti.cbSize = Len(ti)
    ti.uId = GetModuleHandle(ByVal 0)
    '--------
    While Shell_NotifyIcon(NIM_ADD, ti) = 0
        Sleep 1000
    Wend
    '--------
    Call Shell_NotifyIcon(NIM_DELETE, ti)
    GetTimeLoadWorktable = GetTickCount()
End Function

 


↩ Вернуться на предыдущую страницу   Опубликовано  16-11-2020 0