![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TerminateProcess не работает ;-) [D5, Win2k]
BoxTer © (2003-10-27 07:05:00)
Доброе утро!
У меня возникла такая проблема... Глупые юзеры работают в проге, написанной на фокспро 2.6 под винду. И вместо нажатия кнопочки выход просто сворачивают окно и запускают новое. И начинаются проблемы...
Я пытаюсь сделать прогу, которая будет висеть резидентом и будет "убивать" вторую копию приложения. Почти сделал, блин....
Пишу:
procedure L(H:HWND);
var app_hWnd: HWND ;
app_pid:DWORD ;
app_H:THANDLE ;
app_E_code:DWORD ;
Begin
app_hWnd := H;
GetWindowThreadProcessId(app_hWnd, @app_pid);
app_H := OpenProcess(PROCESS_ALL_ACCESS, TRUE, app_pid);
TerminateProcess(app_H, app_E_code);
end;
Эта зараза, вроде пытается убить, а в проге вылазит месага: "Cannot quit FoxPro". Я и так применяю тяжелую артиллерию... но не помогает.
Как быть?
BoxTer (2003-10-27 08:15:00) [1]
сенкс... заработало
SammIk (2003-10-27 07:57:00) [2]
TerminateProcess(app_H, app_E_code);
Херата какая 0 там поставь
BoxTer (2003-10-27 07:44:00) [3]
Этот вариант я пробовал рашьше... была таже самая история про "Cannot quit FoxPro". По-этому я перешел к TerminateProcess...
SammIk (2003-10-27 07:40:00) [4]
Проще посылать главному
окну сообщение WM_CLOSE
Тогда меньше проблем будет
SendMessage(HWND,WM_CLOSE,0,0);