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=8877)



خطأ في كود تشغيل برنامج اخر - bidaya - 18-09-2017

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله تعالى وبركاته
هذا اول مشاركة في هذا المنتدى الجميل
ابدء مع البرمجة ببرنامج  RAD Studio 
جربت الكود التالي لكن ظهر به خطأ
كود :
ShellExecute(Handle,'open',PChar('D:\fiel\FIEL.EXE'),nil, 'D:\fiel', SW_SHOWNORMAL) ;
[صورة: 150574912704741.png]D


RE: كود تشغيل برنامج اخر - mobile - 18-09-2017

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

اضف uses
Winapi.ShellAPI


RE: كود تشغيل برنامج اخر - bidaya - 18-09-2017

شكرا لك اخي الكريم لكنني  هذه اول مرة اتعامل بهذا البرنامج
ممكن اضافة لو سمحت وهي طريقة جعل الفورم لا يظهر اي مخفي
وشكرا Shy


RE: خطأ في كود تشغيل برنامج اخر - mobile - 18-09-2017

Form1.Hide;


RE: خطأ في كود تشغيل برنامج اخر - bidaya - 18-09-2017

وجدت الكود اخي شكرا لك
كود :
Application.Initialize;  Application.ShowMainForm:=False;  Application.CreateForm(TForm1, Form1);  Application.Run;



RE: خطأ في كود تشغيل برنامج اخر - bidaya - 19-09-2017

اريد عكس العملية اخواني بحيث اريد اخفاء البرنامج الذي اقوم بتشغيله
وهناك مشكلة عندما اشغل البرنامج الثاني لا يتوقف عن تشغيله يظل يشغله
ارجو الفكرة واضحة وشكرا

(19-09-2017, 07:04 PM)bidaya كتب : اريد عكس العملية اخواني بحيث اريد اخفاء البرنامج الذي اقوم بتشغيله
وهناك مشكلة عندما اشغل البرنامج الثاني لا يتوقف عن تشغيله يظل يشغله
ارجو الفكرة واضحة  وشكرا
اي البرنامج الرئيسي يفتح البرنامج الثاني ولا يتوقف على اعادة فتحه
اريد فتحه ويتوقف Wink


RE: خطأ في كود تشغيل برنامج اخر - mobile - 19-09-2017

كود :
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;



RE: خطأ في كود تشغيل برنامج اخر - bidaya - 20-09-2017

[quote pid='42888' dateline='1505845792']
كود :
الف شكر لك اخي الكريم على الكود لكن البرنامج الذي تم تشغيله بالبرنامج الاساسي ظل ظاهر انا اريد البرنامج الثاني يشتغل لكن في الخفاء ولما اغلق البرنامج يغلق معه وشكرا مرتا اخرى

[/quote]

(20-09-2017, 12:18 AM)bidaya كتب : معذرتا لقد تعلمت من عدت محاولات على هذا الكود وتم اخفاء الفورم الرئيسي والبرنامج الذي تم تشغيلع
الان يجب وظع كود اذا كان البرنامج الاول شغال واردت التشغيل تطلع رسالة بانه قيد التشغيل Dodgy



RE: خطأ في كود تشغيل برنامج اخر - mobile - 20-09-2017

كود :
program Project1; uses Forms, Windows, // ?? ???????? ??? ??????? Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} var HM: THandle; function Check: boolean; begin HM := OpenMutex(MUTEX_ALL_ACCESS, false, 'MyOwnMutex'); Result := (HM <> 0); if HM = 0 then HM := CreateMutex(nil, false, 'MyOwnMutex'); end; begin if Check then Exit; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.