![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выгружаю процесс, аиконкапроболжает висеть на TaskBar [D7, XP]
Zheksonz © (2009-07-31 15:46:00)Всем привет.
Собственно интересует как выгружать и иконку??? МОжет есть варианты обновления TaskBar_а???
Zheksonz (2009-07-31 18:35:00) [1]Удалено модератором
Dennis I. Komarov (2009-07-31 18:27:00) [2]
> тогда не факт вообще, что нужно рассматривать этот вариант.
> ..
конечно не факт... я же не знаю чего там за программа, а вот за "KillTask" можно и пяткой в ухо получить...
Zheksonz (2009-07-31 18:18:00) [3]
> не факт что получив такое сообщение программа закроется.
> ..
тогда не факт вообще, что нужно рассматривать этот вариант... может тогда всё-таки обновлять TaskBar?
Dennis I. Komarov (2009-07-31 18:12:00) [4]
> Zheksonz (31.07.09 18:08) [8]
не факт что получив такое сообщение программа закроется...
Zheksonz (2009-07-31 18:08:00) [5]
SendMessage(WinHandle, WM_SYSCOMMAND, SC_CLOSE, 0)чувствую, что это то, что нужно... только как мне определить хэндл программы по имени exe файла???
Dennis I. Komarov (2009-07-31 17:58:00) [6]
> И это называется убиваю???
ес-но...
Zheksonz (2009-07-31 17:50:00) [7]
> Dennis I. Komarov © (31.07.09 17:31) [5]
KillTask))) И это называется убиваю???
Dennis I. Komarov (2009-07-31 17:31:00) [8]И это называется выгружаю... :)
Zheksonz (2009-07-31 17:21:00) [9]
> clickmaker © (31.07.09 15:51) [3]
спасибо
clickmaker (2009-07-31 15:51:00) [10]если это процесс с окном, то проще послать ему SendMessage(WinHandle, WM_SYSCOMMAND, SC_CLOSE, 0)
Zheksonz (2009-07-31 15:49:00) [11]
function killtask(exefilename: string): integer;
const
process_terminate=$0001;
var
continueloop: bool;
fsnapshothandle: thandle;
fprocessentry32: tprocessentry32;
begin
result := 0;
fsnapshothandle := createtoolhelp32snapshot
(th32cs_snapprocess, 0);
fprocessentry32.dwsize := sizeof(fprocessentry32);
continueloop := process32first(fsnapshothandle,
fprocessentry32);
while integer(continueloop) <> 0 do
begin
if ((uppercase(extractfilename(fprocessentry32.szexefile)) =
uppercase(exefilename))
or (uppercase(fprocessentry32.szexefile) =
uppercase(exefilename))) then
result := integer(terminateprocess(openprocess(
process_terminate, bool(0),
fprocessentry32.th32processid), 0));
continueloop := process32next(fsnapshothandle,
fprocessentry32);
end;
closehandle(fsnapshothandle);
end;
Palladin (2009-07-31 15:47:00) [12]ты куда его выгружаешь? на свалку?