delphi4arab منتديات دلفي للعرب

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

اضف uses
Winapi.ShellAPI
شكرا لك اخي الكريم لكنني  هذه اول مرة اتعامل بهذا البرنامج
ممكن اضافة لو سمحت وهي طريقة جعل الفورم لا يظهر اي مخفي
وشكرا Shy
Form1.Hide;
وجدت الكود اخي شكرا لك
كود :
Application.Initialize;  Application.ShowMainForm:=False;  Application.CreateForm(TForm1, Form1);  Application.Run;
اريد عكس العملية اخواني بحيث اريد اخفاء البرنامج الذي اقوم بتشغيله
وهناك مشكلة عندما اشغل البرنامج الثاني لا يتوقف عن تشغيله يظل يشغله
ارجو الفكرة واضحة وشكرا

(19-09-2017, 07:04 PM)bidaya كتب : [ -> ]اريد عكس العملية اخواني بحيث اريد اخفاء البرنامج الذي اقوم بتشغيله
وهناك مشكلة عندما اشغل البرنامج الثاني لا يتوقف عن تشغيله يظل يشغله
ارجو الفكرة واضحة  وشكرا
اي البرنامج الرئيسي يفتح البرنامج الثاني ولا يتوقف على اعادة فتحه
اريد فتحه ويتوقف Wink
كود :
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;
[quote pid='42888' dateline='1505845792']
كود :
الف شكر لك اخي الكريم على الكود لكن البرنامج الذي تم تشغيله بالبرنامج الاساسي ظل ظاهر انا اريد البرنامج الثاني يشتغل لكن في الخفاء ولما اغلق البرنامج يغلق معه وشكرا مرتا اخرى

[/quote]

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