Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
ВнизСерис для WinXP Найти похожие ветки
← →
TerminalHead © (2005-08-20 22:00) [0]Серис для 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) [1]исходники : http://vova.ws/service3.rar
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c