c# - C#根据文本在桌面上的显示位置在屏幕上移动光标
问题描述
所以我已经搜索过,似乎找不到合适的资源或工具来做我想做的事情,所以我想我会寻求帮助。下面是我想要做的。
我正在制作一个 .Net 核心应用程序,它将模拟一些击键并且一切正常,但我还想根据屏幕上某些文本出现的位置移动鼠标,但是,我无法控制应用程序的位置文本出现了,所以我需要以某种方式流式传输桌面视图并使用某些东西来分析它,或者每隔 10 秒左右不断拍摄屏幕截图,如果文本存在则分析该屏幕截图,然后将鼠标移动到文本的那个位置并模拟左键单击。
我对截图方法不太有信心,因为我不确定如何获得鼠标坐标,所以我觉得我需要将桌面流输入到某些东西中才能获得我正在分析的图像,然后覆盖我自己的透明叠加层,以便将光标移动到适当的位置。
我希望这是有道理的,任何图书馆或任何建议这样做的东西都会受到赞赏。我知道如何在屏幕上移动光标并单击鼠标左键,只是在谷歌上没有找到用于实时分析桌面屏幕并根据搜索条件获取坐标的正确库。
谢谢大家。
解决方案
根据应用程序的不同,您可能需要尝试多种方法。
例如,使用Application Insights和UI 自动化,您可能能够直接捕获文本。
如果您有 exe 文件,那么您可以使用dotPeek之类的东西对其进行反编译,然后使用 Visual Studio 的实时调试功能来访问文本。
您也许可以通过HeapMemView 之类的工具检查正在运行的进程的堆。
光学字符识别可能是一个值得考虑的选项。在这种情况下,Tesseract是一个值得考虑的开源 OCR 引擎。这可以与屏幕截图结合使用以提取文本。
推荐阅读
- node.js - 无法使用 multer 将文件附加到 Formdata
- node.js - 当您尝试卸载项目中不存在的包时会发生什么?
- confluence - 有没有一种方法可以获取添加到 Confluence 空间的单个用户
- docker - Jenkins Pipeline ${params.Environment} 错误替换
- google-chrome - 调整 Chrome 中地址栏的大小以显示更多扩展程序
- java - 将 jar 上传到 Apache Livy 交互式会话
- xml - 双值的分号分隔列表的 XSD 模式
- python - 在 Pandas 中使用 groupby、transpose、append 或 pivot 的哪些功能?以及如何使用它们?
- azure-devops - 如何通过 API 以不报告它是手动触发的方式触发 Azure 管道
- cron - 使用注释动态调度 Spring 批处理作业