تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 3 اولاول 123 آخرآخر
نمايش نتايج 11 به 20 از 22

نام تاپيک: سوال: کمی پیچیده در رابطه با شل و اجرا کردن application

  1. #11
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    وقتی یه پروسه end process tree بشه همه برنامه هایی که قبلا باز کرده بوده هم همراهش بسته میشن. این قضیه در مورد cmd هم صادقه. حالا اگه قبل از end process tree شدن اون برنامه اول خودش به یه صورت دیگه بسته شه دیگه برنامه هایی که باز کرده بود بسته نمیشن.
    من تو این برنامه اومدم یه پروژه ساختم که هر کامندی بهش بدی به عنوان آدرس فایل اجرایی میگیره و به عنوان پارامتر برای ای پی ای ShellExecute در نظر میگیره. این پروژه رو کامپایل کردم و به صورت ریسورس قرار دادم تو پروژه main که آدرس فایل رو از ما میگیره.
    وقتی شما رو run کلیک میکنی اون فایلی که ریسورس شده بود اکسترکت میشه کنار برنامه. به همراه متن تکس باکس که به عنوان کامند براش ارسال میشه اجرا میشه. فایل ریسورس بعد از اجرا کار خودش رو که اجرای کامندی که براش ارسال شده هست رو انجام میده و بلافاصله بسته میشه تا end process tree نشه.
    چون رجیستری رو برنامه داخل ریسورسمون اجرا کرده نه برنامه اصلیمون که مشاهده میکنیم با end process tree شدن برنامه ما رجیستری بسته نمیشه. برنامه ریسورس هم که رجیستری رو اجرا کرده بود خودش بسته میشه تا کسی نتونه end process tree بکنتش.

  2. این کاربر از Payman_62 بخاطر این مطلب مفید تشکر کرده است


  3. #12
    اگه نباشه جاش خالی می مونه بهرام_62's Avatar
    تاريخ عضويت
    Jan 2008
    پست ها
    343

    پيش فرض

    Oh My God
    خیلی معرکه بود ایول

  4. #13
    پروفشنال MichaelQwerty's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    روبروی مانیتور کامپیوترم
    پست ها
    770

    پيش فرض

    سلام آقا پیمان ظاهرا این راه از همه بهتره
    من چیز زیادی در باره برنامه نویسی نمی دونم

    این پروژه رو کامپایل کردم و به صورت ریسورس قرار دادم تو پروژه main که آدرس فایل رو از ما میگیره
    یه آیکون سبز در پروژه هست که در قسمت project explorer قرار داره منظورتون همینه
    این که پسوندش res هست چه کاری انجام میده در چه مواردی استفاده میشه چطور میشه ساختش
    منظورتون چیه که گفتین
    من این پروژه رو کامپایل کردم
    مگه کامپایل کردن همون ّF5 نیست
    میبینید که وضع من زیاد خرابه لطفا جواب منو کامل بدید
    سپاسگزار میشم آقا پیمان

  5. #14
    پروفشنال MichaelQwerty's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    روبروی مانیتور کامپیوترم
    پست ها
    770

    پيش فرض

    آقا پیمان جواب مارو نمی خوای بدی

  6. #15
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    بله ریسورس همون آیکون سبزه هست. برای استفاده از ریسورس باید ریسورس ادیتور رو فعال کنید. از منوی add in گزینه add in manager رو بزن و vb6 resource editor تیک load unload و load on startupش رو بزن. یه آیکون سبز بالای صفحه زیر منوهات اضافه میشه که میتونی باهاش کار کنی. کار ریسورس اینه که میتونی هر فایلی با هر پسوندی دلت بخواد بذاری تو دل پروژت. بعدا هنگام ران شدن پروژه میتونی اکسترکتش کنی رو هارد و ازش استفاده کنی. من این جا پروژه اولی رو گذاشتم تو دل پروژه دومی و هنگام دستور اجرای فایل اونو اکسترکت کردم رو هارد و به کمکش فایل مورد نظر رو اجرا کرد.

    شما وقتی برنامه مینویسی بعدا چطور ازش استفاده میکنی؟ رو هر سیستمی بخوای ازش استفاده کنی سورس رو میبری و ویبی رو نصب میکنی و f5 میزنی؟ از منوی فایل Make project.exe رو بزنی یه فایل exe بهت میده که برنامت هست.

  7. #16
    پروفشنال MichaelQwerty's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    روبروی مانیتور کامپیوترم
    پست ها
    770

    پيش فرض

    خیلی ممنونم که راهنماییم کردین
    Make project.exe اینو میدونم منظورم این بود که زیاد چیزی بلد نیستم تا شما کامل تر توضیح بدین که دادین
    آقا پیمان من این بحث رو در forum دیگه ای مطرح کردم یکی این جوابو به من داد:
    اولين پارامتر تابع ShellExecuteA هندل پنجره اي است که تابع بايد تحت آن اجرا شود(hwnd)
    وقتي اين پارامتر رو با Me.hwnd يا Formx.hwnd مقدار دهي كنيد به اين معني هست كه برنامه موردنظر از طريق برنامه شما اجرا شود.

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

    موفق باشيد/
    حالا این هندلو با چه code ی در بیارم
    فکر نکنم جواب بده
    نظر شما در باره این راه چیه؟
    Last edited by MichaelQwerty; 18-01-2009 at 14:36.

  8. #17
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    اتفاقا منم همین فکر به ذهنم رسید. چون ابتدا با me.hWnd اجرا میکردم. یعنی هندل فرم برنامه خودم. بعد به جای هندل عدد 0 رو قرار دادم تا نتیجه رو ببنیم. ولی باز هم همون مشکل وجود داشت. حتی هندل یه برنامه دیگه که باز بود رو قرار دادم. ولی باز اون مشکل وجود داشت.
    ولی هندل اکسپلورر رو امتحان نکردم. امتحان میکنم نتیجه رو میگم.

  9. #18
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    من به جای اکسپلورر لیست کل پنجره های اصلی ویندوز که اکسپلورر رو هم شامل میشه رو گرفتم و هندل تک تکشون رو تست کردم.
    یعنی این لیست:


    فقط رو 2 تا پنجره 1 پیغام جالب داد و برنامه دوم بسته نشد.

    رو یکی از پنجره های M فقط 1 بار و رو پنجره CiceroUIWndFrame هم 2 بار این پیغام نمایش داده شد و برنامه دومی که باز کرده بودم بسته نشد. ولی برنامه اول بسته شد. این 2 پنجره رو شاید 5 یا 6 بار تست کردم. دفعه های بعد هر دو برنامه با هم بسته میشدن.

    نتیجه این که استفاده از هندل اکسپلورر و دیگر پنجره های اصلی ویندوز نتونست جلوی بسته شدن برنامه دوم رو بگیره.

  10. #19
    پروفشنال MichaelQwerty's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    روبروی مانیتور کامپیوترم
    پست ها
    770

    پيش فرض

    ممنونم که وقت میزارین تا جواب منو بدین
    حالا برگردیم به برنامه خودتون من چند تا مشکل دارم:
    dim bytrerunner() as byte
    این () این پرانتز جلوی متغیر چه تاثیری میزاره؟
    bytrerunner = loadresdata(101, "custom")
    عدد 101 چی اشاره داره؟؟
    put #1, , bytrerunner
    این دستور را اولین باره دیدم کارش چیه؟؟؟
    doevents
    این دستور چه وظیفه ای داره؟؟؟؟
    sleep 10
    این api کارش چیه کجاها به کار میره؟؟؟؟؟
    ببخشید زیاد شد

  11. #20
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    یکی از این pdf های ویبی رو دانلود کن و بخون. خیلی از سوالاتت برطرف میشه.
    پرانتز برای تعریف آرایه هست.
    101 کد فایل رویسورس شدست. اگه رو همون آیکون سبز پروژه کلیک کنی میبینی که فایل ریسورس شده کد 101 داره.
    put برای ذخیره مقدار تو فایل هست. یه چیزی مثل write و print.
    doevents به برنامه میگه برای توابع دیگه و ترد های دیگه هم وقت بذاره تا برنامه قفل نشه. در غیر این صورت فقط دستورات داخل حلقه اجرا میشه و برنامه لاک میشه.
    sleep با توجه به زمانی که بهش میدی یه مکث تو برنامه ایجاد میکنه. پارامترش بر اساس میلی ثانیست. یعنی 1000 بهش بدی 1 ثانیه مکث میندازه.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •