Что нового

[Окна, Диалоги] Как узнать CLASS окна имея его хендл

Seresal

Новичок
Сообщения
8
Репутация
0
Возможно узнать посредством AutoIT класс окна имея его хендл?]

Для определения хендла использовал следующее

Код:
AutoItSetOption("WinTitleMatchMode", 2)
$handle = WinGetHandle("Имя")
If @error Then
    MsgBox(4096, "Error", "Окно не найдено!")
Else
    MsgBox(0, "", $handle)
EndIf
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Seresal,
Код:
#include <WinAPI.au3>
;...
$sClassName = _WinAPI_GetClassName($hwnd)
;...
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Seresal
а можно узнать, зачем тебе класс окна, если у тебя уже есть хендл?
 
Автор
S

Seresal

Новичок
Сообщения
8
Репутация
0
а можно узнать, зачем тебе класс окна, если у тебя уже есть хендл?
Ботоводства ради.
В игре поставили новую защиту, и теперь для того чтобы можно было работать с окном игры - нужно знать его класс, по некоторым данным. Проблемма еще и в том, что новая защита закрыла информацию об окне с игрой, его просто не существует. Перепробовал кучу сканеров - результат ноль. Но при этом удалось узнать хендл окна написав маленький скрипт!!!
В этот раздел написал потому что поиск ничего не дал, следовательно, подобный вопрос не поднимался.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Seresal
я понял что для работы с окном. просто все функции, которые работают с классом окна (различные Win... функции) работают так же и с хендлом. причем с хендлом надежнее всего, т.к. хендл уникален для окна, а вот класс один и тот же для всех однотипных окон. поэтому я спрашиваю, почему ты не хочешь работать с хендлом?
 
Автор
S

Seresal

Новичок
Сообщения
8
Репутация
0
почему ты не хочешь работать с хендлом?
Отвечу честно - ручки кривоваты, а вернее знаний мало.

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

Стыдно признаться, но я не знаю куда вставлять найденый хендл :'(

Но, думаю, это не проблема. Еще пару часов мытарства с программой, и все получится. К тому же, по моим домыслам, необходимо знать класс окна, чтобы все заработало...
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
туда же куда и заголовок, класс и прочее.
 
Автор
S

Seresal

Новичок
Сообщения
8
Репутация
0
туда же куда и заголовок, класс и прочее.
Это я знаю, но нигде не могу найти пример полного заполнения, а память как то подводит)
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Seresal
я не знаю, что ты имеешь в виду под полным заполнением, но вот, как пример
Код:
Run('notepad')
Sleep(100)
$h = WinGetHandle('Без')
MsgBox(0, '', $h)
WinMove($h, '', Default, Default, 300, 300)
 
Верх