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

01.05.2009, 21:06
|
|
Познающий
Регистрация: 21.11.2008
Сообщений: 36
Провел на форуме: 117394
Репутация:
6
|
|
[DELPHI] процесс
как переделать этот код
PHP код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if FindWindow(nil, 'ICQ') <> 0 then
begin
ShowMessage('Окно найдено');
PostMessage(FindWindow(Nil, 'ICQ'), WM_QUIT, 0, 0); end
else
begin
ShowMessage('Окно Ненайдено');
Form1.Close; end;
end;
под процесс
то есть какие команды на поиск и на убивание процесса идут?
|
|
|

01.05.2009, 23:10
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Код:
GetWindowThreadProcessId(FindWindow(nil, 'ICQ'), pid);
p := OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
TerminateProcess(p, 0);
CloseHandle(p);
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

02.05.2009, 00:58
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
Более "правильная" функция, которой можно и системный процесс убить.
Код:
///////////////////////////////////////////////////////////
function ProcessTerminate(dwPID:Cardinal):Boolean;
var
hToken:THandle;
SeDebugNameValue:Int64;
tkp:TOKEN_PRIVILEGES;
ReturnLength:Cardinal;
hProcess:THandle;
begin
Result:=false;
// Добавляем привилегию SeDebugPrivilege
// Для начала получаем токен нашего процесса
if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES
or TOKEN_QUERY, hToken ) then
exit;
// Получаем LUID привилегии
if not LookupPrivilegeValue( nil, 'SeDebugPrivilege', SeDebugNameValue )
then begin
CloseHandle(hToken);
exit;
end;
tkp.PrivilegeCount:= 1;
tkp.Privileges[0].Luid := SeDebugNameValue;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
// Добавляем привилегию к нашему процессу
AdjustTokenPrivileges(hToken,false,tkp,SizeOf(tkp),tkp,ReturnLength);
if GetLastError()<> ERROR_SUCCESS then exit;
// Завершаем процесс. Если у нас есть SeDebugPrivilege, то мы можем
// завершить и системный процесс
// Получаем дескриптор процесса для его завершения
hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, dwPID);
if hProcess =0 then exit;
// Завершаем процесс
if not TerminateProcess(hProcess, DWORD(-1))
then exit;
CloseHandle( hProcess );
// Удаляем привилегию
tkp.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(tkp), tkp, ReturnLength);
if GetLastError() <> ERROR_SUCCESS
then exit;
Result:=true;
end;
///////////////////////////////////////////////////////////
|
|
|

02.05.2009, 14:39
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 Gar|k самое интерестное что каспер уже давно орет на попытку получения привелегий отладчика, так что могут с этим возникнуть проблемы.
Да и привелегии отладчика тут както не нужны, потому что врядли процесс аськи будет находится в пространстве другова юзверя.
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Процесс создания программного обеспечения для распределенных вычислений (С++).
|
c0n Difesa |
Авторские статьи |
9 |
09.06.2009 16:33 |
|
Процесс над The Pirate Bay: итоги первой недели
|
jerrri |
Мировые новости |
3 |
27.02.2009 00:24 |
|
Подозрительный процесс :/
|
GaLLe0n |
Защита ОС: вирусы, антивирусы, файрволы. |
7 |
24.01.2007 16:25 |
|
Как создать неубиваемый процесс
|
EST a1ien |
С/С++, C#, Delphi, .NET, Asm |
17 |
15.11.2006 23:56 |
|
Многопоточность в Unix
|
KEZ |
С/С++, C#, Delphi, .NET, Asm |
11 |
10.08.2005 18:29 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|