سؤال

وأنا أحاول لأتمتة بعض الاشياء على لعبة فلاش يعمل في عنصر تحكم WebBrowser في بلدي C # البرنامج. باستخدام دلل sendmessage USER32 ولقد كنت قادرة على الضغط على الإحداثيات على صفحات العادية مثل جوجل ولكن لا يعمل على محتوى الفلاش. أي وسائل أستطيع أن أفعل هذا؟ كما أنه لا يمكن أن يكون اكتشاف لعبة فلاش. لقد العمل واحدة في أوتويت ولكن أود أن إعادة كتابتها في ج # والعمل على انجاحه الحد الأدنى.

هل كانت مفيدة؟

المحلول

لماذا لا مجرد استدعاء الطبيب النصي أوتويت / أوتوهوتكي من # برنامج C باستخدام الطبقة System.Diagnostics.Process؟

ProcessStartInfo psi = new ProcessStartInfo("your_script.ahk");
psi.CreateNoWindow = true;

Process procScript = Process.Start(psi);
procScript.WaitForExit();

لاحظ صحيح لضمان تشغيله المخفية CreateNoWindow = وWaitForExit ()، لجعل الانتظار التعليمات البرمجية لعملية العودة.

وأوتويت وأوتوهوتكي ديك بعض الأوامر أتمتة قوية جدا التي تم صقلها على مر السنين. انه من الصعب جدا لإعادة إنتاج مماثلة C # /. NET الوظائف التي هي مجرد موثوق بها، صدقوني لقد حاولت.

نصائح أخرى

تحقق من WatiN. أتمتة متصفح قوي ومتوافق مع C #:

http://watin.sourceforge.net/

<ع> استخدام SendMessage أو PostMessage ستعمل. كنت في حاجة الى ارسال 3 رسائل، WM_MOUSEMOVE، ثم WM_MOUSEDOWN، ثم WM_MOUSEUP. وWM_MOUSEMOVE يجب أن تشير إلى موقع مختلف من WM_MOUSEDOWN وWM_MOUSEUP. يجب أن يكون WM_MOUSEDOWN وWM_MOUSEUP في نفس الموقع. يعمل بالنسبة لي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top