|
убить процесс - Общение разработчиков - Программирование для Point Blank, общение и обсуждение разработок |
19.10.2012, 23:05
|
#1
|
|
|
|
Разведчик
|
Регистрация: 06.09.2012
Сообщений: 23
Популярность: 488
Сказал(а) спасибо: 10
Поблагодарили 11 раз(а) в 10 сообщениях
|
убить процесс
Народ подскажите сделал что то типо пб кил вот код
Код:
if(opt.wc.test)
{
system("TerminateProcess Pb.exe")==0;
}
Но при включении как бы идет постоянное закрытие и выйти можно ток через презагрузку компа что не так?
|
|
|
19.10.2012, 23:21
|
#2
|
|
|
|
Старший сержант
|
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
|
Re: убить процесс
if(opt.wc.test)
{
system("TerminateProcess Pb.exe")==0;
opt.wc.test=0;
}
И вроде TerminateProcess это не есть хорошо....
system("TASKKILL /S /F /IM Pb.exe /T")
________________
-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
Последний раз редактировалось крайслер; 19.10.2012 в 23:23.
|
|
|
19.10.2012, 23:33
|
#3
|
|
|
|
Разведчик
|
Регистрация: 06.09.2012
Сообщений: 23
Популярность: 488
Сказал(а) спасибо: 10
Поблагодарили 11 раз(а) в 10 сообщениях
|
Re: убить процесс
|
|
|
20.10.2012, 09:51
|
#5
|
|
|
|
Разведчик
|
Регистрация: 06.09.2012
Сообщений: 23
Популярность: 488
Сказал(а) спасибо: 10
Поблагодарили 11 раз(а) в 10 сообщениях
|
Re: убить процесс
|
|
|
20.10.2012, 09:52
|
#6
|
|
|
|
Разведчик
|
Регистрация: 11.09.2012
Сообщений: 5
Популярность: 224
Сказал(а) спасибо: 1
Поблагодарили 4 раз(а) в 4 сообщениях
|
Re: убить процесс
Если надо выход с игры то
Код:
if(opt.wc.test)
{
ExitProcess(0);
}
|
|
|
20.10.2012, 10:15
|
#7
|
|
|
|
Разведчик
|
Регистрация: 14.12.2011
Сообщений: 13
Популярность: 52
Сказал(а) спасибо: 22
Поблагодарили 26 раз(а) в 24 сообщениях
|
Re: убить процесс
Давным давно я пользовался этим кодом
Это добавь выше DllMain:
Код:
VOID killAll(__in_z LPCSTR szProcName)
{
CHAR szProcBuff[101];
DWORD pIDs[300], dwBytesReturned;
HANDLE hProcess;
INT i, procCount;
EnumProcesses(pIDs, sizeof(pIDs), &dwBytesReturned);
procCount = dwBytesReturned / sizeof(DWORD);
for (i = 0; i < procCount; i++)
{
if (pIDs[i] != 0)
{
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ | PROCESS_TERMINATE, 0, pIDs[i]);
GetModuleBaseName(hProcess, 0, szProcBuff, 100);
if (strcmp(szProcBuff, szProcName) == 0)
TerminateProcess(hProcess, EXIT_SUCCESS);
CloseHandle(hProcess);
}
}
}
А это добавь DllMain (под скрытием)
|
|
|
20.10.2012, 11:43
|
#8
|
|
|
|
Рыцарь-капитан
|
Регистрация: 29.01.2010
Сообщений: 547
Популярность: 41279
Сказал(а) спасибо: 692
Поблагодарили 2,270 раз(а) в 1,035 сообщениях
|
Re: убить процесс
TerminateProcess это ещё что такое
|
|
|
20.10.2012, 19:06
|
#9
|
|
|
|
Разведчик
|
Регистрация: 06.09.2012
Сообщений: 23
Популярность: 488
Сказал(а) спасибо: 10
Поблагодарили 11 раз(а) в 10 сообщениях
|
Re: убить процесс
|
Цитата: |
|
|
|
|
Сообщение от Ruslanaries$ |
|
|
|
|
|
|
|
Давным давно я пользовался этим кодом
Это добавь выше DllMain:
Код:
VOID killAll(__in_z LPCSTR szProcName)
{
CHAR szProcBuff[101];
DWORD pIDs[300], dwBytesReturned;
HANDLE hProcess;
INT i, procCount;
EnumProcesses(pIDs, sizeof(pIDs), &dwBytesReturned);
procCount = dwBytesReturned / sizeof(DWORD);
for (i = 0; i < procCount; i++)
{
if (pIDs[i] != 0)
{
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ | PROCESS_TERMINATE, 0, pIDs[i]);
GetModuleBaseName(hProcess, 0, szProcBuff, 100);
if (strcmp(szProcBuff, szProcName) == 0)
TerminateProcess(hProcess, EXIT_SUCCESS);
CloseHandle(hProcess);
}
}
}
А это добавь DllMain (под скрытием)
|
|
|
|
|
|
Ты забыл про это
#define EnumProcesses
#define GetModuleBaseName
если этого не сделать то пишет индефикатор не определен((
и я так понимаю этот код автоматически должен убивать пб ехе при инжекте сразу?
И еще при добавлениии killAll("PB.exe"); в длл майн то при инжекте вообще не появляется меню может что то не так я делаю но вроде там ошибится негде?
|
Цитата: |
|
|
|
|
|
|
|
|
|
TerminateProcess это ещё что такое
|
|
|
|
|
|
Может подскажеш как надо?
|
|
|
20.10.2012, 21:35
|
#10
|
|
|
|
Разведчик
|
Регистрация: 14.12.2011
Сообщений: 13
Популярность: 52
Сказал(а) спасибо: 22
Поблагодарили 26 раз(а) в 24 сообщениях
|
Re: убить процесс
microlab(1), Да его надо добавить в длл-маин и при инжекте сразу PB.exe убиваеться
|
|
|
20.10.2012, 21:52
|
#11
|
|
|
|
Разведчик
|
Регистрация: 06.09.2012
Сообщений: 23
Популярность: 488
Сказал(а) спасибо: 10
Поблагодарили 11 раз(а) в 10 сообщениях
|
Re: убить процесс
|
Цитата: |
|
|
|
|
Сообщение от Ruslanaries$ |
|
|
|
|
|
|
|
добавить в длл-маин
|
|
|
|
|
|
Яж писал что при добавлении его в длл-маин после инжекта меню вообще не появляется и никакой прцесс не закрывается.
вот
BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
killAll("PB.exe");
DisableThreadLibraryCalls(hDll);
if (dwReason==DLL_PROCESS_ATTACH)
{
надеюсь так понятней
Последний раз редактировалось microlab(1); 20.10.2012 в 21:55.
|
|
|
21.10.2012, 10:17
|
#12
|
|
|
|
Разведчик
|
Регистрация: 14.12.2011
Сообщений: 13
Популярность: 52
Сказал(а) спасибо: 22
Поблагодарили 26 раз(а) в 24 сообщениях
|
Re: убить процесс
Код:
#include <stdio.h>
#include <Windows.h>
#include <DbgHelp.h>
#include <Mmsystem.h>
#include <Psapi.h>
#pragma comment(lib, "psapi.lib")
...........................................................................................................
BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
DisableThreadLibraryCalls(hDll);
if (dwReason==DLL_PROCESS_ATTACH)
{
EraseHeaders(hDll);
HideModule(hDll);
killAll("PB.exe");
CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Твое (обычно MainProc),NULL,NULL,NULL);
}
return TRUE;
}
...........................................................................................
Попробуй
|
|
|
21.10.2012, 20:49
|
#13
|
|
|
|
Разведчик
|
Регистрация: 06.09.2012
Сообщений: 23
Популярность: 488
Сказал(а) спасибо: 10
Поблагодарили 11 раз(а) в 10 сообщениях
|
Re: убить процесс
|
|
|
21.10.2012, 21:25
|
#14
|
|
|
|
Старший сержант
|
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
|
Re: убить процесс
|
Цитата: |
|
|
|
|
|
|
|
|
|
теперь ток сделать что оно не автоматически убивало процесс а тогда когда я хочу тоесть нажатием в самом вх кнопки.
|
|
|
|
|
|
if(opt.wc.test)
{
killAll("PB.exe");
opt.wc.test=0;
}
________________
-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
|
|
|
21.10.2012, 21:56
|
#15
|
|
|
|
Разведчик
|
Регистрация: 06.09.2012
Сообщений: 23
Популярность: 488
Сказал(а) спасибо: 10
Поблагодарили 11 раз(а) в 10 сообщениях
|
Re: убить процесс
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 18:19.
|
|