| 
| 
 | Вопрос # 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" |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |