PDA

View Full Version : سوال: ارتباط با سایر نرم افزار های اجرایی در ویندوز ، تبادل دیتا از برنامه خودتان با سایر برنامه های APP



امیر مهرشاد
پنج شنبه 28 شهریور 1392, 13:31 عصر
دوستان و اساتید گرامی سلام


چطور میشه اطلاعاتی رو از برنامه خودمان (مثلا یه رشته یا تکس) به برنامه در حال اجرایی که در آن یک تکس باکس وجود دارد رو پاس بدیم و یا بالعکس اطلاعاتی که در تکس باکس اون برنامه قرار داده به تکس باکس برنامه خودمون وارد کنیم

فک کنم باید درگیر پیامهای ویندوز یا همون هوک بشیم یا راه حل ساده تری نیز وجود دارد چون اغلب استفاده از هوک بخاطر افزایش پردازش سیستم توصیه نمی شود

خواهشا نگید با موش پوزیشن محل مورد نظر رو بگیرم و با کلیپ برد و تایمر کار کنم چون ضریب خیلی خوبی با توجه به جابجایی فرم ها و ... ندراه لطفا راهکار اصولی بگید چیه :متفکر:

m_ali_gho
پنج شنبه 28 شهریور 1392, 13:45 عصر
از namedpipe استفاده کن. یکی از اصولی ترین و بهترین و آسون ترین راه های انتقال اطلاعات بین دو تا برنامه تو ویندوز هستش. البته راه های دیگه هم وجود داره اما میشه گفت این آسون شده چند تای دیگه هستش.

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:07 عصر
از namedpipe استفاده کن.

میشه یک بیشتر توضیح بدید این کامپوننت هست یا یه چیز دیگست یه ایده ای چیزی لااقل ؛ممنون

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:13 عصر
[QUOTE=امیر مهرشاد;1879544]از namedpipe استفاده کن.

توی این لینک (http://www.codeproject.com/Tips/492231/Csharp-Async-Named-Pipes) توضیحات خوبی داره دوستانی که تمایل دارند حتما یه نگاهی بندازن

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:15 عصر
چند تای دیگه هستش

لطفا در این مورد هم توضیحاتی بدید

m_ali_gho
پنج شنبه 28 شهریور 1392, 16:16 عصر
نه کامپوننت هستش نه ایده!!!:قهقهه:
این یه تکنولوژیه. خوب یه سرچ بزن دیگه

آموزش استفاده از Pipe ها (ارسال و دریافت اطلاعات دو برنامه جدا از هم با لوله) (http://barnamenevis.org/showthread.php?306543-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-Pipe-%D9%87%D8%A7-(%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%88-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D9%88-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AC%D8%AF%D8%A7-%D8%A7%D8%B2-%D9%87%D9%85-%D8%A8%D8%A7-%D9%84%D9%88%D9%84%D9%87))

C#‎‎‎‎‎ Named Pipes with Async (http://www.codeproject.com/Tips/441841/Csharp-Named-Pipes-with-Async)

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:17 عصر
البته این بیشتر همون سوکت خودمونه ولی نگفتید چطور به کنترل های یک اپلیکیشن دیگه دسترسی داشته باشیم اصلا چطور اونا رو میشه در اختیار گرفت ؟

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:24 عصر
[QUOTE=m_ali_gho;1879553]نه کامپوننت هستش نه ایده!!!:قهقهه:

اینجاشو متوجه نمیشم این بقول خودت تکنولوژی مال موقعی که دو تا اپلیکیشنو خودن نوشته باشی (کلاینت - سرور) چطور باید مقادیری که مثلا داخل برنامه ارسال فاکس نمایش داده میشه رو در اختیار برنامت قرار بدی یا هر برنامه نوشته شده با زبان دیگه ؟؟؟

m_ali_gho
پنج شنبه 28 شهریور 1392, 16:26 عصر
رسیدیم به جای خوبش!!! خوب اگه شما تو این مورد به نتیجه رسیدی به منم بگو چون واقعا لنگشم. یه مدتی بود به این فکر افتاده بودم که پیام هایی که بین برنامه ها رد و بدل میشه یه فرمت خاصی داشته باشه. مثلا اولش بگه که اینی که اومده چیه و قراره چی کار کنه. و بعدشم اصل پیام. بعد هم با یه switch اونها رو از هم تفکیک بدم و کاری که قراره انجام بشه رو انجام بدم. اما این روش محدودیت داشت. میبایست از قبل همه چی رو پیش بینی میکردم و اگه یه وقتی بحث یه درخواست جدید پیش میومد اونوقت بود که دیگه ...
شاید دوستان بلد باشن و بدونن. امیدوارم که کمک کنن

m_ali_gho
پنج شنبه 28 شهریور 1392, 16:28 عصر
شما میخوای برنامه ای رو که خودت ننوشتی رو با یه برنامه دیگه در اختیار بگیری؟ یعنی فکر میکنی نویسنده برنامه بهت اجازه چنین کاری رو میده؟

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:29 عصر
تا بحال شده نیاز داشته باشید که دو تا برنامه جدا از هم رو طوری بنویسید که به راحتی بتونن کلی اطلاعات بین هم دیگه رد و بدل کنن؟

جمله ای که به اون اشاره شده دقیقا خط چهارمیه که لینکشو داده بودید :تشویق:

m_ali_gho
پنج شنبه 28 شهریور 1392, 16:31 عصر
عزیزم دقت کن
هر دو تا برنامه رو خودت باید نوشته باشی.
همون جمله ای که بهش اشاره میکنی داره همین موضوع رو میگه.

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:34 عصر
شما میخوای برنامه ای رو که خودت ننوشتی رو با یه برنامه دیگه در اختیار بگیری؟ یعنی فکر میکنی نویسنده برنامه بهت اجازه چنین کاری رو میده؟

گل پسر ربطی به نویسنده نداره توی توابع api حتما یک سری ایونت ها هستش که بمحض هر رخدادی درون سیستم عامل میشه یه سری شنود هایی رو روی اونا انجام داد چون پایه ویندوز مبتنی بر همین ارسال و دریافت پیامهاست احتمالا باید برم دنبال همین

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:38 عصر
m_ali_gho عزیز

سوال من دقیقا عکس راهنمایی هایی که عنایت فرمودید هست یعنی واقعا هیچ راهی برای بدست آوردن یه سری مقادیر از یک برنامه دیگه ای که خودت ننوشته باشی نیست ؟
در هر صورت از راهنمایی های شما دوست عزیز ممنونم

امیر مهرشاد
پنج شنبه 28 شهریور 1392, 16:42 عصر
شما میخوای برنامه ای رو که خودت ننوشتی رو با یه برنامه دیگه در اختیار بگیری؟ یعنی فکر میکنی نویسنده برنامه بهت اجازه چنین کاری رو میده؟

شما چطور هندل پنجره های فعال یا ... رو بدست میارید یا چطور پروسس هایی که در حال اجرا هستند بدست میارید ؟

آیا نویسنده در این مقوله اشاره شده فوق جایی دارد ؟ این احتمالو میدم همانطور که هندل پینجره ها رو میشه با توابعی بدست آورد میشه دسترسی به سایر قسمت های یک اپلیکیشن هم داشته باشیم .
از اساتید تقاضای راهنمایی دارم