API Cocoa Accessible API ، هل يمكنني النقر فوق نافذة في الخلفية دون تفعيلها؟

StackOverflow https://stackoverflow.com/questions/2747931

سؤال

لقد كنت أبحث إلى الأبد عن حل لهذا ، لذلك اعتقدت أنني سأبحث عن قوة عقول أكبر من عقول أكبر من لي. أقوم بتطوير تطبيق الكاكاو الذي يستخدم واجهة برمجة تطبيقات إمكانية الوصول لمعالجة برنامج آخر (إنه تطبيق Hotkey). يحتوي التطبيق الذي أتحكم عليه عادةً على نوافذ متعددة مفتوحة ، مع وجود بعضها خلف الآخرين. ما أود القيام به ، إذا كان ذلك ممكنًا ، هو إرسال أحداث الماوس إلى Windows باستخدام واجهة برمجة تطبيقات إمكانية الوصول بطريقة تضغط على زر في النافذة دون إحضاره إلى المقدمة (تتفاعل مع النافذة ولكن لا تنشطها) . السبب في أنني أحاول القيام بذلك هو أن إرسال حدث الماوس إلى هذه النافذة الأخرى سيؤدي إلى إجباره على المقدمة وتعطيل تفاعل المستخدم مع النافذة الأولى.

هذا ممكن على Windows - على ما يبدو ، لأن التطبيقات المشابهة لـ Mine تفعل ذلك هناك - لكنني أشعر أن هذا غير ممكن مع الكاكاو ، بالنظر إلى الطريقة التي يعمل بها مدير النافذة. هل انا مخطئ؟

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

المحلول

إمكانية الوصول أعلى من ذلك. ترسل ، على سبيل المثال ، AXPress الإجراءات ل AXButton الكائنات ، ولكن "الصحافة" ليست بالضرورة نقرة - الضغط على شريط الفضاء بينما يتم تركيز العرض ، على سبيل المثال ، هو أيضًا "مطبعة". AXPress هو إجراء رفيع المستوى يعني "القيام بشيء الخاص بك" ، والذي من الواضح أنه له معنى لبعض وجهات النظر (مثل الأزرار) وليس غيرها (مثل الحقول).

إمكانية الوصول إلى تنشيط التطبيق أمر منطقي عندما تنظر إليه من الغرض المقصود: الأجهزة المساعدة للمستخدمين المعاقين. إذا كان المستخدم "يضغط" على شيء بأي وسيلة ، فربما يعتزم تنشيط التطبيق والعمل فيه.

خدمات الأحداث الكوارتز سوف تحصل تقريبيا هناك يمكنك قم بإنشاء حدث انقر للعملية التي تريد التحكم فيها, ، ويمكنك صياغة الأحداث و أرسلهم إلى الصنبور. الصيد هو ذلك يمكنك فقط إرسال الأحداث إلى نقرة عندما حرائق الصنبور- عندما يكون للتطبيق بالفعل حدث للتعامل معه. عندما لا يفعل ذلك ، فأنت عالق.

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