delphi4arab منتديات دلفي للعرب
كيف أجل البرنامج يغلق بع إتهاء مهمته - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف أجل البرنامج يغلق بع إتهاء مهمته (/showthread.php?tid=6361)



كيف أجل البرنامج يغلق بع إتهاء مهمته - sad007 - 01-08-2014

السلام عليكم و رحمة الله و بركاته

أنا مبتدأ في عالم الدلفي :d و قد قمت بإنشاء برنامج صغير يقوم تشغيل برنامج معيّن في حاسوبي بمجرد الضغط عليه لكن لا أعرف كيف أجعل البرنامج يقفل بعد الإنتهاء من مهمته أوتوماتيكيا


كيف أجل البرنامج يغلق بع إتهاء مهمته - mobile - 01-08-2014

وعليكم السلام ورحمة الله وبركاته ومغفرته

هل تقصد هذا ؟
PHP كود :
Execute a program and wait until it has finished. The following example uses the ShellExecuteEx API function.

 
// Execute the Windows Calculator and pop up
 // a message when the Calc is terminated.
 
uses ShellApi;
 ...
 var
    
SEInfo: TShellExecuteInfo;
    
ExitCode: DWORD;
    
ExecuteFile, ParamString, StartInString: string;
 
begin
    ExecuteFile
:='c:\Windows\Calc.exe';
 
    
FillChar(SEInfo, SizeOf(SEInfo), 0) ;
    
SEInfo.cbSize := SizeOf(TShellExecuteInfo) ;
    
with SEInfo do begin
      fMask 
:= SEE_MASK_NOCLOSEPROCESS;
      
Wnd := Application.Handle;
      
lpFile := PChar(ExecuteFile) ;
 {
 
ParamString can contain the
 application parameters
.
 }
 
// lpParameters := PChar(ParamString) ;
 
{
 
StartInString specifies the
 name of the working directory
.
 If 
ommited, the current directory is used.
 }
 
// lpDirectory := PChar(StartInString) ;
      
nShow := SW_SHOWNORMAL;
    
end;
    if 
ShellExecuteEx(@SEInfo) then begin
      repeat
        Application
.ProcessMessages;
        
GetExitCodeProcess(SEInfo.hProcess, ExitCode) ;
      
until (ExitCode <> STILL_ACTIVE) or
      
Application.Terminated;
      
ShowMessage('Calculator terminated') ;
    
end
    
else ShowMessage('Error starting Calc!') ;
 
end; 



كيف أجل البرنامج يغلق بع إتهاء مهمته - sad007 - 01-08-2014

أولا مشكور أخي على الرد السريع لكن ليس هذا الكود و برنامجي هو صغير فقط يفتح البرنامج الآخر
كود :
shellexecute(handle,'open','d:\dot.exe',nil,nil,sw_hide);
كيف أضيف له كود بغلق بعد الإنتهاء من فتح البرنامج الآخر exit


كيف أجل البرنامج يغلق بع إتهاء مهمته - mobile - 01-08-2014

تفضل اخي

كود :
procedure TForm1.btn1Click(Sender: TObject); begin ShellExecute(Handle, 'open', 'e:\app.exe', nil, nil, SW_SHOWNORMAL) ; Application.Terminate; end;



كيف أجل البرنامج يغلق بع إتهاء مهمته - sad007 - 01-08-2014

وصل أخي و شكرا Smile