PDA

View Full Version : سوال: بستن پروسس های برنامه با دلفی



mbshareat
جمعه 21 خرداد 1395, 10:19 صبح
سلام
من دو شبیه ساز اندروید نصب کردم:بلو استکس و ویندروی.
وقتی این دو برنامه رو می بندیم هنوز بقایایی در حافظه دارند.
مثلا وقیت بلو استکس رو می بندیم هنوز Bluestacks Agent در Processes تسک منیجر هست.
راهی هست که این بقایا رو با برنامه دلفی ببندم؟کدی سراغ دارید؟

mbshareat
جمعه 21 خرداد 1395, 10:35 صبح
کدش رو گیر اوردم اما نمی دونم چرا روی آپدیت nvidia کار نمی کنه!
uses
Tlhelp32;

function KillTask(ExeFileName: string): Integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeF ile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(
OpenProcess(PROCESS_TERMINATE,
BOOL(0),
FProcessEntry32.th32ProcessID),
0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//NVidia Update
KillTask('daemonu.exe');
//BlueStacks Processes
KillTask('HD-Agent.exe');
KillTask('HD-BlockDevice.exe');
KillTask('HD-LogRotatorService.exe');
KillTask('HD-UpdaterService.exe');
//Windroye
KillTask('WindroyeBoxSVC.exe');
end;