C++ 截图,分析,然后删除

C++ 截图,分析,然后删除,c++,windows,C++,Windows,我一直在尝试为一个简单的在线游戏(一个php编码的游戏)编写一个自动点击器,但是我在分析屏幕上的颜色时遇到了麻烦。(英语不是我的第一语言,对不起!)我已经在大学里做了一些C++,但只适用于科学导向的简单控制台程序。(编辑:我正在windows上工作!!忘了提及) 我已经尝试过getpixel功能,但由于我的chrome窗口以80%的比例缩小,以获得完整的游戏画面,似乎我遇到了一些与DPI相关的问题,但查看这一点让我头晕目眩 在观看了Codebullet视频后,我认为更好的方法是拍摄问题区域的屏幕

我一直在尝试为一个简单的在线游戏(一个php编码的游戏)编写一个自动点击器,但是我在分析屏幕上的颜色时遇到了麻烦。(英语不是我的第一语言,对不起!)我已经在大学里做了一些C++,但只适用于科学导向的简单控制台程序。(编辑:我正在windows上工作!!忘了提及)

我已经尝试过getpixel功能,但由于我的chrome窗口以80%的比例缩小,以获得完整的游戏画面,似乎我遇到了一些与DPI相关的问题,但查看这一点让我头晕目眩

在观看了Codebullet视频后,我认为更好的方法是拍摄问题区域的屏幕截图,分析它以查看条件是否满足,然后删除屏幕截图。问题是,我不知道如何才能做到这一点,而谷歌这次帮不了多少忙:\

我的代码非常混乱,所以我现在无法显示它,但它基本上只是一个:

-点击这里

-5秒后单击此处

-如果此像素为此颜色,请单击此处

-重复


有一个简单的答案吗?如果有,我会非常感激的。祝你今天愉快!:)

如果不想:

将目标窗口句柄传递给GetDC(),t将返回窗口的设备上下文

将设备上下文传递给CreateCompatibleDC()以创建兼容的DC

使用CreateCompatibleBitmap(),传入DC和窗口大小。这将返回位图的句柄

使用SelectObject()选择位图

使用BitBlt()将所选像素从常规DC传输到兼容DC,使用SRCCOPY光栅操作代码执行普通复制

创建位图对象。使用GetObject()并将句柄传递给创建的位图

创建BitMapInfo标头并定义成员变量。创建一个大小足以容纳位图中所有像素的无符号字符数组

使用GetDIBits()传入兼容位图的句柄、位图头和指向像素数组的指针。这会将位图中的像素加载到像素阵列中

现在,解析所有有趣的像素数据,搜索您正在寻找的颜色,并根据您的条件测试结果,以决定下一步要做什么

不要忘记删除对象并释放内存和设备上下文


我相信这是我学习的教程,由MSDN提供:

好的,现在我想我还没有足够的经验去理解一切,但是明天再多用一点谷歌搜索,肯定能做到!非常感谢您的时间:)我添加了一个指向教程的链接,我相信这是我过去使用的一个