powered by simpleCommunicator - 2.0.47     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Определить время простоя программы
25 сообщений из 29, страница 1 из 2
Определить время простоя программы
    #40105672
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в программе определить что эта программа не используется юзером (загружена и простаивает) в течение определенного времени.
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105675
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вычесть время активности из общего времени запущенности.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105676
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
man time
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105677
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Вычесть время активности из общего времени запущенности.
А время активностью спросить у жены.
Даже удивляюсь kак это я сам не догадался
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105679
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin
А время активностью спросить у жены.

Спроси хотя бы под какую ОС надо, родных средств в С/С++ нет, вызывается API ОС, для каждой ОС это индивидуально.
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105680
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl
man time
Изначально забыл сказать что у меня C++Builder.
А не могли бы поподробнее об man time?
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105682
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T

Спроси хотя бы под какую ОС надо...

Так хотел задать вопрос, что впопыхах забыл (уж извините)
Win 10, C++Builder
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105684
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если под винду надо, то может поможет. Писал для убивания зависших экселей при генерации отчетов.
Проверяется что процесс excel.exe запущен более 10 минут и убивается.
Код: plaintext
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.
#include <windows.h>
#include <tlhelp32.h>
#include <shlwapi.h>
#include <stdio.h>



int main(int argc, char* argv[])
{
	HANDLE hProcessSnap = NULL; 
	HANDLE hModuleSnap = NULL; 
	FILETIME f1,f2,f3,f4;
	SYSTEMTIME st, st1;
	__try
	{
		PROCESSENTRY32 pe32 = {0}; 
		pe32.dwSize = sizeof(PROCESSENTRY32); 

		MODULEENTRY32 me32 = {0}; 
		me32.dwSize = sizeof(MODULEENTRY32); 

		hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 

		if (hProcessSnap != INVALID_HANDLE_VALUE) 
		{
			if(Process32First(hProcessSnap, &pe32)) 
			{
				do 
				{ 
					if(lstrcmpi(pe32.szExeFile, "excel.exe") == 0)
					{
						HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
						if(hProc != NULL && GetProcessTimes(hProc, &f1, &f2, &f3, &f4))
						{
							GetSystemTime(&st);
							FileTimeToSystemTime(&f1, &st1);
							DWORD dwDelta = st.wHour * 3600 + st.wMinute * 60 + st.wSecond
												- (st1.wHour * 3600 + st1.wMinute * 60 + st1.wSecond);
							printf("%s PID:%d  Work:%d sec\n", pe32.szExeFile, pe32.th32ProcessID, dwDelta);
							if(dwDelta > 600)
							{
								printf("Facked\n");
								TerminateProcess(hProc, 0);
							}
							CloseHandle(hProc);
						}
					}
				} 
				while (Process32Next(hProcessSnap, &pe32)); 
			} 
			CloseHandle(hProcessSnap);
			hProcessSnap = NULL;
		}
	}
	__except(EXCEPTION_EXECUTE_HANDLER)
	{
		__try
		{
			if(hModuleSnap != NULL) CloseHandle(hModuleSnap); 
			if(hProcessSnap != NULL) CloseHandle(hProcessSnap); 
		}
		__except(EXCEPTION_EXECUTE_HANDLER)
		{
		}
	}
	return 0;
}

...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105715
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CloseHandle(hProc); нужно вызывать если hProc != NULL, и возврат GetProcessTimes тут ни при чем.
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105812
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin
Как в программе определить что эта программа не используется юзером (загружена и простаивает) в течение определенного времени.

Зависла прога или работает? Я-бы отвалил много денег чтобы кто-то дал точное определение этому термину.

Для бизнес процессов пожалуй только heart beat можеть дать основание говорить что поток ожидает отправки
пакета в сокет и ожидает уже пол-года.

Если брать за основу UI и цикл обработки пользовательских событий - то да. Мы можем просто мерять время
между мышко-кликами или клавиатурными кликами.
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40105972
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pupkin
Как в программе определить что эта программа не используется юзером (загружена и простаивает) в течение определенного времени.

А ты расскажи, откуда у тебя желание знать такие вещи, а уж мы тебе советов насуём - только держись.
Эти советы, конечно, в основном будут типа "ну ты и лох, надо все делать наоборот", но, возможно, будет и что-то полезное.

Рассказывай. :)
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106004
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
))))
Термин "простаивает" особенно супер.
Пример юзкейса - "корова стоит и простаивает без дела"))
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106005
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Реактивный сервис простаивает пока нет входящих запросов.

Какого хера?
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106050
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin
Как в программе определить что эта программа не используется юзером (загружена и простаивает) в течение определенного времени.
конкретно пример (можно со словами "клацаем кликаем" и т.д, но подробно - "Я запускаю программу-файл... и т.д т.п. ".... )
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106211
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удивляюсь, какие недогадливые. А еще корифеи ......а уж мы тебе советов насуём...
Сувалок ваших не заметно как-то. Одно ля-ля

Нужно время от последнего мышко-дрыга или кнопко-торка
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106212
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin,

Ну так переопредели главную очередь сообщений приложения, отфильтруй нужные и ставь время.
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106227
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PupkinНужно время от последнего мышко-дрыга или кнопко-торка

RTFM TApplication::OnMessage.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106228
наверное просто складывал бы все миллисекунды от каждой рабочей ф-и
а потом вычитал их из общего UPTIME
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106231
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin
Удивляюсь, какие недогадливые. А еще корифеи ......а уж мы тебе советов насуём...

Сувалок ваших не заметно как-то. Одно ля-ля

Нужно время от последнего мышко-дрыга или кнопко-торкасреда то какая?
в Борланде что-то типа в Application события OnActivate, OnDeactivate
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106233
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov,

это всего лишь переключение фокуса на и с гуёвого vcl приложения.
А что ТС понимает под активностью и простоем - сие тайна.
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106235
ъъъъъ
А что ТС понимает под активностью и простоем - сие тайна.

очевидно программа не тратит такты в тех ф-ях, которые предназначены для обработки данных в этой программе
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106379
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну все отметились)
Не мечите бисер.
Если ТС трудолюбивый то представит код
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106394
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

не, дело не в бисере)
дело в том что смотрю спустя 2 летних месяца -
в этом форуме никто не уточняет у автора вопрос,
хотя это может быть простой парень, который не вполне корректно объяснил суть...)
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106400
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В форуме собрались академики, которым школьник задаёт вопрос - как измерить высоту здания
с помощью барометра. Но... академики - они-ж не лыком шиты. Раскурив свои трубки... они сидя
в креслах начинают говорить об относительности пространства-времени, о принципе неопределенности
и т.п. В конце концов академики рвут друг друга за бороды, доказывая что барометра не существует
и не существует здания и высота - понятие относительное....
...
Рейтинг: 0 / 0
Определить время простоя программы
    #40106407
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
В форуме собрались академики, которым школьник задаёт вопрос - как измерить высоту здания
с помощью барометра. Но... академики - они-ж не лыком шиты. Раскурив свои трубки... они сидя
в креслах начинают говорить об относительности пространства-времени, о принципе неопределенности
и т.п. В конце концов академики рвут друг друга за бороды, доказывая что барометра не существует
и не существует здания и высота - понятие относительное....
А что есть сомнения в относительности??? Мерять можно от уровня земли, от уровня фундамента, от уровня моря, даже от уровня грунтовых вод многое зависит. А может нужно учитывать скорость ветра на верхних этажах высотки которая стоит в окружении других зданий - внизу ветера то почти не будет, а наверху ветер очень даже сильный - поэтому высоту этого здания надо мерять относительно высоты вокруг стоящих.
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Определить время простоя программы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]