Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
ВнизЗакрытие программы Найти похожие ветки
← →
Лана Розанова (2003-04-21 19:18) [0]Как из своей программы закрыть другую. Весна, я все начинаю забывать...
СПАСИБО!!!
← →
default (2003-04-21 19:50) [1]WM_QUIT запость окну её
или TerminateProcess но это "некультурно" так как закрывает
процесс без уведомления
← →
Лана Розанова (2003-04-21 20:00) [2]Надо просто убить процесс. Я использую компонент создания отчетов в Excel. Он когда генерирует отчет в Диспетчере задач в Процессах появляется EXCEL.EXE Мне надо его убить. Как?
Я пробовала WM_QUIT и PostMessageм но FinвWindow даже Handle не находит... Что делать?
← →
default (2003-04-21 20:42) [3]вот держи
это я на скорую руку
может сразу через имя модуля можно...но щас времени на выяснение этого нет
вот функция
uses
TLHelp32;
function KillProcess(const FileName: String): Boolean;
var
sh: LongInt;
ps: PROCESSENTRY32;
begin
sh := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
ps.dwSize := SizeOf(ps);
if (sh <> -1) and Process32First(sh, ps) then begin
repeat
if ExtractFileName(ps.szExeFile) = ExtractFileName(FileName) then begin
TerminateProcess(OpenProcess(PROCESS_TERMINATE, False,
ps.th32ProcessID), 0);
Result := True;
Break;
end;
until not Process32Next(sh, ps);
CloseHandle(sh);
end;
end;
пример: KillProcess("PROJECT1.EXE");
Удачи!
← →
Лана Розанова (2003-04-21 21:32) [4]Все, спасибо, получилось!
← →
Pat (2003-04-21 23:18) [5]>Он когда генерирует отчет в Диспетчере задач в Процессах
>появляется EXCEL.EXE Мне надо его убить.
Дык а как же он тогда генерить отчет будет?
← →
Songoku (2003-04-21 23:23) [6]> default ©
Не хорошо красти чужие функции!!!
← →
default (2003-04-22 00:13) [7]to Songoku
я её сам писал
не веришь - твоё право
← →
Rol (2003-04-22 06:19) [8]И что же это за компонент такой, что не позволяет посредством своих методов закрывать ёксель?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c