Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Серис для WinXP [D6, Win2k, WinXP]


TerminalHead ©   (2005-08-20 22:00:00) 

Серис для WinXP
Я пытаюсь сделать сервис для WinXP его задача должна заключатся в том чтобы запускатся вместе с ОС и проверять запущена ли определенная программа, и если она не запущена то запускать ее.
Только проблема в том что он все делает правильно за исключением того что программа в процессах висит, но она не работает, нет ни форм, ни других признаков ее работы. Но в процессах программа есть, и если ее завершить, то сервис как и надо запускает снова.
Притом если этот же код используется в обычном приложении то он работает отлично.
Вот код:
----

function EXE_Running(FileName: string; bFullpath: Boolean): Boolean;
var
 i: Integer;
 MyProcList: TstringList;
begin
 MyProcList := TStringList.Create;
 try
   GetProcessList(MyProcList);
   Result := False;
   if MyProcList = nil then
     Exit;
   for i := 0 to MyProcList.Count - 1 do
   begin
     if not bFullpath then
     begin
       if CompareText(ExtractFileName(MyProcList.Strings[i]), FileName) = 0
         then
         Result := True
     end
     else if CompareText(MyProcList.strings[i], FileName) = 0 then
       Result := True;
     if Result then
       Break;
   end;
 finally
   MyProcList.Free;
 end;
end;

procedure TXService.Timer1Timer(Sender: TObject);
begin
 if not EXE_Running('C:\WINDOWS\system32\Project1.exe', True) then
 begin
   StrPcopy(p1, '');
   if GetModuleHandle(p1) = 0 then
   begin
     StrPcopy(p2, 'C:\WINDOWS\system32\Project1.exe');
     w1 := WinExec(p2, SW_Restore);
   end;
 end;
end;

----


TerminalHead   (2005-08-20 22:08:00) [1]

исходники : http://vova.ws/service3.rar


Наверх

Титульная страница Поиск, карта сайта Написать письмо