Что нового

[Окна, Диалоги] Как у существующего окна убрать элементы управления

xlgrgrc

Знающий
Сообщения
91
Репутация
7
Есть окно взял для примера окно игры. Не важно. Могу на другом примере показывать. Это не ветка ботоводов. И вообще может кому полезен будет именно этот пример. Хочу понять принцип.
На скрине показал что нужно отсечь.
Второй скрин инфа об окне. Скидываю ниже текстом.
Код:
>>>> Window <<<<
Title:	Facebook Games Arcade (BETA)
Class:	WindowsForms10.Window.8.app.0.259f9d2_r14_ad1
Position:	0, 0
Size:	1280, 768
Style:	0x16CF0000
ExStyle:	0x00050100
Handle:	0x0000000000030142

>>>> Control <<<<
Class:	Chrome_RenderWidgetHostHWND
Instance:	1
ClassnameNN:	Chrome_RenderWidgetHostHWND1
Name:	
Advanced (Class):	[CLASS:Chrome_RenderWidgetHostHWND; INSTANCE:1]
ID:	197101072
Text:	Chrome Legacy Window
Position:	0, 0
Size:	1264, 730
ControlClick Coords:	713, 203
Style:	0x56300000
ExStyle:	0x00000020
Handle:	0x00000000000301D2

>>>> Mouse <<<<
Position:	721, 233
Cursor ID:	0
Color:	0x5C5D5E

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
Chrome Legacy Window
Chrome Legacy Window


>>>> Hidden Text <<<<

Вообще на форуме нашел примеры как создать окно без элементов управления
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

GUICreate("Form", 200, 200, 500, 400, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUISetState(@SW_SHOW)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_PRIMARYDOWN ;закроет окно по нажатию ЛКМ
            Exit
    EndSwitch
WEnd

он работает идеально.
И видел кучу других примеров для создания нового окна.
А как это сделать уже с существующим?

Пробовал копать в GUICtrlSetStyle много там всего. Но пока не нашел то что нужно.
В идеале вообще оставить в данном случае (опять же) только саму область игры.
Есть какие мысли?
 

Вложения

  • Clip2net_160729214212.jpg
    Clip2net_160729214212.jpg
    179.8 КБ · Просмотры: 13
A

Alofa

Гость
xlgrgrc сказал(а):
Есть окно взял для примера окно игры. Не важно...
Важно. Подход к браузерным окнам особый.

xlgrgrc сказал(а):
Могу на другом примере показывать.
Покажите.

Вообще для работы со сторонними окнами в справке есть целый раздел функций и для работы с их элементами.
Кроме того есть еще UDF _GUICtrl... функции, они тоже работают с элементами сторонних окон.
 
Автор
X

xlgrgrc

Знающий
Сообщения
91
Репутация
7
Alofa сказал(а):
Важно. Подход к браузерным окнам особый.

А это разве браузерное окно? Я думал что это приложение фейсбука.
Когда то нужено было так же очистить эксель. Если есть разница значит нужно разобрать именно на этом примере. Потому что он меня интересует больше на данный момент.

И из того что вы написали я прочитал каждую функцию. По-моему это не то все. Может не правильно прочитал.
Может есть мысли про конкретную функцию? :smile:
 
A

Alofa

Гость
xlgrgrc сказал(а):
А это разве браузерное окно?
Я предположил.

Вот демонстрация на примере системного калькулятора:
Код:
Run('Calc.exe')
$hWnd = WinWaitActive('Калькулятор')
MsgBox(4096, '', 'Удаление (скрытие)')
Sleep(300)
ControlHide($hWnd, '', '[CLASS:#32770; INSTANCE:2]')
Sleep(300)
ControlHide($hWnd, '', '[CLASS:CalcFrame; INSTANCE:1]')
Sleep(300)
MsgBox(4096, '', 'Восстановление')
Sleep(300)
ControlShow ($hWnd, '', '[CLASS:CalcFrame; INSTANCE:1]')
Sleep(300)
ControlShow ($hWnd, '', '[CLASS:#32770; INSTANCE:2]')

xlgrgrc сказал(а):
По-моему это не то все.
А вы пробовали?

Пробуйте:
Код:
$hWnd = WinWaitActive('Facebook Games Arcade')
Sleep(500)
ControlHide($hWnd, '', '[CLASS:Chrome_RenderWidgetHostHWND; INSTANCE:1]')



Добавлено:
Сообщение автоматически объединено:

И ничего у вас не получится.
У браузерных окон (это я их так называю) есть всего один Control - клиентская область, в котором вы видите отображение интернет страницы, у которой в свою очередь нет Control-элементов управления.
Но это не означает что с ней невозможно работать - почитайте следующие разделы форума:
- Автоматизация IE и Web-интерфейса
- Разработка ботов
- UIAutomate - автоматизация нестандартных элементов GUI
 
Автор
X

xlgrgrc

Знающий
Сообщения
91
Репутация
7
А вы пробовали?

Да пробовал как раз на калькуляторе. Находил похожий пример.
И да
Код:
$hWnd = WinWaitActive('Facebook Games Arcade')
Sleep(500)
ControlHide($hWnd, '', '[CLASS:Chrome_RenderWidgetHostHWND; INSTANCE:1]')

Ни чего не происходит.

Все ушел читать дальше )
Не то что бы это критично все. И очень нужно. Просто возник вопрос можно ли. Похоже что можно, но не просто )
Спасибо за помощь )
 
Верх