Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

08.12.2008, 19:48
|
|
Новичок
Регистрация: 08.12.2008
Сообщений: 8
Провел на форуме: 4529
Репутация:
1
|
|
Что я делаю нетак?
Хочу организовать метод doublerun на делфи. Суть такова - один процесс следит запущен ли другой а другой следит за первым. Если один из них умерает другой запускает его опять. Уже делал раз такое - работало наура. Сорцы потеряны. Вот собственно код, непойму почему неработает.
Код:
{$APPTYPE CONSOLE}
program test;
uses
SysUtils, Windows, Shellapi;
const
mutex1 :string = 'ABDCDBEFBDEBFAB';
mutex2 :string = 'EFDACBDFEABDCDF';
Begin
if (OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex1)) = 0) then
Begin
CreateMutex(nil, false, Pchar(mutex1));
Writeln(mutex1);
End else Begin
if (OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex2)) = 0) then Begin
CreateMutex(nil, false, Pchar(mutex2));
Writeln(mutex2);
End
End;
while true do begin
sleep(1000);
writeln(OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex1)));
writeln(OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex2)));
if (OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex1)) > 0) and
(OpenMutex(MUTEX_ALL_ACCESS, false, Pchar(mutex2)) > 0) Then
Begin
end else Begin
Shellapi.ShellExecute(0,'open',pchar(Paramstr(0)),'','',1);
sleep(10);
End;
end;
End.
|
|
|

08.12.2008, 19:50
|
|
Новичок
Регистрация: 08.12.2008
Сообщений: 8
Провел на форуме: 4529
Репутация:
1
|
|
Кто поможет написать?
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|