CreateProcess
Спасибо за внимание!
:-?
делаем так:
//ищем окно
HWND hWnd = FindWindow(имя_класса_окна, название_окна);
DWORD pid;
//берем процесс к которому прявязано окно
GetWindowThreadProcessId(hWnd, &pid);
//открываем процесс на уничтожение
HANDLE hProc = OpenProcess(PROCESS_TERMINATE, FALSE, pid);
//завершаем процесс
TerminateProcess(hProc, -1);
Цитата:
Originally posted by _kolyan
Я делал так для оконного приложения. Но, в принципе, консольное пирложение это тоже оконное с именем класса окна ConsoleWindowClass
делаем так:
//ищем окно
HWND hWnd = FindWindow(имя_класса_окна, название_окна);
DWORD pid;
//берем процесс к которому прявязано окно
GetWindowThreadProcessId(hWnd, &pid);
//открываем процесс на уничтожение
HANDLE hProc = OpenProcess(PROCESS_TERMINATE, FALSE, pid);
//завершаем процесс
TerminateProcess(hProc, -1);
Я делал так для оконного приложения. Но, в принципе, консольное пирложение это тоже оконное с именем класса окна ConsoleWindowClass
делаем так:
//ищем окно
HWND hWnd = FindWindow(имя_класса_окна, название_окна);
DWORD pid;
//берем процесс к которому прявязано окно
GetWindowThreadProcessId(hWnd, &pid);
//открываем процесс на уничтожение
HANDLE hProc = OpenProcess(PROCESS_TERMINATE, FALSE, pid);
//завершаем процесс
TerminateProcess(hProc, -1);
Проблема в том, что мне не удается узнать класс окна консольного приложения, то ли он стандартный для всех?
Спасибо за внимание!
Цитата:
Originally posted by _kolyan
Я делал так для оконного приложения. Но, в принципе, консольное пирложение это тоже оконное с именем класса окна ConsoleWindowClass
делаем так:
//ищем окно
HWND hWnd = FindWindow(имя_класса_окна, название_окна);
DWORD pid;
//берем процесс к которому прявязано окно
GetWindowThreadProcessId(hWnd, &pid);
//открываем процесс на уничтожение
HANDLE hProc = OpenProcess(PROCESS_TERMINATE, FALSE, pid);
//завершаем процесс
TerminateProcess(hProc, -1);
Я делал так для оконного приложения. Но, в принципе, консольное пирложение это тоже оконное с именем класса окна ConsoleWindowClass
делаем так:
//ищем окно
HWND hWnd = FindWindow(имя_класса_окна, название_окна);
DWORD pid;
//берем процесс к которому прявязано окно
GetWindowThreadProcessId(hWnd, &pid);
//открываем процесс на уничтожение
HANDLE hProc = OpenProcess(PROCESS_TERMINATE, FALSE, pid);
//завершаем процесс
TerminateProcess(hProc, -1);
Спасибо.
Но каким образом задать свое имя окна консольного приложения?
Спасибо за внимание!
А имя окна по умолчанию соотвествует названию исполняемого файла с полным путем
по моему этого достаточно для уничтожения окна
Цитата:
Originally posted by _kolyan
Имя оконного класаа для всех консольных приложений одинаковое - ConsoleWindowClass
А имя окна по умолчанию соотвествует названию исполняемого файла с полным путем
по моему этого достаточно для уничтожения окна
Имя оконного класаа для всех консольных приложений одинаковое - ConsoleWindowClass
А имя окна по умолчанию соотвествует названию исполняемого файла с полным путем
по моему этого достаточно для уничтожения окна
Программу делаю не для себя! И если пользователь параллельно будет использовать другое Dos-приложение, то это может закончиться плачевно.
Цитата:
Originally posted by pas
Программу делаю не для себя! И если пользователь параллельно будет использовать другое Dos-приложение, то это может закончиться плачевно.
Программу делаю не для себя! И если пользователь параллельно будет использовать другое Dos-приложение, то это может закончиться плачевно.
Так ты знаешь или не знаешь какую программу тебе надо убить?
Если не знаешь, тогда и убить нельзя ;-))
А если знаешь, то так, как я писал выше.
Или убиваемая программа может лежать по разным непредсказуемым путям?
Цитата:
Originally posted by _kolyan
Так ты знаешь или не знаешь какую программу тебе надо убить?
Если не знаешь, тогда и убить нельзя ;-))
А если знаешь, то так, как я писал выше.
Или убиваемая программа может лежать по разным непредсказуемым путям?
Так ты знаешь или не знаешь какую программу тебе надо убить?
Если не знаешь, тогда и убить нельзя ;-))
А если знаешь, то так, как я писал выше.
Или убиваемая программа может лежать по разным непредсказуемым путям?
Спасибо, Николай, за помощь.
С вашей подачи я решил свои проблемы.
А имя консоли я просто подменяю функцией GetWindowText() на нужное мне.