PDA

View Full Version : سوال: کمی پیچیده در رابطه با شل و اجرا کردن application



good_boy
یک شنبه 29 دی 1387, 05:36 صبح
سلام میدونید که با استفاده از دستور شل میشه یه فایل اجرایی را از مسیر خاصی اجرا کرد حالا فرض کنید شما با دستور شل برنامه regedit.exe یا هر برنامه دیگری را باز کردید
Shell “regedit.exe”
حالا وقتی که برنامه ای که در آن دستور شل را استفاده کردید با استفاده از task manager به صورت End process tree ببندید همراهش regedit یا فایل اجرایی بسته می شه من این کار را با Api(ShellExecute) نیز آزمایش کردم که همین اتفاق افتاد
کسی هست که بدونه چطور میشه جلوی این کار را گرفت یا کدی هست که باعث بشه برنامه ای که توسط shell باز شده یعنی فایل اجرایی زیر مجموعه نشود مطابق شکل:
http://i43.tinypic.com/2wmjjlw.jpg

xxxxx_xxxxx
یک شنبه 29 دی 1387, 06:11 صبح
اولين پارامتر تابع ShellExecuteA هندل پنجره اي است که تابع بايد تحت آن اجرا شود(hwnd)
وقتي اين پارامتر رو با Me.hwnd يا Formx.hwnd مقدار دهي كنيد به اين معني هست كه برنامه موردنظر از طريق برنامه شما اجرا شود.

هندل Explorer را بدست آوريد و برنامه را تحت آن اجرا كنيد.

موفق باشيد/

good_boy
دوشنبه 30 دی 1387, 06:51 صبح
این نوشته به وسیله علی کشاورز (http://barnamenevis.org/forum/member.php?u=4729) پاک و از دید کاربران مخفی شده است. دلیل: از دکمه تشکر استفاده کنید
ممنون که تذکر دادین
آقای xxxxx من به صورت دستی هندل یه برنامه را جایگزین me.hwnd کردم وبرنامه رو تست کردم ولی با هم بسته شدند حالا اگه هندل explorer.exe را به برنامه بدهم اطمینان دارید که با هم بسته نمی شوند؟!

good_boy
سه شنبه 01 بهمن 1387, 05:35 صبح
کسی در این باره راهکاری نداره؟!!!

xxxxx_xxxxx
سه شنبه 01 بهمن 1387, 06:50 صبح
اون روشي كه گفتم امتحان كردم جواب نداد. شرمنده

بايد در مورد End process Tree بيشتر بدونيم.
اين بحث (http://forum.sysinternals.com/forum_posts.asp?TID=17362&PID=86460) رو دنبال كنيد.