منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مثال عن web browser
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
إطلعت على بعض الدروس في لغة .net و يبدو أنها جميلة و سهلة
هل توجد أداة web browser لل Mozilla (لقد وجدتها فعلا هنا) Smile
لكن المشكلة كيف يمكنني الضغط على X , Y معين في صفحة معينة
أيضا هل هذه الأداة، بها كل ميزات Mozilla FireFox مثلا Flash Player أو VLC إلخ ..
و شكرا...
لقد واجهت هذه المشكلة في vb6 و هي بالضبط سبب إنتقالي لل .Net
بالتوفيق لنا و لكم Big Grin
وجدت هذه المقالة الجميلة
http://social.msdn.microsoft.com/Forums/...oordinates
شكرا لكم و لازلت بإنتظار أكواد أخرى بدون إستخدام الماوس و تحريكها
للتوضيح
إقتباس : أريد برنامج يضغط على إحداثيات معينة في الفورم رغم أن الفورم غير فعالة و ليست On Top
يعني الفورم me.Visible = false
و لكن رغم ذلك.. الكود يضغط على الإحداثيات المطلوبة
اقرا هذا الموضوع وبالتحديد اخر رد

هنا
ممكن توضيع للمقالة لانني ترجمتها على google ولكن الترجمة ليست كما يجب
(14-11-13, 05:08 PM)الشاكي لله كتب : [ -> ]اقرا هذا الموضوع وبالتحديد اخر رد

هنا

شكرا لك Smile Smile Smile
أعتقد أنه يقول بأن ال Web browser ليس فيه هذه الإمكانية
لكن ال Form بها إمكانية الضغط على إحداثيات معينة و يمكن إستغلالها
إذن كيف ذلك نظرا لكوني مبتدأ لا أعرف الأكواد اللازمة
شكرا .. Big Grin
عندي حركة باستعمال API

انتظري اسوي مثال

هذا هو




عند الضغط على 1+5

يقوم البرنامج بتحريك الماوس والضغط على الرقم 1

ثم يحرك الماوس مجدد ويضغط على "+"

ثم يذهب للرقم 5

وبعدها يضغط "="



الكود هذا بالتحديد

PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        
'الضغط على رقم 1'
        
Dim Num1Point WebBrowser1.PointToScreen(New Point(14148))
        
DoMouseLClick(Num1Point.XNum1Point.Y)

        
'الضغط على الزائد'
        
Dim PlusBtnPoint WebBrowser1.PointToScreen(New Point(107132))
        
DoMouseLClick(PlusBtnPoint.XPlusBtnPoint.Y)

        
'الضغط على رقم 5'
        
Dim Num5Point WebBrowser1.PointToScreen(New Point(51125))
        
DoMouseLClick(Num5Point.XNum5Point.Y)

        
'الضفط على يساوي'
        
Dim EqualBtnPoint WebBrowser1.PointToScreen(New Point(108158))
        
DoMouseLClick(EqualBtnPoint.XEqualBtnPoint.Y)
    
End Sub 


ولكن اقولك ان الطريقة غبية جداا ولاتصلح لأن تكون في برنامج حقيقي


انت ليش مصر على الضغط على زر بهذه الطريقة ؟؟


تقدر تستعمل طرق عديدة للضغط على عنصر او تغيير قيمته
لأنه في الحقيقة ليس زر
هو إحداثية معينة من صورة في صفحة أنترت مما يجعل استعمال الطريقة GetBy Id ...الخ غير ناجعة
و شكرا لك Cool لكن كسؤال
هل يمكنني أن أجعل البرنامج في Hide و عن طريق التايمر يقوم البرنامج بالضغط على هذه الأماكن
أعني هل هذه الطريقة لا تستعمل الماوس ؟
(15-11-13, 08:44 PM)mamas1 كتب : [ -> ]لأنه في الحقيقة ليس زر
هو إحداثية معينة من صورة في صفحة أنترت مما يجعل استعمال الطريقة GetBy Id ...الخ غير ناجعة
و شكرا لك Cool لكن كسؤال
هل يمكنني أن أجعل البرنامج في Hide و عن طريق التايمر يقوم البرنامج بالضغط على هذه الأماكن
أعني هل هذه الطريقة لا تستعمل الماوس ؟

لازم ماوس

ممكن تعطيني الصورة الي تقول عنها !
هذه حصيلة أبحاثي و محاولاتي

PHP كود :
Dim pnt As Point = New Point(158232' Specify the location where you want to click.
        Dim hWnd As IntPtr = WindowFromPoint(pnt)
        If hWnd <> IntPtr.Zero Then
            SendMessage(hWnd, BM_CLICK, 0, IntPtr.Zero) ' 
هذا لإستعمال الإحداثيات
            
'   SendMessage(Me.Button2.Handle, BM_CLICK, 0, IntPtr.Zero) ' هذا لإستعمال إحداثيات الزر 2
        End 
If 

عندما أستخدم كود Me.Button2.Handle يعمل لكن
PHP كود :
SendMessage(hWndBM_CLICK0IntPtr.Zero' هذا لإستعمال الإحداثيا 
لا يعمل
أتمنى أن يقوم أحد بالتعديل المناسب
و شكرا جزييييلا لكم