![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
My Computer [D6, WinXP]
Pit © (2006-02-25 18:29:00)Доброго времени суток Мастера,меня интерисует такой вопрос , при использование функции
PostMessage(FindWindow(CabinetWClass, 'My Computer')), WM_CLOSE, 0, 0);
Окно My Computer закрвается нормально, если же использую
Wnd:= FindWindow(CabinetWClass, 'My Computer');
GetWindowThreadProcessID(Wnd, ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessID);
TerminateProcess(ProcessHandle,4);
Пропадает Task Bar, Tray Bar.
Обьясните пожалуйста поподробнее в чём здесь проблема или дайте ссылку где можно об этом почитать.
Заранее Спасибо.
Pit (2006-02-25 20:18:00) [1]Eraser Спасибоза ссылку, скачал, уже внимательно читаю.
Eraser (2006-02-25 19:57:00) [2]
> Pit © (25.02.06 19:20) [4]
> Хорошо почему здесь Wnd не принадлежит explorer.exe?
потому что принадлежит notepad.exe.
В таком ключе можно до бесконечности дисскутировать, пока ты не прочитаешь хотя бы вот это
http://www.podgoretsky.com/ftp/Docs/Classics/Richter/richter4ru.zip(3.2M)
:-)
Pit (2006-02-25 19:20:00) [3]Хорошо почему здесь Wnd не принадлежит explorer.exe?
Wnd := FindWindow('notepad', nil);
GetWindowThreadProcessID(Wnd, ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessID);
TerminateProcess(ProcessHandle,4);
Всё работает отлично.
Если есть желание могу привести код всей программы разберёшся помоги плиз.
Eraser (2006-02-25 19:13:00) [4]
> Pit © (25.02.06 19:10) [2]
вывод? - Wnd тоже принадлежит explorer.exe.
Pit (2006-02-25 19:10:00) [5]А если Dial-ap Connection
Wnd:= FindWindow( #32770, 'Caption');
GetWindowThreadProcessID(Wnd, ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessID);
TerminateProcess(ProcessHandle,4);
Происходит тоже, при чём explorer.exe.
Eraser (2006-02-25 19:03:00) [6]
> Pit © (25.02.06 18:29)
> PostMessage(FindWindow(CabinetWClass, 'My Computer')), WM_CLOSE,
> 0, 0);
закрывает указаное окно, а
> TerminateProcess(ProcessHandle,4);
закрывает explorer.exe