Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
WinGetText работает 1/2 секунды. Если ли способ ускорить?
У меня на WinGetText() завязано несколько функций. Но сама операция WinGetText достаточно затратная по времени - 0,5 секунд. Кто-нибудь знает способ ускорить эту операцию? (получение видимого текста из активного окна). Может быть через dll. Спасибо.
В некоторых случаях (когда нужна информация только из названия приложения) я использую WinGetTitle() - работает моментально. Но иногда нужна именно видимая информация внутри приложения.
На машине установлена Windows 7? Может быть причина в Aero? Правда я не знаю на сколько это справедливо к тексту, но вот функция PixelGetColor с включенным Aero работает очень медленно.
P.S. Хотя, на текст наверно Aero влиять все-таки не должен (только на графику).
Opt("WinWaitDelay", 0)
Run("notepad.exe H:\Test.txt") ;запускаем наш текстовый файл с помощью Блокнота
WinWait("[Class:Notepad]") ;ждем окно по имени класса
$hWND1 = WinGetHandle("[Class:Notepad]") ;берем хэндл основного нашего окна
$hWND2 = ControlGetHandle($hWND1, "", "[Class:Edit]") ;берем хэндл контрола Edit из родительского хэндла
$text = ControlGetText("", "", $hWND2) ; получаем текст контрола Edit через его хэндл
;MsgBox(64, "text", $text)
Интересно. Вот просто интересно. Как скорость на этом примере?
0,4 секунды. Но у меня нужно считывать инфу не из блокнота, а программы со сложным GUI. Там сама команда WinGetText() работает 0,5 секунды на вполне современном компьютере, а на celeron 2600 - более секунды.
Если просто в Scite запускаю одну команду WinGetText(""), то на домашнем компе занимает 1/4 секунды.