الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة اريد تصميم برنامج يتقر زر في برنامج اخر

بدأه tornado320 في 14 مايو 2009 · 11 رد · 1,099 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الله يعطيكون العافة

بس لو سمحتو انا بدّي طريقة او كود لنقر زر في برنامج اخر

ارجو المساعة

------------------

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

مرفق مثال بسيط مكون من مشروعين .. Target و Simple

الـ Target هو المشروع الذي يحوي الزر المطلوب نقله

والـ Simple هو المشروع الذي سينقل الزر من المشروع الأول

المهم تقوم بتشغيل الـ Target.exe والـ Simple.exe .. ثم تضغط على زر ( نقل الزر ) وشاهد ماذا سيحدث

SetParent.rar

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#3

السلام عليكــم ورحمـة الله وبركاتــه ،،

أرحب بأستاذي الكبير mrx_ta7ady وأسأل الله أن يوفقه ويجعل ما قدمه في ميزان حسانته .. أهلا بك وسهلا

وبالنسبة للمثال الذي أرفقته ... فهو ينقل الزر من فورم إلى فورم آخر ... ولكنه لا يقوم بنقر الزر في الفورم الآخر دون نقله

هل يمكنك تعديل المثال لينقر الزر في الفورم الآخر ؟؟

ولك جزيل الشكر والتقدير :)

تم تعديل هذه المشاركة بواسطة maajed555 في 16 مايو 2009 في 22:14

#4

الف شكر الك اخي mrx_ta7ady على هذه المساعدة و لله ما اعرف كيف اتشكرك

الله يعطيك العافة ..... :wub: كلماتي تعجز عن شكرك !!؟؟

------------------

#5

السلام عليكــم ورحمـة الله وبركاتــه ،،

على تعرف المقبض (hWnd) الخاص به؟

على حد علمى لابد من معرفة المقبض الخاص بهذا الزر حتى تستطيع التعامل معه

أعتقد أنك إذا كنت تعلم اسم النافذة التى تحتوى على الزر والنص المطبوع عليه يمكن باستخدام EnumChildWindows مع GetWindowText للوصول إلى مقبض الزر ثم استخدام

SendMessage مع WM_LBUTTONDOWN و WM_LBUTTONUP للضغط على الزر

ملحوظة: الدوال التى استخدمتها كلها دوال API :wacko:

إذا وجدت متسعا من الوقت سأقوم بتحضير مثال لك عن كيفية استخدام هذه الطريقة

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#6

السلام عليكــم ورحمـة الله وبركاتــه ،،

شكرا للاستاذ ماجد على التنبيه وعلى اسلوب التنبيه :)

واعتذر جدا عن هذا الخطا الفادح .. قرات كلمة ( نقر ) قراءتها ( نقل )

العتب على النظر :$

وفي المرفقات المثال نفسه بعد التعديل

لكن لي ملاحظة بسيطة على المثال المرفق .. عند فتح كود المشروع الأول ستجد الامر ادناه مكرر مرتين تلو بعض

Call SendMessage(hCtrl, BM_Click, 0, ByVal 0&)

هذا التكرار فقط في حالة ان الزر المطلوب نقره خارج النافذة الحالية .. ما دون ذلك يمنع التكرار

وشكرا لسعة صدركم

SendMessege.rar

تم تعديل هذه المشاركة بواسطة mrx_ta7ady في 17 مايو 2009 في 10:35

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#7

السلام عليكــم ورحمـة الله وبركاتــه ،،

شكرا لك أستاذي الكريم ... وفيت وكفيت ما قصرت

كما أني أطالب الأستاذ GHOST2010 بالمثال الذي وعد به ... وأن يكون مشروحا ووافيا

كما أرجو منه أن يوضح كيفية استخراج المقبض للبرامج التي نستخدمها مثل المسنجر والبالتوك ... إن كان ذلك ممكنا

في انتظارك أخي الكريم ، لأني بحاجة ماسة للاستفادة ، مع الاستئذان والاعتذار لكاتب الموضوع في آن واحد

:blush:

#8

السلام عليكــم ورحمـة الله وبركاتــه ،،

اقتباس
كما أني أطالب الأستاذ GHOST2010 بالمثال الذي وعد به

أنا قلت لو وجدت متسعا من الوقت :angry: :angry:

كما أرى أن الأخ mrx قام بالواجب

وبنفس الطريقة التى استخدمها يمكن الوصول إلى مقبض أى نافذة بمعرفة عنوانها

تم تعديل هذه المشاركة بواسطة GHOST2010 في 17 مايو 2009 في 14:30

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#9

السلام عليكــم ورحمـة الله وبركاتــه ،،

حصل خير أخي GHOST2010 ... كنت فقط أريد الاستزادة من الأمثلة خصوصا وأني حاولت أن أطبق المثال الذي أرفقه الاستاذ mrx_ta7ady على برنامج البالتوك ، ولكن للاسف العملية لم تنجح

عموما الله يعطيك ألف عافية ... والله يبارك لك في جميع أوقاتك حتى نستفيد من حضورك بشكل أكبر :)

#10

السلام عليكــم ورحمـة الله وبركاتــه ،،

الاخ ماجد .. بإمكانك إستخدام إسم الـ Class بدلا من عنوانه

وللحصول على إسم الـ Class المطلوب قم بفتح الـ Spy++ بعد فتح البالتوك وخصوصا النافذة الهدف

ثم قم بالضغط على الـ Alt+F3 لتجد نافذة صغيره ظهرت وعنوانها Window Search

قم بعدها بتفعيل خيار الـ Hide Spy++ ليخفي البرنامج الأصلي لعدم الإزعاج

ثم قم بسحب ايقونة الـ Finder Tool الى النافذة الهدف او الاداة الهدف ايا كان نوعها

ثم دع زر الماوس لتجد معلومات هدفك ظاهره في النافذة الصغيرة سالفة الذكر .. إضغط Ok منها الآن

لتجد نفسك عدت إلى الـ Spy++ ومعلومات الهدف واضح تماما امامك الآن .. مثلا كالصورة ادناه

post-85546-1242576877_thumb.png

الـ SystemTray_Main هو إسم الـ Class الـ Parent والـ Static هو إسم الـ Class الـ Child والهدف

.. وصلنا الآن لجزئية كتابة الـ Code بالـ Visual Basic

قم بفتح المثال الموجود في المشاركة السابقة وإستبدل السطرين الشبيهين بما ادناه


hCtrl = FindWindowEx(hForm, 0, vbNullString, Text2.Text)
	hForm = FindWindowEx(0, 0, vbNullString, Text1.Text)

بالصيغة المناسبة وهي كالتالي


hCtrl = FindWindowEx(hForm, 0, Text2.Text, vbNullString)
	hForm = FindWindowEx(0, 0, Text1.Text, vbNullString)

وهذا باعتبار ان اسماء الـ Classes مكتوبة بداخل الـ TextBoxes

اما للتعويض يدويا فستكون على سبيل المثال


hCtrl = FindWindowEx(hForm, 0, "Static", vbNullString)
	hForm = FindWindowEx(0, 0, "SystemTray_Main", vbNullString)

مع تغيير اللازم .. واعذرني .. لا املك هذا البالتوك لذا اضطررت للشرح على شيء وهمي

لكن هذا لا يمنع ان سؤالك مخالف وليس في مكانه ;)

التمس انا الآخر العذر من الإدارة .. اجبت من منطلق الشيء بالشيء يذكر

وعلى فكره .. طريقة الاخ جوست قياسية وجميلة .. لكن انا كمان معنديش وقت :lol:

وبالمناسبة كمان .. اشار الاخ جوست الى ان الطريقة التي تحدث عنها بالـ API

جدير بالذكر ايضا ان الفيجوال بيزك لا يدعم اي من ما قلناه .. لابد من الـ API هنا

وشكرا للجميع والسلام عليكم ورحمة الله وبركاته

اعتذر عن عدم تمكني للمتابعه الدورية في وقتنا الحالي

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#11

اتمنى ان يفيدكم هذا الكود

بحمد الله لقد عرفت الحل :lol:

بالمرفقات السورس يوضح ذلك

مجرب على برنامج المسنجر

____________________.zip

------------------

#12

السلام عليكــم ورحمـة الله وبركاتــه ،،

استاذي الكريم mrx_ta7ady

اشكرك شكرا جزيلا على ما تفضلت به ... وليت كل من خالف القوانين ينفع الآخرين بمثل ما نفعتني به :)

الاخ tornado320

شكرا لك أخي الكريم على المثال الجميل الذي أرفقته في مشاركتك الأخيرة

تم تعديل هذه المشاركة بواسطة maajed555 في 19 مايو 2009 في 22:14

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…