NightWind999 2017-05-20 15:59 采纳率: 50%
浏览 2262

C# 循环检测到指定值后,反复执行的问题。

我需要检测一个目标程序的一个颜色点的值,当这个值为我指定的值时,执行一次某方法。但这个点的颜色会保持很久,而且我还需要循环检测
比如:
private void timer1_Tick(object sender, EventArgs e)
{
Clorer = GetPixelColor(165, 23);
if (clorer==3355443)
{
MessageBox.Show("出现指定值!");

}
}
这种情况,这个点的值只要不变,就会一直弹消息框。如果我把Timer停止了,又无法继续检测这个点的值了。
如何才能满足条件时,只执行一次,并且,继续检测这个点的值,下次出现时,再执行一次。
只要能一直检测并只执行一次,不用Timer也行。
希望大神们能看明白。

  • 写回答

7条回答 默认 最新

  • threenewbee 2017-05-20 16:05
    关注

    int preclorer = 0;
    private void timer1_Tick(object sender, EventArgs e)
    {
    clorer = GetPixelColor(165, 23);
    if (clorer==3355443 && preclorer != clorer)
    {
    MessageBox.Show("出现指定值!");
    preclorer = clorer;
    }
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决