Я выкладываю приложение из своего приложения VB6. Тогда я хотел бы закрыть его. Как я могу снять это?Как закрыть обходной процесс в VB6
1
A
ответ
2
Проверьте это:
5
Here является метод VB6 Карла Петерсона для закрытия приложений. Как вы просите, это запрашивает красиво - отправка WM_CLOSE, а не использование TerminateProcess. Обратите внимание, что он отправляет сообщение всем окнам верхнего уровня, принадлежащим процессу, их может быть больше одного.
Я не пробовал это, но по моему опыту код Карла Петерсона всегда оценивает пять звезд из возможных пяти!
EDIT: Обратите внимание, что это отредактированная версия исходного ответа, а теперь ссылки на последнюю версию кода Карла. Если у кого-то есть вопросы по этому поводу, Карл все еще активен на VB6 newsgroup, но я не думаю, что он зависает в Stack Overflow.
Это хорошо, но завершает процесс с помощью TerminateProcess API, чтобы остановить приложение, что не так приятно (например, у процесса нет никаких шансов что-либо сохранить). Я бы предпочел закончить его с помощью SendMessage hWnd, WM_CLOSE, 0 &, 0 &, но для этого требуется получить дескриптор окна из идентификатора ProcessID – AngryHacker