|
Вопрос # 1 217/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Я здесь новенький. Прошу помочи....
Есть простенький тестовый проект: на форме только таймер и Мемо1.
При запуске с периодичностью в 5 сек пишется текущее время в Мемо и в файл.
Все прекрасно работает.
Ставлю эту задачку в "назначенные задания" через файл test.cmd с текстом:
start test.exe
exit
Требую запускать при включении питания компьютера.
Если на компе нет входа в систему через <Ctrl> <Alt> <Del> с паролем, то все работает нормально.
В противном случае - задачка работает (пишет в файл) еще до входа в систему, но при входе в сисему окно процесса не видно! Хотя запись в файл вроде идет!
Что я делаю не так?
Текст прилагаю:
Приложение: Переключить в обычный режим- unit Unit1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ExtCtrls, StdCtrls;
-
- type
- TForm1 = class(TForm)
- Memo1: TMemo;
- Timer1: TTimer;
- procedure Timer1Timer(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
- FLOG:file;
- FileName : string = '1';
- implementation
-
- {$R *.dfm}
-
- procedure TForm1.Timer1Timer(Sender: TObject);
- var s,s1 : string;
- TNOW : TDateTime;
- i : integer;
- begin
- TNOW := Now;
- DateTimeToString(S,'yyyyMMdd',TNow);
- if FileName <> S then
- begin
- {$I-}
- CloseFile(Flog);
- {$I+}
- if IOResult <> 0 then IOResult;
- sleep(100);
- AssignFile(Flog,'LOGS'+s+'.log');
- DateTimeToString(S1,'yyyyMMdd hh:nn:ss',TNow);
- if not FileExists('LOGS'+s+'.log') then
- begin
- rewrite(Flog,1);
- s1 := '== Start : ' + s1;
- end
- else
- begin
- reset(Flog,1);
- Seek(Flog, FileSize(Flog));
- s1 := '== Restart : ' + s1;
- end;
- Form1.Memo1.Clear;
- Form1.Memo1.Lines.Append(s1);
- s1 := s1 + #13#10;
- BlockWrite(Flog,S1[1],length(s1),i);
- FileName := s;
- end;
- DateTimeToString(S1,'hh:nn:ss',TNow);
- Form1.Memo1.Lines.Append(s1);
- s1 := s1 + #13#10;
- BlockWrite(Flog,S1[1],length(s1),i);
- end;
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- if not DirectoryExists('logs') then
- if not CreateDir('logs') then
-
-
- end;
-
- end.
 |
Вопрос задал: vsorokin (статус: Посетитель)
Вопрос отправлен: 21 декабря 2007, 11:44
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 3; последнее сообщение — 24 декабря 2012, 09:47; участников в обсуждении: 3.
|
min@y™ (статус: Доктор наук), 22 декабря 2007, 09:54 [#1]:
Цитата:
Требую запускать при включении питания компьютера.
Ну нафига тогда добавлять в назначенные задания? Не проще ли сделать ярлык и прописать его в автозагрузку или в реестр в автозапуск от нужного пользователя или для всех пользователей сразу?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
vsorokin (статус: Посетитель), 22 декабря 2007, 17:04 [#2]:
Автозагрузка предполагает запуск задачи только после входа пользователя в систему.
Система - под паролем. Задача состоит именно в запуске проги при включении компа (его перезагрузке). Не дожидаясь входа в систему пользователя.
У меня все работает, кроме отображения окна после входа пользователя в систему... В этом-то и вопрос.
|
|
DNK (статус: Студент), 24 декабря 2012, 09:47 [#3]:
Тут по идее служба нужна и управляющая оболочка для неё.
"Digital Networked Knight"
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|