السلام عليكم ورحمة الله وبركاته
يوجد بالمرفقات مثال لمعرفة لينك وعنوان المتصفح Internet Explorer
ارجو المساعده لتعديل البرنامج لمعرفه لينك وعنوان المتصفح Google Chrome
وبارك الله فيكم.
السلام عليكم ورحمة الله وبركاته
يوجد بالمرفقات مثال لمعرفة لينك وعنوان المتصفح Internet Explorer
ارجو المساعده لتعديل البرنامج لمعرفه لينك وعنوان المتصفح Google Chrome
وبارك الله فيكم.
ياخوانى بارك الله فيكم ... احتاج لهذا البرنامج ضرورى جدا
هلى استفسارى غير واضح
البرنامج المرفق يجلب لينك وعنوان متصفح Internet Explorer
انا اريد معرفه لينك وعنوان متصفح Google Chrome
وشكرا
البرنامج غير موجود لدي لذلك بالضبط لا أستطيع أن أعطيك إجابة مباشرة.
هل تعرف spyxx الذي يأتي مع نسخة Visual Studio 6 (وما يليها) ؟
يمكن أن تستخدم هذا البرنامج في تحديد اسم الـ Class الخاص بالعنصر الذي يحوي على الرابط ومن ثم تقوم بإيجاده من خلال 3 دوال API أسماؤهم FindWindow و FindWindowEx و SendMessage (نوع الرسالة WM_GETTEXT)
الفكرة هي باستخدام FindWindow والبحث عن نافذة التي تحمل اسم كلاس "IEFrame" (يمكنك ترك عنوان النافذة فارغ)
ثم تمرير قيمة المقبض المرتجع إلى دالة FindWindowEx باعتباره هو الـ hwndParent والبحث عن قيم الكلاسات التالية بالترتيب مع ترك عنوان النافذة فارغ.
"WorkerW"
"ReBarWindow32"
"ComboBoxEx32"
"ComboBox"
"Edit"
عندما تحصل على المقبض الخاص بالعنصر الأخير تقوم باستخدام SendMessage وترسل له WM_GETTEXT فتحصل على النص :)
عنوان المتصفح تستطيع أن تحصل عليه بنفس الطريقة لكن مع بعض الاختلافات القليلة واستخدام دالة إضافية GetWindowText.
* عند وجود أكثر من نافذة عليك أن تقوم باستخدام حلقة وشرط عدم تطابق المقبض المرتجع للنافذة الـ parent.
* لا تنسى أن الصورة أعلاه والشرح لمتصفح IE - عليك بتثبيت spyxx.exe وإيجاد أسماء الكلاسات حسبما فهمت من الشرح الخاص بـ IE.
تم تعديل هذه المشاركة بواسطة Xacker في 29 أكتوبر 2008 في 09:51
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
اخى الفاضل Xacker
شكر على الرد
ولو ممكن مثال حيث انى مبتدأ
والف شكر مره اخرى وبارك الله فيك
عفواً لكن،
1. لا أكتب بالفيجوال بيسك.
2. لا يوجد لدي Chrome :)
مثال بالأسمبلي ينفع؟
invoke FindWindow,CTXT("IEFrame"),addr lpWindowTitle
invoke FindWindowEx,hWnd,0,CTXT("WorkerW"),0
invoke FindWindowEx,eax,0,CTXT("ReBarWindow32"),0
invoke FindWindowEx,eax,0,CTXT("ComboBoxEx32"),0
invoke FindWindowEx,eax,0,CTXT("ComboBox"),0
invoke FindWindowEx,eax,0,CTXT("Edit"),0في أول سطر أقوم بتمرير عنوان النافذة لأني أتعامل مع صفحة بعنوان ثابت مثلا فأنا أعرف العنوان.
في الحالة لديك يجب أن تقوم بالحصول على عنوان جميع النوافذ لو أردت استخدام هذه الطريقة أو تتركه فارغ لكن تبقى بحاجة إلى المرور على كل النوافذ حتى تحصل على handle لكل نافذة.
ربما يساعدك شخص ملم أكثر بالفيجوال بيسك الآن.
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…