View Full Version : سوال: اجرا شدن exe فقط زمانی که از برنامه ای دیگر فراخوانده شود
Nima_kyan
دوشنبه 04 آذر 1392, 13:33 عصر
سلام
دوستان من دو تا app مجزا (مثلا با نام های app1 و app2) دارم و میخوام app2 به تنهایی به هیچ وجه اجرا نشه و فقط زمانی که توسط app1 فراخوانده شد اجرا شه.
چطور میتونم این کار رو انجام بدم./
یوسف زالی
دوشنبه 04 آذر 1392, 14:04 عصر
چی؟!
راه درستش این نیست حمزه.
با این راه حتی اگر برنامه مورد نظر باز بود، برنامه با کلیک شدن باز خواهد شد.
بهتره به برنامه مورد نظر یک پارامتر کدشده بفرستید. در برنامه هم چک کنید ببینید پارامتری هست و شرایط رو احراز می کنه یا نه. مثلا یکی از شرایط می تونه PID پروسه میزبان باشه. البته بصورت کد شده.
من ترجیح می دم زمان رو هم بهش اضافه کنم.
Mask
دوشنبه 04 آذر 1392, 14:38 عصر
چی؟!
راه درستش این نیست حمزه.
با این راه حتی اگر برنامه مورد نظر باز بود، برنامه با کلیک شدن باز خواهد شد.
بهتره به برنامه مورد نظر یک پارامتر کدشده بفرستید. در برنامه هم چک کنید ببینید پارامتری هست و شرایط رو احراز می کنه یا نه. مثلا یکی از شرایط می تونه PID پروسه میزبان باشه. البته بصورت کد شده.
من ترجیح می دم زمان رو هم بهش اضافه کنم.
بستگی به حساسیت موضوع داره.
این روشی که گفتید قابل اعتماد تره.
Nima_kyan
دوشنبه 04 آذر 1392, 14:47 عصر
ممنون از راهنماییتون.
فقط من با ارسال پارامتر از app ای به app دیگه هم مشکل دارم.:ناراحت:
یوسف زالی
دوشنبه 04 آذر 1392, 19:12 عصر
با هم بسازید دیگه. پارامتر بچه خوبیه!
خب مومن چه مشکلی و چرا؟
hadisalahi2
چهارشنبه 06 آذر 1392, 12:13 عصر
از دست تو یوسی
ای یوسی چرا بچه مردم رو اذیت می کنی :قهقهه:
عزیزم بگو مشکلت چیه ، تا راهنماییت کنند
یوسف زالی
چهارشنبه 06 آذر 1392, 21:29 عصر
:چشمک:
برای ارسال کافیه در ShellExecute پارامتر رو هم ست کنید.
همین.
برای گرفتنش هم از ParamStr استفاده کنید.
hamid-nic
پنج شنبه 07 آذر 1392, 13:52 عصر
function ParamStr ( ParmIndex : Integer ) : string;
یوسف زالی
سه شنبه 25 آذر 1393, 18:47 عصر
این چه راهیه؟
برنامه نویسیم مثلا ها.
وسط کار یهو کرش کرد تکلیف چیه؟
Mask
سه شنبه 25 آذر 1393, 23:59 عصر
سلام
یه روش غیر اصولی اینه که:
میتونید پسوند app2 رو عوض کنید مثلاَ app2.dll
و در زمان فراخوانی قبل از فراخوانی پسوندش رو به app2.exe تغییر بدین و بعد از اتمام کار دوباره پسوندش رو به حالت اول برگردونید. البته این روش یه مشکل داره که اونم قابل حله.
جالب بود. بسی خندیدیم.
اگه قراره این عملیات کجکی انجام بشه نیاز به تغییر پسوند هم نیست، با یه Create Process همون فایل با پسوند DLL رو میشه اجرا کرد.
اما بهترین روش روش استاد خودمه.(حاج یوسف)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.