تغيير قيمة Combobox لتطبيق الطرف الثالث التقليل عبر مفتاح Hotkey [مغلق

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

  •  19-09-2019
  •  | 
  •  

سؤال

لدي قطعة من برامج Windows الخارجية المغلقة، وهي تتكون من نافذة واحدة فقط ويتم تقليلها طوال الوقت تقريبا. أود أن أكون قادرا على تغيير العنصر المحدد من Combobox في تلك الإطار عبر نقطة اختيار على مستوى النظام. إذا كان ذلك ممكنا، أود أن أبقي تطبيق الطرف الثالث الذي تم تصغيره في العملية.

أعتقد أن هذا يجب أن يكون من السهل القيام به مع autoit أو autohotkey، لكنني لم أستخدمها أبدا أي من هذه الأدوات من قبل.

ما الأداة التي ستكون أكثر ملاءمة للعمل؟ هل لدى أي شخص أي مؤشرات في من أين تبدأ؟ على سبيل المثال رابط إلى برنامج تعليمي يعرض سيناريو مماثل.

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

المحلول

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

رمز AutoIT ...

HotKeySet("{ESC}", "_Exit")
HotKeySet("^{z}", "_SetItem1")
HotKeySet("^{x}", "_SetItem2")
HotKeySet("^{c}", "_SetItem3")

;Set up a quick GUI for us to play with.
$gui = GUICreate("Test GUI", 150, 150, -1, -1)
GUICtrlCreateCombo("", 10, 50, 130)
GUICtrlSetData(-1, "Item1|Item2|Item3", "Item1")
GUISetState(@SW_SHOW)

While 1
    ; Just to keep things running
WEnd

Func _SetItem1()
    ControlSend ( "Test GUI", "", "ComboBox1", "{up}{up}{up}" )
EndFunc   ;==>_SetItem1


Func _SetItem2()
    ControlSend ( "Test GUI", "", "ComboBox1", "{up}{up}{up}{down}" )
EndFunc   ;==>_SetItem1


Func _SetItem3()
    ControlSend ( "Test GUI", "", "ComboBox1", "{up}{up}{up}{down}{down}" )
EndFunc   ;==>_SetItem1

Func _Exit()
    Exit
EndFunc   ;==>_Exit
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top