![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| SergeM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 18.6.2002 Репутация: нет Всего: нет |
Help!
Как убить (завершить) корректно любую программу (в том числе DOSoвую) из другой программы. Пробовал TerminateProcess, но некоторые проги как-то некоректно завершаются (под Win98, Win2000). |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
А ты той проге WM_QUIT пошли
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| merz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 18.4.2002 Репутация: нет Всего: нет |
или WM_DESTROY
или BOOL DestroyWindow( HWND hWnd // handle to window to destroy ); |
|||
|
||||
| keisik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Только это не у всех срабатывает, например, если открыт скажем Word с несохранённым текстом, то выскочит окно "не хотите ли сохранить изменения" вместо закрытия. То же и с консольными приложениями. Надёжнее так: найти по окну процесс (GetWindowThreadProcessID), потом получить доступ к процессу (OpenProcess), а потом его грохнуть. (TerminateProcess).
Это понадёжнее будет. А то что некорректно, так что ж ты хочешь, он же ни библиотеки не выгружает, ничего не прибирает за собой, Винда просто срезает процесс и всё. --------------------
...None of that can stop us now,we will make it through somehow... |
|||
|
||||
| SergeM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 18.6.2002 Репутация: нет Всего: нет |
Спасибо всем ответившим.
Хочу продолжить обсуждение. Есть одна прога Driver Education (при запуске менят режим дисплея), после убийства которой при помощи TerminateProcess пропадает Taskbar вместе с кнопкой "старт" и системным треем. Как бы это всё восстановить? |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
А зачем её убивать?
З.Ы. Попробуй запустить своей прогой explorer.exe после убийства -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |