TService - глюк с сервисным приложением

Тема в разделе "Delphi - Компоненты", создана пользователем sCORpio80, 12 апр 2005.

Статус темы:
Закрыта.
  1. sCORpio80

    sCORpio80 Гость

    Пишу программу с помощью таймера отслеживаю какие окна активын и сохраняю в текстовый файл, когда работа и дет в обычном приложении все нормально, после того как я это вставил в сервисное и запускаю как сервис не работает. Помогите, please, может кто-нить знает в чем причина?
    Ошибка возникает где-то при работе с Handlt'ами
    Код:

    procedure TService1.Timer1Timer(Sender: TObject);
    Var hWnd_a : THandle;
    cap : array[0..255] of Char;
    sText : string;
    begin
    hWnd_a := GetForegroundWindow();
    if (hWnd_0 <> hWnd_a) {and (GetWindowText(hwnd_a, cap, SizeOf(cap))>0)} Then
    begin
    SetString(sText, cap, GetWindowText (hwnd_a, cap, SizeOf(cap)));
    AssignFile(F, File_Name);
    if FileExists(File_name) then Append(F)
    else Rewrite(F);
    Writeln(F, DateToStr(Now) +',' + TimeToStr(Now) + ',' + stext );
    closefile(F);
    end;
    hWnd_0 := hWnd_a;
    end;
    end.
     
  2. Barmutik

    Barmutik Гость

    Так и что конкретно не работает?

    Может быть сервис не может в файл записать? Может у него просто прав не хватает?

    Да и к слову .. потенциально Ваше приложение может пропустить измненения активного окна... т.е. в между вызовами таймера может произойти изменения активности несколько раз... в такую ситуации лучше пользоваться хуками...

    Да и второй момент... у вас как видно процедура не реинтерабельная(т.е. опвторновходимая) и поэтому стоит в начале обработкт процедуры OnTimer отключать таймер а по окончании включать его опять... потенциально убережёт от ошибок ...
     
Загрузка...
Похожие Темы - TService глюк сервисным
  1. lmike
    Ответов:
    14
    Просмотров:
    262
  2. Lariel
    Ответов:
    4
    Просмотров:
    395
  3. R4z0R
    Ответов:
    2
    Просмотров:
    3.229
  4. anna
    Ответов:
    17
    Просмотров:
    1.077
  5. NickProstoNick
    Ответов:
    0
    Просмотров:
    808
Статус темы:
Закрыта.

Поделиться этой страницей