ورود

View Full Version : اجرای چند فایل exe پشت سر هم



nassim_20
دوشنبه 10 تیر 1387, 11:04 صبح
می خوام چند فایل exe که setup هست رو یکی پس از دیگری اجرا کنم
بعد از نصب setup اولی و اتمام آن setup بعدی اجرا شود

اصغر (پآچ)
دوشنبه 10 تیر 1387, 11:48 صبح
سلام دوست من

ببین این فایلهای Exe رو خودت نوشتی یا فایل های اجرایی برنامه های دیگه می باشند؟

موفق و موید باشی

nassim_20
دوشنبه 10 تیر 1387, 15:51 عصر
نه این فایلها آماده هستند
مثلا فرض کنید قرار است سه برنامه word photoshop, acrobat یکی یکی نصب شوند البته کاربر نصب کنه من فقط می خواهم setup رو فراخوانی کنم و بفهمم که کی کاربر کار نصب رو تمام کرده حتی اگر انصراف از نصب رو زد بعدی فراخوانی شود

nassim_20
دوشنبه 10 تیر 1387, 16:29 عصر
البته کد فوق رو در دو حالت میخواهم هم اینکه کاربر برنامه exe رو اجرا کنه و در مورد دیگر می خواهم خودم اجرا کنم بدون اینکه کاربر بفهمد
که مورد اول رو فعلا بیشتر لازم دارم

nouri2015
دوشنبه 10 تیر 1387, 16:46 عصر
دستور winexecرو توی دلفی اجرا کن برای فهمیدن اینکه کدوم تمام شده کدش رو دارم اگر نتونستی چیزی پیدا کنی برات میذارم البته اگه free time داشته باشم

babak_delphi
دوشنبه 10 تیر 1387, 18:36 عصر
کد مورد نظر شما در سایت هست
با جستجو میتوانید پیدا کنید.

دنیای دلفی
دوشنبه 10 تیر 1387, 19:57 عصر
ببين اين كد بدرت مي خوره


function ExecAndWait(const Filename, Params: string;
WindowState: word): boolean;
var
SUInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: string;
begin
CmdLine := '"' + Filename + '"' + Params;

FillChar(SUInfo, SizeOf(SUInfo), #0);
with SUInfo do
begin
cb := SizeOf(SUInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := WindowState;
end;

Result := CreateProcess(NIL, PChar(CmdLine), NIL, NIL, FALSE,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, NIL,
PChar(ExtractFilePath(Filename)), SUInfo, ProcInfo);
if Result then
begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;

end;

nassim_20
چهارشنبه 12 تیر 1387, 11:09 صبح
اگه ممکنه در مورد پارامترهای این تابع توضیح دهید و یک مثال بزنید
و همچنین کد دیگری می خواهم که بدون دخالت کاربر مراحل نصب رو طی کند
با تشکر

nassim_20
یک شنبه 23 تیر 1387, 15:02 عصر
پارامتر Params در اینجا چیست؟

Hsimple11
یک شنبه 23 تیر 1387, 16:46 عصر
برای اجرای برنامه های Exe بصورت External میتوانید از توابع ShellAPI ویندوز کمک بگیرید.
در مورد این کد هم CmdLine متغیری است که مسیر و نام فایل اجرایی فایلی را که قرار است اجرا شود را در خود نگه می دارد بعلاوه هر پارامتری که برای فایل Exe خود تعریف میکنید. این پارامترها را در منوی Run>Parameters در قسمت Parameters تعریف میکنید توسط تابع ParamStr از آنها در برنامه خود استفاده میکنید. ParamStr هر پارامتری را که بخواهید در برنامه بر میگرداند. در مورد Cmdline هم میتوانید از هرکدام از پارامترهایی که قبلا تعریف کرده اید در آخر CmdLine بیاورید تا آن پارامترها در هنگام اجرای فایل اجرایی مورد نظر اعمال شوند. در مورد پارامترها Help خود دلفی را بخوانید.

Hsimple11
یک شنبه 23 تیر 1387, 21:09 عصر
مثلا پارامتر 0 مسیر کامل فایل اجرایی مورد نظر را با نام و پسوند فایل مشخص میکند.