Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
JokeR.BY
CAPITAL OF ROCK!
1278 / 705 / 982
Регистрация: 03.03.2010
Сообщений: 2,284
Завершенные тесты: 2
1

Программа учёта работы компьютера

26.07.2012, 19:02. Просмотров 4602. Ответов 32
Метки нет (Все метки)

Здравствуйте, дражайшие гуру
Попросила меня намедни бух найти какую-нить программку, дабы видеть сколько её дочка зависает за компом на каникулах. В общем, лень было колупаться в куче софта, решил своё написать. Вопросы:
  • как лучше реализовать?
  • как скрыть присутствие проги?
  • во что делать экспорт событий?
мои мысли: сделать мини прогу, которая по запуску (авторан винды) добавляет в какой-нить файлик строку примерного вида: ОС запущена в 12.12.12 21:21:21. А при закрытии проги аналогичную про выключение. Вопрос только, в каком событии поставить процедуру записи (2ую) чтоб всё записалось корректно? И ещё вопрос: как её скрыть от глаз пронырливой 14-летней девки? Диспетчер не нужен, она туда не полезет, а вот как скрыть форму так, чтобы она не моргала при включении? и просто какие ещё советы будут?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2012, 19:02
Ответы с готовыми решениями:

Компоненты или команды работы с портами компьютера
Я в DELPHI новичок. Хотелось бы узнать, есть ли компоненты или команды работы с...

Delphi, программа для работы с картинками!
Мне надо программа написаная на delphi: её смысал вот сайт:...

Программа для работы с многомерными массивами
Задача состоит в следующем: необходимо написать программу, которая могла бы...

Программа которая выдает платформу компьютера выдает ошибку
unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

Программа учёта и каталогизации книг
Исходные данные по проекту: автор, название, год издания, категория книги, дата...

32
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26149 / 17526 / 6950
Регистрация: 22.10.2011
Сообщений: 30,866
Записей в блоге: 6
25.08.2012, 19:56 21
Цитата Сообщение от саша40 Посмотреть сообщение
Всё программа не видима.
Эта "программа" даже не откомпилируется. Хоть бы ошибки синтаксические исправил. Я уж о логических не говорю
0
саша40
-46 / 291 / 47
Регистрация: 14.08.2012
Сообщений: 2,565
25.08.2012, 19:58 22
исправте.
0
volvo
25.08.2012, 20:04
  #23

Не по теме:

Ты предлагаешь программу, а я должен ее за тебя исправлять? Зачем оно мне?

0
JokeR.BY
CAPITAL OF ROCK!
1278 / 705 / 982
Регистрация: 03.03.2010
Сообщений: 2,284
Завершенные тесты: 2
25.08.2012, 20:07  [ТС] 24
саша40, эти аспекты непринципиальны на данном этапе. на нынешний момент больше интересен процесс логирования событий. а-ля посещённые сайты, список процессов (время запуска, время работы и тд).
0
Alexandr_
8 / 8 / 0
Регистрация: 20.08.2012
Сообщений: 79
26.08.2012, 00:59 25
Список процессов получить не сложно. Только как работать с этой информацией(Как сохранить процессы) я не знаю.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses TlHelp32;
 
procedure TForm1.btn1Click(Sender: TObject);
var sh:THandle; pe:TProcessEntry32; b:LongBool;
begin
lst1.Clear;
sh:=CreateToolhelp32Snapshot($00000002,2);
pe.dwSize:=SizeOf(pe);
b:=Process32First(sh,pe);
while Integer(b)<>0 do begin
lst1.Items.Add(pe.szExeFile);
b:=Process32Next(sh,pe);
end;
CloseHandle(sh);
end;
0
JokeR.BY
CAPITAL OF ROCK!
1278 / 705 / 982
Регистрация: 03.03.2010
Сообщений: 2,284
Завершенные тесты: 2
26.08.2012, 01:12  [ТС] 26
Цитата Сообщение от Alexandr_ Посмотреть сообщение
Только как работать с этой информацией
вот в этом и проблема. есть примерно такой же софт (Power Spy и др.), но вот как самому такое реализовать... вернее, как это качественно структурировать и систематизировать
0
Alexandr_
8 / 8 / 0
Регистрация: 20.08.2012
Сообщений: 79
26.08.2012, 01:21 27
Нужно как-то записать так что-бы процесс дважды не повторялся.
А еще лучше, в какое время, и когда он был открыт думаю так будет проще и лучше.
Нужно будет два списка, что-бы сравнить и выявить что за процесс, и в какое время был запущен.
0
Alexandr_
8 / 8 / 0
Регистрация: 20.08.2012
Сообщений: 79
26.08.2012, 01:45 28
Вот это работает. Исходник скачайте, попробуйте. Теперь все нужно в кучу, и организовать это.
Когда открываешь новый процесс то он добавляется в список. Аналогично можно не в список, а в файл записать.

Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,TlHelp32, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    lst1: TListBox;
    tmr1: TTimer;
    procedure tmr1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  P_1,P_2:array[0..100] of string;
  i,i2:Integer; sch:Boolean;
implementation
 
{$R *.dfm}
 
procedure TForm1.tmr1Timer(Sender: TObject);
var sh:THandle; pe:TProcessEntry32; b:LongBool;
begin
for i:=0 to 100 do P_2[i]:=P_1[i];
for i:=0 to 100 do P_1[i]:='';
sh:=CreateToolhelp32Snapshot($00000002,2);
pe.dwSize:=SizeOf(pe);
b:=Process32First(sh,pe);  i:=0;
while Integer(b)<>0 do begin
p_1[i]:=pe.szExeFile; i:=i+1;
b:=Process32Next(sh,pe);
end;
CloseHandle(sh);
for i:=0 to 100 do if Length(P_2[0])>0 then begin
sch:=False;
for i2:=0 to 100 do if P_1[i]=P_2[i2]then sch:=True;
if sch=False then lst1.Items.Add(P_1[i]+' '+timetostr(time));
end;
lst1.ItemIndex:=lst1.Count-1;
end;
 
end.
0
Вложения
Тип файла: rar Process.rar (166.5 Кб, 34 просмотров)
Alexandr_
8 / 8 / 0
Регистрация: 20.08.2012
Сообщений: 79
28.08.2012, 08:18 29
Ура, написал . Тема мне самому интересна. Вот программа отслеживает: процессы, окна, время включения , и время выключения компа(Программы), также время работы за компьютером общие, и от включения до выключения.Даже за собою последить интересно, чем я занимался.
1
Вложения
Тип файла: rar TTtime.rar (173.4 Кб, 174 просмотров)
саша40
-46 / 291 / 47
Регистрация: 14.08.2012
Сообщений: 2,565
28.08.2012, 18:25 30
Цитата Сообщение от Alexandr_ Посмотреть сообщение
Ура, написал . Тема мне самому интересна. Вот программа отслеживает: процессы, окна, время включения , и время выключения компа(Программы), также время работы за компьютером общие, и от включения до выключения.Даже за собою последить интересно, чем я занимался.
красава
0
osminog
5 / 5 / 2
Регистрация: 31.05.2010
Сообщений: 79
07.09.2012, 23:22 31
Цитата Сообщение от Alexandr_ Посмотреть сообщение
За 10 минут написал. Посмотри. Там все легко и просто. Немного подредактируешь код, и программа не будет отображаться на экране. Результат сохраняется каждую секунду, так-что если даже комп выключится из сети то ничего не потеряешь.
прога работает неплохо! без глюков и ошибок)
есть 1 минус:
когда доходит до 23:59:59, далее счетчик сбрасывается на 0:00:00

а было бы неплохо прикрутить дополнительно 1 год, 1 мес, 1 день, 0:01:22 и так далее ...
0
murderer
3319 / 1465 / 134
Регистрация: 06.10.2010
Сообщений: 3,217
08.09.2012, 11:16 32
timeGetSystemTime возвращает время с момента запуска Windows.
0
JokeR.BY
CAPITAL OF ROCK!
1278 / 705 / 982
Регистрация: 03.03.2010
Сообщений: 2,284
Завершенные тесты: 2
08.09.2012, 14:53  [ТС] 33
Цитата Сообщение от osminog Посмотреть сообщение
прикрутить дополнительно 1 год, 1 мес, 1 день,
как бы сначала подразумевалось что записывается только время вкл/выкл, да и прога должна никак не выдавать себя, следовательно и формы не видно -> некуда выводить текущее время работы
0
08.09.2012, 14:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2012, 14:53

Программа для работы с базой данных
Нужно написать программу на Delphi, которая будет работать с базой данных (100...

Табель учёта рабочего времени
как в делфи реализовать чтобы в бд можно было писать &quot;В&quot; - выходной или &quot;Б&quot; -...

Программа учёта времени работы сотрудника компьютера
Здравствуйте подскажите есть программа учёта времени работы сотрудника на...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru