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

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

Explore.exe [D6, D7, Win95/98, WinXP]


aga ©   (2003-02-21 19:29:00) 

кто знает как завершит процесс "Explore.exe"?


aga   (2003-02-24 13:03:00) [1]

да мне кстати это и нужно было - перезагрузить експлорер, правда я думал что нужно завершить а потом вновь запустить...
Всё равно всем спасибо!


DVM   (2003-02-24 09:26:00) [2]

Можно еще по имени exe файла процесс закрыть в том примере на который ссылка выше есть именно это.
Кстати под Win2000 и WinXp даже с помощью TerminateProcess закрыть Explorer не удается (или удается но не с первого раза) - он запускается вновь.


aga   (2003-02-23 17:14:00) [3]

мда...

а я вот и ответ нашел:

const
PROCESS_TERMINATE = $0001;

procedure TForm1.Button1Click(Sender: TObject);
var
TheWindow: hwnd;
ProcessId: integer;
ProcessHandle: cardinal;
begin
TheWindow := FindWindow("Progman", nil);
GetWindowThreadProcessID(TheWindow, @ProcessId);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);


end;


DVM   (2003-02-23 14:37:00) [4]

http://delphi.chertenok.ru/download/processviewer.zip


Aga   (2003-02-23 13:12:00) [5]

2DVM
я знаю такую ф-цию но незнаю как ид процесса найти, иожет подскажешь?


DVM   (2003-02-23 08:57:00) [6]


> SendMessage(Wnd,WM_CLOSE,0,0);

Ха-Ха. Так его не закрыть. Можно попробовать TerminateProcess.


aga   (2003-02-22 14:02:00) [7]

2Nemo
что-то твоя подсказка не работает:(


Nemo   (2003-02-22 01:43:00) [8]

в любой нужной процедуре вызываешь
EnumWindows(@ParentWindows, integer(PChar(FName)));

// А это сама функция ParentWindows
function ParentWindows(Wnd: HWND; Info: Pointer): Boolean; stdcall;
var FName: array[0..MAX_PATH] of Char;
begin
// Возвращает файл которому пренадлежит это окно
Windows.GetWindowModuleFileName(Wnd, FName, MAX_PATH);
// Если это искомый файл, то закрываем это окно
if "explorer.exe" = ExtractFileName(UpperCase(StrPas(Info))) then SendMessage(Wnd,WM_CLOSE,0,0);
end;


ZZ   (2003-02-21 23:57:00) [9]

А в yandex"е поискать слабо?


aga   (2003-02-21 20:26:00) [10]

а может всё таки покажете пример??!


Anatoly Podgoretsky   (2003-02-21 20:13:00) [11]

Тогда зачем спрашиваешь про Explore


aga   (2003-02-21 19:55:00) [12]

а можно примерчик?я просто даже не знаю как завершить любой процесс...


Anatoly Podgoretsky   (2003-02-21 19:34:00) [13]

Также как и любой другой.


Наверх

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