Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   ClassnameNN (http://forum.oszone.net/showthread.php?t=317727)

BERGAMOD 11-08-2016 15:37 2658861

ClassnameNN
 
Добрый день!
Уважаемые знатоки, подскажите пожалуйста, как сделать можно функцию.

Есть кнопка в ней ClassnameNN: WindowsForms10.BUTTON.app0 нужно сделать так, что пока не нажмешь на нее следующие действие не выполнялось..

Буду рад любой помощи, а то не знаю где искать уже.

Iska 11-08-2016 16:05 2658875

Цитата:

Цитата BERGAMOD
Есть кнопка »

Где «есть кнопка»?

BERGAMOD 11-08-2016 16:30 2658887

Цитата:

Цитата Iska
Где «есть кнопка»? »

кнопка не определяется как BUTTON поэтому и нужно сделать по ClassnameNN: WindowsForms10.BUTTON.app0

Mike909 11-08-2016 18:57 2658934

попробуете в эту сторону покопать:

Код:

Local $hObj = WinGetHandle("[CLASS:WindowsForms10.BUTTON.app0]")
GUICtrlSetState($hObj, $GUI_DISABLE)


BERGAMOD 12-08-2016 09:13 2659060

Цитата:

Цитата Mike909
Local $hObj = WinGetHandle("[CLASS:WindowsForms10.BUTTON.app0]")
GUICtrlSetState($hObj, $GUI_DISABLE) »



Попробовал

#include <MsgBoxConstants.au3>

Example()

Func Example()

WinWait("title", "text", 10)

Local $hWnd = WinGetHandle("[CLASS:WindowsForms10.BUTTON.app0]")
GUICtrlSetState($hWnd, $GUI_DISABLE)
If @error Then
MsgBox(0, "", "Произошла ошибка при попытке получить дескриптор окна.")
Exit
EndIf

MsgBox(0, "TEST", 'TEST')

WinClose($hWnd)
EndFunc

не работает, при нажатии на кнопку нечего не происходит.

Mike909 12-08-2016 10:34 2659084

а $hWnd на кнопку получаете без ошибки?

BERGAMOD 12-08-2016 11:14 2659096

Цитата:

Цитата Mike909
а $hWnd на кнопку получаете без ошибки?»

я да же ничего не делаю все равно срабатывает MsgBox(0, "TEST", 'TEST')

в Summary выглядит так

>>>> Window <<<<
Title: Искать
Class: WindowsForms10.Window.8.app48
Position: 164, 114
Size: 1271, 941
Style: 0x16CF0000
ExStyle: 0x00050100
Handle: 0x00FE0B56

>>>> Control <<<<
Class: WindowsForms10.BUTTON.app48
Instance: 5
ClassnameNN: WindowsForms10.BUTTON.app485
Name: loadObject
Advanced (Class): [NAME:loadObject]
ID: 4785752
Text:
Position: 0, 164
Size: 20, 20
ControlClick Coords: 10, 12
Style: 0x5600000B
ExStyle: 0x00000000
Handle: 0x00490658

>>>> Mouse <<<<
Position: 182, 320
Cursor ID: 2
Color: 0x616161

Mike909 12-08-2016 12:52 2659125

1) проверьте на ошибку сразу WinGetHandle ( не после функции GUICtrlSetState)
Local $hWnd = WinGetHandle( ...
If @error Then ...

2) app уже другой, был 0 стал 48.. WindowsForms10.BUTTON.app48

BERGAMOD 15-08-2016 10:01 2659935

Цитата:

Цитата Mike909
1) проверьте на ошибку сразу WinGetHandle ( не после функции GUICtrlSetState)
Local $hWnd = WinGetHandle( ...
If @error Then ...
2) app уже другой, был 0 стал 48.. WindowsForms10.BUTTON.app48 »

ClassnameNN: WindowsForms10.BUTTON.app0 это пример.



Проверил, окно видит

If not WinActive("Title") Then WinActivate("Title")
$handle = WinGetHandle("Title", "")
If @error Then
MsgBox(4096, "Error", "Окно не найдено")
Else

Сюда нужна функция

MsgBox(4096, "ОК", "Окно найдено")
EndIf

BERGAMOD 16-08-2016 08:50 2660282

Нет не у кого соображений как можно сделать

BERGAMOD 17-08-2016 10:57 2660659

Что то все затихли ((( Не у желе в AutoIT нельзя так сделать


Время: 22:21.

Время: 22:21.
© OSzone.net 2001-