Итак, я пытаюсь найти определенный шаблон в середине экрана в данной области. Я использую библиотеку AutoItX
и метод PixelSearch
.
- Прямоугольник X: 1980
- Прямоугольник Y: 630
- Размер прямоугольника X: 1240
- Размер прямоугольника Y: 180
Он не возвращает, что шаблон найден, но если я отрегулирую шнуры прямоугольника на 0, 0
, это покажет, что шаблон найден.
Следующий script используется:
public void MonsterScan()
{
if(SixStarMax() == true)
{
Console.WriteLine("Pattern found");
}
}
public bool SixStarMax()
{
Rectangle rect = new Rectangle(1980, 630, 1240, 180);
autoSumPoint = AutoItX.PixelSearch(rect, 0xF8F0E0); // 0xF8F0E0
autoSumPoint2 = AutoItX.PixelSearch(rect, 0xB7AD9F); // 0xB7AD9F
autoSumPoint3 = AutoItX.PixelSearch(rect, 0xCDC6B8); // 0xCDC6B8
autoSumPoint4 = AutoItX.PixelSearch(rect, 0x949084); // 0x949084
if (rect.Contains(autoSumPoint2) == true && rect.Contains(autoSumPoint2) == true && rect.Contains(autoSumPoint3) == true && rect.Contains(autoSumPoint4) == true)
{
AutoItX.MouseMove(autoSumPoint.X, autoSumPoint.Y);
return true;
}
else
{
return false;
}
}
Edit:
Попробовал отрегулировать шнуры на моем первом экране, и я получаю сообщение об ошибке.
System.AccessViolationException: 'An attempt was made to read or write to protected memory. This often indicates that other memory is damaged. '