지난번 문의한바 있지만 원할하지 않아 다시 한번 올립니다.
사용 OS는 windows 2000으로 사용되는 환경입니다.
윈도2000에서 임의의 프로그램을 종료하는 방법을 모라 고수님들께 부탁드
립니다.
아래 함수는 이곳 자료실에서 사용하여 했습니다. 윈98에서는 원할하게는 돌아
가지만 윈2000에서는 전혀 된지가 않습니다.
function TForm1.IsRun(sFindFile : string): Boolean;
var
peList : TProcessEntry32;
hL, hP : THandle;
begin
Result := False;
peList.dwSize := SizeOf(TProcessEntry32);
hL := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if Process32First(hL, peList) then begin
repeat
if CompareText(peList.szExeFile, sFindFile) = 0 then begin
hP := OpenProcess(PROCESS_ALL_ACCESS, TRUE, peList.th32ProcessID);
TerminateProcess(hP, 0);
Result := True;
end;
until not Process32Next(hL, peList);
end;
CloseHandle(hL);
end;
Procedure TForm1.InRun;
Begin
if IsRun('c:uniqueTcpip.exe') then
begin
IP_Comp;
end
else
begin
IP_Comp;
end
end;