Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 2 / 0
Регистрация: 05.10.2010
Сообщений: 37

Время бездействия системы (LastInputInfo)

06.12.2010, 16:45. Показов 1609. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Задали задание: написать программу, которая возвращает время бездействия системы. Погуглил, нашел API-функцию GetLastInputInfo. Но проблема в том, что пример ее использования написан на С, на ASM не нашел нигде. С этим небольшая проблема.
Поэтому прошу, кому не сложно - доставьте пример использования данной функции. С меня благодарности
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.12.2010, 16:45
Ответы с готовыми решениями:

Во время бездействия падает FPS в играх
Суть такая: Если не двигать мышкой примерно 2-3 минуты, в играх начинаются жуткие лаги в независимости от того, какие выставлены настройки....

Произвольная перезагрузка системы в режиме бездействия
Здравствуйте! Пользуюсь windows 10 с первой сборки (состою в числе обзорщиков тест версий) были проблемы по ходу работы до последней оф...

Через несколько минут бездействия выход из системы
Здравствуйте! Включаю бук. Через две минуты после простоя происходит выход из системы, соответсвенно просит заново залогиниться, ввести...

5
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
07.12.2010, 09:00
RAZOR1703, приведи пример на С, а там посмотрим...
0
 Аватар для qwarta
73 / 73 / 11
Регистрация: 20.11.2009
Сообщений: 238
08.12.2010, 20:39
RAZOR1703,
Это ,случайно, не то, что ищете?
http://www.manhunter.ru/assemb... stemi.html
0
1 / 1 / 0
Регистрация: 13.10.2010
Сообщений: 23
08.12.2010, 20:51
только там фасм, при перекидывании всего тогоже на масм, выдает эрор вот тут
invoke GetLastInputInfo,lii

вобщем оно то както так выглядит
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
.686
.model flat,stdcall
    option casemap:none
    include \masm32\include\kernel32.inc
    include \masm32\include\windows.inc
    include \masm32\include\user32.inc
    include \masm32\include\gdi32.inc
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\user32.lib
    includelib \masm32\lib\gdi32.lib
    WinMain proto hlnst:HINSTANCE,CmdShow:dword
    
    LASTINPUTINFO STRUCT
        cbSize   dd ?   ; Размер структуры
        dwTime   dd ?   ; Время бездействия
    LASTINPUTINFO ENDS
.data
    lii     LASTINPUTINFO <>
    ClassName db "first class",0
    AppName db "first wondow",0
    Hello db "first message",0
    tmask    db "System idle for %i sec",0
    buff    dw 100h
.data?
    hlnstance HINSTANCE ?
.code
start:
invoke GetModuleHandle, NULL
    mov hlnstance,eax
invoke WinMain,hlnstance,SW_SHOWDEFAULT
invoke ExitProcess,eax
WinMain proc hlnst:HINSTANCE,CmdShow:dword
LOCAL wc:WNDCLASSEX
local msg:MSG
local hwnd:HWND
    push hlnstance
    pop wc.hInstance
    mov wc.cbSize,SIZEOF WNDCLASSEX
    mov wc.style,CS_HREDRAW or CS_VREDRAW
    mov wc.lpfnWndProc,offset WndProc
    mov wc.hbrBackground,COLOR_WINDOW+1
invoke GetStockObject,WHITE_BRUSH
    mov wc.hbrBackground,eax
    mov wc.lpszMenuName,NULL
    mov wc.lpszClassName, offset ClassName
invoke LoadIcon,NULL,IDI_APPLICATION
    mov wc.hIcon,eax
    mov wc.hIconSm,eax
invoke LoadCursor,NULL,IDC_ARROW
    mov wc.hCursor,eax
    mov wc.cbClsExtra,NULL
    mov wc.cbWndExtra,NULL
invoke RegisterClassEx,addr wc
invoke CreateWindowEx,NULL,addr ClassName,addr AppName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,0,0,hlnst,0
    mov hwnd,eax
invoke ShowWindow,hwnd,SW_SHOWNORMAL
    .WHILE TRUE
invoke GetMessage,addr msg,NULL,0,0
    or eax,eax
    jz Quit
invoke DispatchMessage,addr msg
 
 
    .ENDW
Quit:
    mov eax,msg.wParam
    ret
    WinMain endp
WndProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
local hdc:HDC
local ps:PAINTSTRUCT
local rect:RECT
.if uMsg==WM_DESTROY
invoke PostQuitMessage,NULL
 
.elseif uMsg==WM_PAINT
 
invoke BeginPaint,hWnd,addr ps
    mov hdc,eax
invoke GetClientRect,hWnd,addr rect
 
    ; Получить время последнего ввода 
    mov     eax,SIZEOF LASTINPUTINFO 
    mov     lii.cbSize,eax
    invoke  GetLastInputInfo,lii
    ; Получить текущее время в миллисекундах 
    invoke  GetTickCount 
    ; EAX - время бездействия системы в миллисекундах 
    sub     eax,lii.dwTime
    ; Поделить на 1000, чтобы получить секунды
        mov     ecx,1000
        xor     edx,edx
        div     ecx
    invoke wsprintf,
        addr buff,
            addr tmask,
                eax
                
invoke DrawText,hdc,addr buff,-1,addr rect,DT_SINGLELINE or DT_CENTER or DT_VCENTER
invoke EndPaint,hWnd,addr ps
.else
invoke DefWindowProc,hWnd,uMsg,wParam,lParam
ret
.endif
xor eax,eax
ret
WndProc endp
end start
0
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
08.12.2010, 21:08
выдает эрор вот тут invoke GetLastInputInfo,lii
addr забыл.

Из всего этого тебе нужно только GetLastInputInfo, wsprintf, MessageBox и ExitProcess.
0
1 / 1 / 0
Регистрация: 13.10.2010
Сообщений: 23
08.12.2010, 21:17
м, а так чтобы обналвлось, окно, тоесть счетчит не стоял наместе, и желательно в уже имеющимся окне, добавить апдейт_виндов ну или как то так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2010, 21:17
Помогаю со студенческими работами здесь

Во время бездействия падает фпс в играх, или во все закрываются
Суть такая: Если не двигать мышкой примерно 2-3 минуты, в играх начинаются жуткие лаги в независимости от того, какие выставлены настройки....

Вывести время работы системы и перезагрузить её, если время превысило заданное значение
Собственно говоря нужно в powershell написать скрипт, выводящий время работы системы и отправляющий систему в перезагрузку, если время...

Оператор бездействия
Добрый день, уважаемые форумчане! Прошу помощи у Вас. Необходимо написать следующее условие Если выражение соответствует...

Год бездействия
или как оптимизаторы наступают себе на яйцы. итак есть у меня несколько проектов, пара в СЧ запросах, пара в НЧ, и один в ВЧ. три...

Дата и время из системы
Мне нужно после нажатия кнопки чтобы лейбл показывал системные дату и время. Такое возможно?, и если возможно, то как сделать? Помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru