Показать сообщение отдельно
  #5  
Старый 16.01.2016, 20:33
EEjester EEjester вне форума
Прохожий
 
Регистрация: 03.07.2014
Сообщения: 15
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Архив и проект рабочие, результат показывает детальный список запущенных процессов

З.Ы. Кстати
а уничтожить
Код:
ReleaseMutex();

Это свой mutex. А чужой? Я уже как неделю мучаюсь. Через procexp запросто можно найти этот мутекс и убить.
Я написал dll, и инжектирую её в процесс который создал мутекс.
Код dll такой:
Код:
var
    Timer,i: dword;
    hProc1:HWND;
 
procedure TimerProc(hwnd, uMsg, idEvent, dwTime: dword);stdcall;
var
 PID:Integer;
 hMutex:THandle;
begin
 hProc1:=OpenProcess(PROCESS_DUP_HANDLE, false, GetCurrentProcessId);
 hMutex:=OpenMutex(MUTEX_ALL_ACCESS, true, '_!MSHISTORY!_');
 if hMutex <> 0 then ShowMessage('ok') else ShowMessage('nooo');
 DuplicateHandle(hProc1, hMutex, 0, 0, 0, false, DUPLICATE_CLOSE_SOURCE);
 CloseHandle(hMutex);
end;
 
begin
  Timer:=SetTimer(0,0,1000,@TimerProc);
end.

И всеравно не работает. Вот мой топик на форуме ваших коллег:
http://www.cyberforum.ru/delphi-begi...ad1639687.html
Ответить с цитированием