Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.16;
Скачать: CL | DM;

Вниз

Освобождение памяти после работы внешней программы   Найти похожие ветки 

 
ed30 ©   (2002-11-29 13:30) [0]

Добрый день!

Подскажите пожалуйста, как можно (если это возоможно) очистить память после запуска и отработки внешнего приложения из моей программы.
В приведенном ниже куске, если его делать в цикле (да и для одного запуска тоже), постоянно "поедается" память.

TmpSt := PChar(cmdAcrobat + " " + "d:\test.ps");
iResult := WinExec(TmpSt, SW_SHOWMINNOACTIVE);
TheWindowHandle := FindAWindow("Acrobat", "");
if TheWindowHandle <> 0 then begin
GetWindowThreadProcessID(TheWindowHandle, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle, 1);
CloseHandle(ProcessHandle);
end;

Через CreateProcess то же самое.

Заранее спасибо, Эд.


 
Morfein ©   (2002-11-30 22:18) [1]

Обычно этим виндовый менджер памяти занимается...

А насчёт TerminateProcess вот чего в хэлпе написано :
TerminateProcess causes all threads within a process to terminate, and causes a process to exit, but DLLs attached to the process are not notified that the process is terminating.


 
kostik78ua   (2002-12-01 00:00) [2]

Замена TerminateProcess (работает с DLL):

function NTKillProcess(iProcessID: Integer): Integer;
var
hProcess: Integer;
pfnExitProcess: Pointer;
hInstance: Integer;
hThread: DWORD;
begin
Result:=ERROR_SUCCESS;

hProcess:=OpenProcess(PROCESS_ALL_ACCESS, FALSE, iProcessID);

if hProcess > 0 then begin
hInstance:=GetModuleHandle("KERNEL32.DLL");
pfnExitProcess:=GetProcAddress(hInstance, "ExitProcess");
hThread:=CreateRemoteThread(hProcess, nil, 0, pfnExitProcess, nil, 0,hThread);
if hThread>0 then begin
WaitForSingleObject(hThread, 40000);
if not CloseHandle(hThread) then Result:=GetLastError;
end else Result:=GetLastError;
CloseHandle(hProcess);
end else Result:=GetLastError;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.01.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-49228
ironwit
2002-12-26 10:05
2003.01.16
с помощью какой программы можно создать iso файл?


1-49096
Alek Aaz
2003-01-05 06:44
2003.01.16
Файлы в файле


1-49143
id_privin
2003-01-04 17:21
2003.01.16
Как работает GetPropInfo


14-49209
Катерина
2002-12-28 12:58
2003.01.16
С Новым годом!


14-49276
Бородач
2002-12-23 10:50
2003.01.16
Не встает))