Форум: "WinAPI";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Внизkill process Найти похожие ветки
← →
Milz (2002-02-14 16:09) [5]При просмотре окон запоминать WindowHandle, например вместо
ListBox1.Items.Add(StrPas(buff));
применять
ListBox1.Items.AddObject(StrPas(buff),tObject(Wnd));
На кнопку KILL несколько вариантов:
1. Говорит окну приложения завершить работу
PostMessage(WindowHandle, WM_QUIT, 0, 0);
2. Завершить процесс, который вызвал данное окно
GetWindowThreadProcessID(WindowHandle, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);
3. Окошко "Программа выполнила недопустимую операцию ..." (сори, не помню кто это писал)
function EndTask(Wnd: HWND; PrID: DWORD; Title: PChar; Flags: DWORD): DWORD; stdcall; external "user32.dll";
Wnd - ссылка на окно, процесс которого нужно завершить
PrID - идентификатор процесса, который нужно завершить
( используется либо Wnd либо PrID. Преимущество отдается Wnd)
Title - используется если не задан Wnd, а задан PrID. Этот текст выводится в заголовке системного окна "Приложение не реагирует ... " Если же задана ссылка на окно Wnd, то используется заголовок окна, а этот параметр игнорируется.
Flags =
0 - Выводится системное окно "Приложение не реагирует на системные запросы ... " с кнопками "Завершить задачу" и "Отменить"
1 - Выводится системное окно "Приложение не реагирует на системные запросы ... " с кнопками "Подождать", "Завершить задачу" и "Отменить"
>1 - Ничего не выводится, нриложение завершается.
Возвращаемое значение:
0 - Ошибка в параметрах
2 - Пользователь нажал "Отмена" или такого процесса/окна не существует.
3 - Процесс успешно завершен.
4 - Пользователь нажал кнопку "Подождать"
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c