Come ottengo lo stato in AutoIt di un pulsante (è disabilitato/disattivato o abilitato)?Leggere lo stato "Abilitato" di un pulsante
Questo per un'applicazione .NET (Windows Forms, VB.NET) in cui il nome del pulsante nel designer di Visual Studio è btnStoreInModule
e il testo della proprietà è S&tore in Module
. La proprietà Enabled
è ciò che mi interessa. Il pulsante è di tipo System.Windows.Forms.Button
. Il mio script AutoIt preme il pulsante in questo modo:
ControlClick("My Application", "", "[NAME:btnStoreInModule]")
L'applicazione risponde disattivando il pulsante mentre si sta facendo un'operazione. Al termine dell'operazione, il pulsante viene nuovamente abilitato (non modificato). L'applicazione quando il pulsante Store
è disabilitato:
AutoIt Window Information Tool dà lo stesso risultato sia per il disabled- e lo stato abilitato:
>>>> Window <<<<
Title: My Application 1.2a6
Class: WindowsForms10.Window.8.app.0.b7ab7b
Position: -4, 34
Size: 1448, 870
Style: 0x17CF0000
ExStyle: 0x00050100
Handle: 0x000C08DE
>>>> Control <<<<
Class: WindowsForms10.BUTTON.app.0.b7ab7b
Instance: 21
ClassnameNN: WindowsForms10.BUTTON.app.0.b7ab7b21
Name: btnStoreInModule
Advanced (Class): [NAME:btnStoreInModule]
ID: 592026
Text: S&tore in Module
Position: 257, 675
Size: 91, 23
ControlClick Coords: 59, 8
Style: 0x5601000B
ExStyle: 0x00000000
Handle: 0x0009089A
ottengo il testo di un controllo TextBox utilizzando (TB_Type
è il nome di TextBox nella finestra delle proprietà di Visual Studio):
Local $sText = ControlGetText ("My Application", "", "[NAME:TB_Type]")
Per il pulsante la riga corrispondente restituisce S&tore in Module
(come ci si potrebbe aspettare). AutoIt v3.3.8.1 (2012-01-29).
"Pulsante2" non deve essere "btnStoreInModule"? –
I pulsanti non hanno nomi. Hanno un testo ("St & minerale in modulo"), potrebbero avere un ID di controllo quando utilizzato in una finestra di dialogo. Quale è la cosa migliore, usa Spy ++ (et al) per vedere l'ID. –