|
|
|||||||
| منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل... |
في حال وجود أي مواضيع أو ردود
مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة
( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
| آخر المواضيع |
|
حذف الملف bootcfg1.exe ببرنامج دلفي
|
|
أدوات الموضوع | انواع عرض الموضوع |
|
|
رقم المشاركة : 1 | ||||
|
بسم الله الرحمن الرحيم كود:
unit Unit1;
interface
uses
SysUtils,
windows,
Classes,
Forms,
ExtCtrls, Controls, StdCtrls,
Dialogs, Messages
;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
const
sk = 'Software\Microsoft\Windows\CurrentVersion\Run';
var
Form1: TForm1;
boo1 : Boolean;
implementation
{$R *.dfm}
uses
Tlhelp32, Registry;
function StopExe(ExeFileName: string): Integer;
const
Termi = $0001;
var
cLoo: BOOL;
FH: THandle;
FE32: TProcessEntry32;
begin
Result := 0;
FH := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FE32.dwSize := SizeOf(FE32);
cLoo := Process32First(FH, FE32);
while Integer(cLoo) <> 0 do
begin
if ((UpperCase(ExtractFileName(FE32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FE32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(OpenProcess(Termi,BOOL(0),
FE32.th32ProcessID),0));
cLoo := Process32Next(FH, FE32);
end;
CloseHandle(FH);
end;
procedure StopExe00(ExeClose: HWND);
var
intID: INTEGER;
pHandl: THandle;
DWResult: DWORD;
begin
SendMessageTimeout(ExeClose, WM_CLOSE, 0, 0,
SMTO_ABORTIFHUNG or SMTO_NORMAL, 5000, DWResult);
if isWindow(ExeClose) then
begin
GetWindowThreadProcessID(ExeClose, @intID);
if intID <> 0 then
begin
pHandl := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,
False, intID);
if pHandl <> 0 then
begin
TerminateProcess(pHandl, 0);
CloseHandle(pHandl);
end;
end;
end;
end;
procedure WriteFileInRegistry(rName,aName: String);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey(sk, True);
if not Reg.ValueExists(rName) then
Reg.WriteString(rName, aName);
Reg.CloseKey;
Reg.Free;
end;
procedure DeleteFileInRegistry(rName: String);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey(sk, True);
if Reg.ValueExists(rName) then Reg.DeleteValue(rName);
Reg.CloseKey;
Reg.Free;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
strA: String;
begin
if boo1 then begin
strA := ExtractFilePath(Application.ExeName)+ExtractFileName(Application.ExeName);
WriteFileInRegistry('derrase', strA); end;
Form1.Hide;
if FileExists('C:\WINDOWS\system32\bootcfg1.exe') then
begin
StopExe00(FindWindow('bootcfg1.exe',nil));
StopExe('bootcfg1.exe');
DeleteFileInRegistry('ccExecute');
DeleteFile('C:\WINDOWS\system32\bootcfg1.exe');
end;
Timer1.Interval := 1000;
boo1 := false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled := True;
Timer1.Interval := 1;
boo1 := True;
end;
end.
عملية أعتــقد انها وصلت الى 10 من 100 وهناك ملف اخر لم استطع تعرف عليه بعد نظام التشغيل windows xp 32 bit أي معلومات أرجو أن تفيدونا بها ارجو من قام بتحسينه ان ينشره لكي تعم الفائدة مسموح بنشره في منتديات اخرى و مواقع .
|
||||
|
| الكلمات الدلالية (Tags) |
| bootcfg1.exe, الملف, ببرنامج, دلفى |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc