النقاط الفنية لآلة ملء المياه 10.06.2004 |
اعتقدت في الأصل أن التحرير ، المذكرة ، وما إلى ذلك. في صفحة الويب هي نفسها تلك الموجودة في البرنامج ويمكن التحكم فيها بمقابض ، لكنني أدركت لاحقًا أنه لا يوجد مقبض! بعد التحقق لفترة طويلة ، رأيت مثالاً على تطبيق QQ التلقائي قبل أيام. أولاً ، تحتاج إلى الرجوع إلى وحدة MSHTML في الاستخدامات. الرمز والتحليل على النحو التالي: var hform: ihtmlformelement ؛ HDOC: ihtmldocument2 ؛ القاعة: ihtmlelementCollection ؛ Hinput: ihtmlinputelement ؛ IW: iwebrowser2 ؛ Hlen ، tmploop: عدد صحيح ؛ VK: Olevariant ؛ الإرسال: idispatch ؛ يبدأ إذا تم تعيينه (WebBrowse1) ثم /// تأكد من وجود محتوى في صفحة الويب ؛ يبدأ HDOC: = webbrowse1.document as ihtmldocument2 ؛ القاعة: = hdoc.get_all ؛ hlen: = hall.get_length ؛ /// الخطوات المذكورة أعلاه هي: تعيين المحتوى في التحكم في المتصفح إلى HDOC. /// العملية التالية هي: حلقة من خلال العدد الإجمالي للعثور على تحرير اسم المستخدم وكلمة المرور ؛ ل tmploop: = 0 إلى hlen-1 تفعل يبدأ VK: = tmploop ؛ Dispatch: = hall.item (vk ، 0) ؛ إذا نجحت (dispatch.queryInterface (ihtmlinputelement ، Hinput)) ثم /// إذا كان هذا المعرف عنصر تحرير ... ابدأ /// الكبير أدناه مطلوب! /// يتم تحديد "النص" أدناه بواسطة المحتوى الموجود على صفحة الويب. /// مربع كلمة المرور واسم المستخدم هي نفسها! إذا كان القدر الكبير (hinput.type _) = 'text' ثم hinput.value: = 'tress' وإلا إذا كانت الكبير (hinput.type _) = 'password' ثم hinput.value: = 'tress' ؛ نهاية؛ إذا نجحت (dispatch.queryInterface (ihtmlformelement ، hform)) و (uppercase (hform.name) = 'theform') ثم /// هذا هو تقديم النموذج. /// وليس من الضروري الحكم على سمة الاسم ، ولكن يمكن الحكم عليها أيضًا بناءً على سمات أخرى. hform.submit ؛ نهاية نهاية نهاية؛ في هذه المرحلة ، يكون مثالًا على تسجيل الدخول التلقائي القيم ؛ بالطبع ، يمكنك أيضًا تغييرها إلى أشياء أخرى هنا ، مثل الاختيار الفردي ، وما إلى ذلك لمحتوى محدد ، يمكنك التحقق من القائمة في MSHTML! كان ذلك كافيًا هنا. يمكنك إضافته إلى الكود أعلاه: var ...... ...... IW: iwebrowser2 ؛ يبدأ ..... IW: = getFrame (3) ؛ /// العمليات اللاحقة هي نفسها ، أي أن وظيفة العمليات المذكورة أعلاه هي معالجة المحتوى في إطار كصفحة ويب ؛ hdoc: = iw.document as ihtmldocument2 ؛ القاعة: = hdoc.get_all ؛ ...... ...... /// وظيفة getFrame () هي كما يلي وتحتاج إلى إضافة وحدات ActiveX إلى الاستخدامات: وظيفة tfrmain.getFrame (Frameno: integer): iwebbrowser2 ؛ var Olecontainer: IoleContainer ؛ التعداد: ienumunknown. unk: iunknown ؛ جلب: plongint. يبدأ بينما webBrowSe1.ReadyState <> ReadyState_Complete do Application.ProcessMessages ؛ إذا تم تعيينه (webrowse.document) ثم يبدأ جلب: = لا شيء ؛ Olecontainer: = webbrowse.document كـ IoleContainer ؛ Olecontainer.EnumObjects (Olecontf_embeddings ، enum) ؛ enum.skip (Frameno) ؛ enum.next (olecontf_embeddings ، unk ، جلب) ؛ النتيجة: = unk كما iwebbrowser2 ؛ نهاية آخر النتيجة: = لا شيء ؛ نهاية؛ نقطة أخرى يجب شرحها هي قفزة الإطار في صفحة الويب! webbrowse.navigae ("عنوان الويب المراد نقله" ، flag1 ، flag2) ؛ المعلمتان لها النوع: الأوليف المتغير ؛ لا تتطلب المعلمة الأولى تعيينًا ، فهي تتحكم في الخيارات الأخرى لفتح صفحة الويب (مثل: فتح في صفحة ويب جديدة ، إلخ). ما نريد تشغيله هو المعلمة الثانية هنا افتح صفحة ويب في إطار! وبهذه الطريقة ، يمكن لإضافة مؤقت وبعض التعليمات البرمجية جعل آلة ملء المياه كاملة! |