Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выгружаю процесс, аиконкапроболжает висеть на 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]

ты куда его выгружаешь? на свалку?


Наверх

Титульная страница Поиск, карта сайта Написать письмо