Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » ClassnameNN

Ответить
Настройки темы
ClassnameNN

Аватара для BERGAMOD

Новый участник


Сообщения: 25
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


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

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

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

Отправлено: 15:37, 11-08-2016

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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

Отправлено: 16:05, 11-08-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для BERGAMOD

Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 16:30, 11-08-2016 | #3


Аватара для Mike909

Новый участник


Сообщения: 38
Благодарности: 14

Профиль | Отправить PM | Цитировать


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

Код: Выделить весь код
Local $hObj = WinGetHandle("[CLASS:WindowsForms10.BUTTON.app0]")
GUICtrlSetState($hObj, $GUI_DISABLE)

Отправлено: 18:57, 11-08-2016 | #4


Аватара для BERGAMOD

Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата 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

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

Последний раз редактировалось BERGAMOD, 12-08-2016 в 09:45.


Отправлено: 09:13, 12-08-2016 | #5


Аватара для Mike909

Новый участник


Сообщения: 38
Благодарности: 14

Профиль | Отправить PM | Цитировать


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

Отправлено: 10:34, 12-08-2016 | #6


Аватара для BERGAMOD

Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата 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

Отправлено: 11:14, 12-08-2016 | #7


Аватара для Mike909

Новый участник


Сообщения: 38
Благодарности: 14

Профиль | Отправить PM | Цитировать


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

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

Отправлено: 12:52, 12-08-2016 | #8


Аватара для BERGAMOD

Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата 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

Отправлено: 10:01, 15-08-2016 | #9


Аватара для BERGAMOD

Новый участник


Сообщения: 25
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 08:50, 16-08-2016 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » ClassnameNN

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено




 
Переход