c# - 使用 C# 抓取 directx 程序的屏幕

标签 c# directx screen-scraping

<分区>

我想创建一个类似机器人的程序,我想使用屏幕抓取程序来检索数据,例如健康状况,这是数字。 我不知道如何实现这一点,因为大多数屏幕抓取工具都是用 c++ 编程的,因为 directx 在其中最受欢迎。

是否可以为 directx 程序创建一个运行良好的 c# 屏幕抓取程序?

谢谢。

最佳答案

在内核模式之外,任何可以在 C++ 中完成的事情都可以在 C# 中完成。

请了解该免责声明,客户端机器人不会通过实际的屏幕抓取和执行 OCR 来工作。相反,他们连接到 DirectX 的函数并记录发送到 DrawText 的字符串文本的副本,例如,或当前世界 View 图中的顶点,然后从那里开始工作。

我从来没有真正涉足过这个编程领域,所以我不能给你任何更具体的建议,但我可以告诉你,你正在经历一场艰苦的斗争。

另一种方法是使用常见的训练器/调试器技术并映射目标进程的内存。我假设您的目标是某种类型的游戏,但是这些游戏通常具有非常重的作弊检测和预防技术,在公共(public)服务器上尝试可能会让您终身被禁止(例如 Steam 的 VAC)。

关于c# - 使用 C# 抓取 directx 程序的屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135478/

相关文章:

vba - 屏幕抓取 - 通过几个标签名称向下查找类名称

python - 如何将抓取的数据写入csv格式?

c# - WebAPI + AngularJS 中基于 DateTime 的动态 HTTP 请求

c# - 复合键 Entity Framework 中的自动增量 ID

c# - HttpWebRequest 或 DownloadString >> 检索部分 HTML

c# - 来自 C# 的 DirectX

c# - 我在哪里可以找到 C# 中的机器 epsilon?

c++ - D3DReflect 不检测常量缓冲区

c++ - 使用 IMediaSeeking 检测视频结尾

ruby - 在 Mechanize (Ruby)中,如何登录然后抓取?