Тема: AHK: Увеличить окно IE больше, чем разрешение рабочего стола
Может есть какой-нибудь хук?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Может есть какой-нибудь хук?
Попробуйте:
устанавливаем WS_POPUP 0x80000000
сбрасываем WS_THICKFRAME 0x40000 (убираем рамку).
Такое окно может быть любых размеров.
Например, для активного окна:
f11::
WinSet, Style, -0x00040000, A
WinSet, Style, +0x80000000, A
return
Для изменения размера такого окна вручную - можно воспользоваться "Изменяем размер окон правой кнопкой мыши с зажатой клавишей Win" отсюда.
А как сделать чтобы автоматом размер окна был по вертикали 100000px?
Изменение размеров окна: WinMove. Приведённый выше пример снимает ограничения на эти изменения.
А вы пробовали с IE? У меня на 100000px не работает.
Нет, не пробовал. "В целом" это работает.
Окно должно быть "восстановленном" (неразвёрнутом) состоянии.
C IE этот фокус не проходит.
У меня на IE6 фокус прошёл. Растягивал вручную.
Не знаю, что такое "100000px": может, нулей много?
Вручную растягивается, но не до таких размеров - тысяч 100 пикселей - меня устроит.
У нас было 4 титана, 20 мониторов 4К, ящик пива, 17 кабелей hdmi, 3 камня Intel Core i7-5960X, и целое ведро планшетов всех расширений и мощностей, а также Java, C#, Python, AHK, справочник по Asm, мы растягивали IE как могли. Не то что бы это был необходимый запас для растяжки IE, но если начал растягивать его, становится трудно остановиться. Единственное, что вызывало у меня опасение — это AHK. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем WinMove. Я знал, что рано или поздно мы перейдем и на эту дрянь.
Как использовать 100К окно IE?
А как по-другому получить весь контент страницы с таких сайтов, по-типу твиттера?
Слать ControlSend-ом все время {end} - тормознуто.
Страницу в Ie можно уменьшить в 10 раз + с winmove максимум дает увеличить по вертикали окно в 10 раз.
Этого иногда недостаточно.
Жаль, что не Chrome, там есть расширение, которое по хоткею скриншотит страницу целиком.
Мне скриншот не нужен.
Мне нужно занрузить весь хтмл код с сайта.
А вот как сделать, чтобы он загрузился без выдумывания всяких костылей - ума не приложу.
Содержимое HTML-кода зависит от размеров окна?
Да, если там стоит джаваскрипт - при прокрутке до конца экрана - загружается очередная порция контента.
Или это событие как-то можно через джаваскрипт передать?
Ты пробовал управлять scrollTop? И приведи конкретный код запускающий этот сайт.
Если бы я знал, как его пробовать...
Подскажешь?
Вот 3 варианта загрузки контента:
DetectHiddenWindows, on
ComObjError(false)
OnExit, Exit
site:="https://theme.wordpress.com/themes/features/infinite-scroll/"
;1 вариант
CloseProcess("iexplore.exe")
setZoom(100)
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate(site)
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
OuterHtml := oIE.document.documentElement.OuterHtml
msgbox % StrLen(OuterHtml)
;2 вариант
CloseProcess("iexplore.exe")
setZoom(10)
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate(site)
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
OuterHtml := oIE.document.documentElement.OuterHtml
loop
{
sleep, 1000
if (OuterHtml = oIE.document.documentElement.OuterHtml)
break
else
OuterHtml := oIE.document.documentElement.OuterHtml
}
msgbox % StrLen(OuterHtml)
;3 вариант
CloseProcess("iexplore.exe")
setZoom(10)
oIE := ComObjCreate("InternetExplorer.Application")
oIE.navigate(site)
oIE.visible := True, oIEHWND := oIE.HWND
WinSet, Style, -0x00040000, ahk_id %oIEHWND%
WinSet, Style, +0x80000000, ahk_id %oIEHWND%
WinMove, ahk_id %oIEHWND%,,0,0,1000,16000
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
OuterHtml := oIE.document.documentElement.OuterHtml
loop
{
sleep, 1000
if (OuterHtml = oIE.document.documentElement.OuterHtml)
break
else
OuterHtml := oIE.document.documentElement.OuterHtml
}
msgbox % StrLen(OuterHtml)
Exit:
CloseProcess("iexplore.exe")
setZoom(100)
ExitApp
setZoom(number)
{
number.="000"
regwrite,REG_DWORD,HKCU,Software\Microsoft\Internet Explorer\Zoom,ZoomFactor,%number%
}
CloseProcess(MyProc)
{
ErrorLevel := 1
While ErrorLevel and A_Index < 10
{
Process, Close, %MyProc%
Process, WaitClose, %MyProc%, 1
}
return
}
Если бы я знал, как его пробовать...
Тут никак, у них свой скролл. Надо как то "Java скрипты контролировать" (наверное), но я не в курсе как.
Со scrollTop можно так. Но все это как-то ненадежно.
И разжеванной информации по этому джаваскрипту нигде не могу найти
ComObjError(false)
oIE := ComObjCreate("InternetExplorer.Application")
oIE.visible := True, oIEHWND := oIE.HWND
WinMaximize ahk_id %oIEHWND%
oIE.Navigate( "https://theme.wordpress.com/themes/features/infinite-scroll/" )
While oIE.readyState != 4 || oIE.document.readyState != "complete" || oIE.busy
Sleep, 10
loop
{
pos := oIE.document.documentElement.scrollTop
loop 20
{
oIE.document.parentWindow.scrollBy(0, 10000)
if (pos != oIE.document.documentElement.scrollTop)
continue, 2
sleep, 50
}
break
}
MsgBox, DONE!
И разжеванной информации по этому джаваскрипту нигде не могу найти
Уверен тут есть знающие люди по таким вопросам, просто они живут в разделах JavaScript (браузерный) и Windows Script Host, HTA (VBScript, JScript). Попробуй завести там тему.
Точно знаю, что размер рабочего стола может быть больше размеров монитора. Встречал на ноутбуке; при этом рабочий стол прокручивался, когда курсор достигал границы. Наверно существуют какие-нибудь способы (программы), позволяющие увеличить размеры рабочего стола.
Рабочий стол не хочется увеличивать - так как я за ним работаю.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться