و عليكم السلام و رحمة الله
لم أفهم سؤالك جيدا أخي لكن جرب هذا
كود :
procedure KillProcess(hWindowHandle: HWND);
var
hprocessID: INTEGER;
processHandle: THandle;
DWResult: DWORD;
begin
SendMessageTimeout(hWindowHandle, WM_CLOSE, 0, 0,
SMTO_ABORTIFHUNG or SMTO_NORMAL, 5000, DWResult);
if isWindow(hWindowHandle) then
begin
{ Get the process identifier for the window}
GetWindowThreadProcessID(hWindowHandle, @hprocessID);
if hprocessID <> 0 then
begin
{ Get the process handle }
processHandle := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,
False, hprocessID);
if processHandle <> 0 then
begin
{ Terminate the process }
TerminateProcess(processHandle, 0);
CloseHandle(ProcessHandle);
end;
end;
end;
end;
كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
KillProcess(FindWindow('notepad',nil));
end;
وعليكم السلام ورحمة الله
أولا يجب أن نفهم معنى "إنشاء exe" هناك عدة طرق:
1- صناعة مترجم Compiler أو استخدام واحد جاهز (كان لدي مثال مصغر لا أذكر اسمه!)
2- إضافة exe ضمن مصادر برنامجك (Resource) ثم إخراجه في الوقت المناسب مع التعديل على مصادره Resource
وهذا ما يلجأ إليه غالبا لإصدار تطبيقات متماثلة زمن التشغيل.
الآن يبقى السؤال: ما الذي تود عمله من خلال إنشاء EXE؟
لم أقل أي خيار تفضل؟ بل قلت ما الذي تود عمله؟
بعبارة أخرى: لأجل ماذا ستقوم بإنشاء exe زمن التشغيل مع التعديل في المكونات التي ذكرتها؟
فربما نجد حلا أفضل