Я хочу сохранить цвет проверки координат сразу после нажатия кнопки запуска и остановки, когда я нажму кнопку остановки, для меня это будет похоже на макрос, но когда я нажал кнопку запуска, ничего не происходит, это не нажимается кнопка S с клавиатуры вообще, мне нужно сохранить нажал кнопку S, пока условие истинно, и вот мой код
using Eyedropper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace macro
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Bitmap m_ScreenImage;
private void btnstart_Click(object sender, EventArgs e)
{
while (m_ScreenImage.GetPixel(1002, 109).ToString() == "Color [A=255, R=55, G=114, B=173]")
{
m_ScreenImage = Utility.CaptureScreen();
SendKeys.Send("s");
}
}
}
}
1 ответ
Не совсем уверен, что вы пытаетесь сделать, но я дам вам несколько советов
Это односторонний путь к огромной утечке памяти и нехватке ресурсов GDI .
m_ScreenImage = Utility.CaptureScreen();
Вам следует утилизировать свой Bitmaps
m_ScreenImage?.Dispose();
m_ScreenImage = Utility.CaptureScreen();
Это очень длинный подход к проверке цвета пикселей.
m_ScreenImage.GetPixel(1002, 109).ToString() == "Color [A=255, R=55, G=114, B=173]"
Лучше сохранить нужный цвет и просто сравнить его с цветом, возвращенным из GetPixel
FromArgb (Int32, Int32, Int32, Int32)
Создает структуру Color из значений четырех компонентов ARGB (альфа, красный, зеленый и синий). Хотя этот метод позволяет передавать 32-битное значение для каждого компонента, значение каждого компонента ограничено 8 битами.
public Color targetColor = Color.FromArgb(255, 55, 114, 173);
...
while (m_ScreenImage.GetPixel(1002, 109) == targetColor)
{ ... }
Что касается того, почему ваш ключ отправки не работает, я не уверен. Однако я чувствую, что вы застряли в бесконечной петле.
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.