Доброго времени суток.
Помогите решить проблему со скриптом.
Скрипт этот щелкает по определенному месту в окне, после анализа скриншота.
Я запускаю скрипт из консоли - и он спокойно щелкает по нужной кнопке.
Однако если запустить этот скрипт не из консоли, а просто щелкнув по нему мышкой - то он выдаст сообщение "Прекращена работа программы Autoit v3 Script".
Если его скомпилировать в экзешник x64 - то он выдаст сообщение "Прекращена работа программы 1.exe".
Подскажите - почему скрипт - нормально работающий из консоли, при попытках запустить его обычным способом - выдает сообщения о закрытии программы ?
1.rar
Помогите решить проблему со скриптом.
Скрипт этот щелкает по определенному месту в окне, после анализа скриншота.
Код:
#include <ScreenCapture.au3>
#include <BmpSearch.au3>
Opt('WinTitleMatchMode', -2)
$aPos = WinGetPos('Википедия')
_GDIPlus_Startup()
$hWnd = WinGetHandle("Википедия")
;$hSource = _ScreenCapture_Capture()
_ScreenCapture_CaptureWnd(@ScriptDir & "\Screen.png", $hWnd)
$hBmp = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\Screen.png")
$hSource = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
$hBmp = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\Test.bmp")
$hFind = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
$aCoords = _BmpSearch($hSource, $hFind, 1)
If @error Then
ConsoleWrite("No" & @CRLF)
Else
ConsoleWrite("X:" & $aCoords[1][2] & " Y:" & $aCoords[1][3] & " time:" & @extended & @CRLF)
EndIf
MouseClick("left", $aCoords[1][2] + $aPos[0], $aCoords[1][3] + $aPos[1], 1)
Я запускаю скрипт из консоли - и он спокойно щелкает по нужной кнопке.
Однако если запустить этот скрипт не из консоли, а просто щелкнув по нему мышкой - то он выдаст сообщение "Прекращена работа программы Autoit v3 Script".
Если его скомпилировать в экзешник x64 - то он выдаст сообщение "Прекращена работа программы 1.exe".
Подскажите - почему скрипт - нормально работающий из консоли, при попытках запустить его обычным способом - выдает сообщения о закрытии программы ?
1.rar