在C#中创建spy++的函数“查找窗口...”

2023-12-26

我想在 C# 中创建与间谍++相同的函数“查找窗口...”。 我尝试过WINAPI的这个功能:

HWND WINAPI WindowFromPoint(__in  POINT Point);

http://msdn.microsoft.com/en-US/library/ms633558.aspx http://msdn.microsoft.com/en-US/library/ms633558.aspx但我没有到达获得所有元素,因为它们被禁用或隐藏。

例如,在程序员模式下使用 Windows 7 计算器,我无法得到“A B C D E F” 对于我的程序,如果它们被禁用,则间谍++可以获取它。

编辑: 我已经尝试过这个但它不起作用:

[DllImport("user32.dll")]
public static extern ulong GetClassLongPtr(IntPtr hWnd, int nIndex);

[DllImport("user32.dll")]
public static extern IntPtr ChildWindowFromPointEx(IntPtr hWndParent, Win32Point pt, uint uFlags);

IntPtr hWnd = WindowFromPoint(myPoint);
hWnd= ChildWindowFromPointEx(hWnd , myPoint, 0x0000);

myPoint 是我的鼠标的位置。

我不熟悉 WINAPI,我想你的解释是对我缺乏了解。可以有一个 ChildWindowFromPointEx 函数的小例子或者知道我的代码不起作用吗?谢谢你的回答


我尝试创建循环,但是,似乎该句柄位于另一个句柄下方,但不是该句柄的子级,当禁用“ a b c d e f”键时,循环始终发送相同的句柄,并且没有所需的子级。你还有别的想法吗?


WindowFromPoint返回一个窗口句柄。由于您正在处理禁用/隐藏的窗口,因此您需要使用ChildWindowFromPointEx http://msdn.microsoft.com/en-us/library/windows/desktop/ms632677%28v=vs.85%29.aspx,传入hwndParent作为您从中获得的任何句柄WindowFromPoint.

您可能会发现以下文章有帮助:http://blogs.msdn.com/b/oldnewthing/archive/2010/12/30/10110077.aspx http://blogs.msdn.com/b/oldnewthing/archive/2010/12/30/10110077.aspx


关于您添加的代码,ChildWindowFromPointEx采用客户端坐标,而您拥有的鼠标位置坐标是屏幕坐标。您可以使用以下命令进行转换屏幕到客户端 http://msdn.microsoft.com/en-us/library/dd162952%28v=vs.85%29.aspx.

注意:这是 WinAPI 的处理方式。我不知道 C# 是否提供 API 或提供什么 API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在C#中创建spy++的函数“查找窗口...” 的相关文章

  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • 格式说明符%02x

    我有一个简单的程序 include
  • C# 中的 Stack<> 实现

    我最近一直在实现递归目录搜索实现 并且使用堆栈来跟踪路径元素 当我使用 string Join 连接路径元素时 我发现它们被颠倒了 当我调试该方法时 我查看了堆栈 发现堆栈内部数组中的元素本身是相反的 即最近 Push 的元素位于内部数组的
  • 在 C 语言中,为什么数组的地址等于它的值?

    在下面的代码中 指针值和指针地址与预期不同 但数组值和地址则不然 怎么会这样 Output my array 0022FF00 my array 0022FF00 pointer to array 0022FF00 pointer to a
  • 如何向 Mono.ZeroConf 注册服务?

    我正在尝试测试 ZeroConf 示例http www mono project com Mono Zeroconf http www mono project com Mono Zeroconf 我正在运行 OpenSuse 11 和 M
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • Unity3D - 将 UI 对象移动到屏幕中心,同时保持其父子关系

    我有一个 UI 图像 它的父级是 RectTransform 容器 该容器的父级是 UI 面板 而 UI 面板的父级是 Canvas 我希望能够将此 UI 图像移动到屏幕中心 即画布 同时保留父级层次结构 我的目标是将 UI 图像从中心动画
  • 在哪里可以找到 Microsoft.Build.Utilities.v3.5

    如何获取 Microsoft Build Utilities v3 5 我正在使用 StyleCop 4 7 Stylecop dll 中的 StyleCop msbuild 任务似乎依赖于 Microsoft Build Utilitie
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 如何高效计算连续数的数字积?

    我正在尝试计算数字序列中每个数字的数字乘积 例如 21 22 23 98 99 将会 2 4 6 72 81 为了降低复杂性 我只会考虑 连续的数字 http simple wikipedia org wiki Consecutive in
  • 任何人都可以清楚地告诉如何在不使用像 这样的预定义函数的情况下找到带有小数值或小数值的指数吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 例如 2 0 5 1 414 所以想要 我是 c 的新手 所以请解释简单的逻辑 如果不是复杂的逻辑也足够了 在数学中 从整数取幂到实数
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调

随机推荐

  • 多对多关系以确定用户是否喜欢某个帖子

    我有一个包含所有帖子的表 我还有一个表 当用户喜欢带有外键 user id 和 post id 的帖子时 会在其中添加一行 我想检索一个列表ALL帖子的数量以及特定用户是否喜欢该帖子 使用外部连接 我最终得到了一些帖子两次 一次用于用户 1
  • 如何在 GitHub 上拥有带有公共问题跟踪器的私有存储库?

    我将向社区发布我的应用程序的一些测试版 项目存储在 GitHub 上的私有存储库中 我希望允许该社区报告错误并将其直接放在 GitHub 问题选项卡上 GitHub 目前尚未提供该选项 您知道如何覆盖此流程吗 截至 2019 年 9 月 不
  • Android ListView 不展开整个屏幕?

    我有以下活动
  • 如何更改导航视图项目文本大小?

    Google 最近发布 http android developers blogspot com au 2015 05 android design support library html the android support desi
  • 整数类型的最大值是否有常数?

    我正在为 VBA 代码寻找 c 中像 MAXINT 这样的常量 我只找到了其他语言的参考资料 找不到 VBA 的参考资料 如果没有这样的常量 VBA 中 int 可以容纳的最大数字是多少 我尝试了 2147483647 但出现溢出错误 VB
  • Firebase 自定义声明未在规则中更新[重复]

    这个问题在这里已经有答案了 我试图防止存储滥用 我的目标是限制每天的用户上传操作 因此 我部署了一个存储 onFinalize 触发器 一旦文件上传 该函数就会检测到使用 firestore 是否达到限制的计数器 如果是 将毫秒存储到 Cu
  • 基元/对象声明,默认初始化值

    声明基元 对象时 它们是否已初始化 哪些是默认值 行为是什么班级成员 and 当地领域 类成员的对象声明怎么样 如下回答 这些是默认值 Data Type Default Value for fields byte 0 short 0 in
  • 使用双值识别 SwiftUI TextField 中的更改

    我正在使用 TextField 让用户添加某物的价格 为了防止用户添加其他值作为数字 我将键盘类型更改为 decimalPad The stringValue每次角色更改时都会正确更新绑定 我现在的问题是doubleValue仅当用户按下回
  • JSP 中的美元大括号 ${} 是什么意思?

    什么是 在JSP中意味着什么 例如
  • ASP.NET动态添加列到Gridview

    如何根据条件动态向 GridView 添加一些列
  • 学习 HTML5 和 CSS3 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 想象一下今天 即 2011 年 3 月 1 日 某人从未编写过网页 并且想知道他们应该阅读哪些内容才能
  • 如何将 PyTorch 张量转换为 C++ torch::Tensor 反之亦然?

    我想使用 pybind11 在 C 模块中接收包含 PyTorch Tensor 的字典 并返回经过一些修改的结果字典 其中包含 C torch Tensor 返回 据我所知 似乎没有明确的方法将 PyTorch Tensor 转换为 C
  • 是否可以在 OS X 中设置 pthread CPU 关联性?

    In Linux有一个sched setaffinity 函数定义在sched h 但我似乎找不到类似的东西Mac OS X 10 6 pthreads实现 如果无法设置亲和力 则默认策略是什么OS X Mac OS X 有线程亲和性API
  • C 头文件中的内联函数[重复]

    这个问题在这里已经有答案了 我试图在网上搜索一个好的答案 但未能找到一个我可以完全理解的答案 假设我有一个标头 add h inline int add int a int b return a b 名为 adddouble c 的文件 i
  • 帮我完成这个 SQL 查询

    我有一个 SQL Server CE 3 5 表 交易 具有以下架构 ID 交易日期 Category 描述 Amount Query SELECT Transaction Date SUM Amount FROM Transactions
  • 如何在并行执行specflow时仅在测试运行之前和之后执行一次

    我必须在测试执行之前和之后运行数据库脚本 但是如果我在测试运行之前提到它会为每个线程运行多次 但我只需要在测试执行中运行一次意味着它会成为所有线程的顶部 例如 挂钩文件 BeforeTestRun public static void Be
  • Spark“限制”不并行运行?

    我有一个简单的连接 我限制了侧面 在解释计划中 我看到在执行限制之前有一个 ExchangeSingle 操作 实际上我看到在这个阶段集群中只有一个任务在运行 这当然会极大地影响性能 消除限制可以消除单个任务瓶颈 但会延长连接时间 因为它适
  • .NET 中的线程安全集合

    当需要线程安全集合 例如 Set 时 当今的标准是什么 我自己同步它 还是有一个本质上线程安全的集合 NET 4 0 Framework 在 NET 4 0 Framework 中引入了几个线程安全集合System Collections
  • 如何访问轻量级 K3s 中的 api 控制器配置

    通常可以在常规 Kubernetes 的 etc kubernetes manifests kube apiserver yaml 中找到 在 rancher K3s 中 这就是我能找到的全部 我正在尝试调整一些设置 以便我可以启用自定义自
  • 在C#中创建spy++的函数“查找窗口...”

    我想在 C 中创建与间谍 相同的函数 查找窗口 我尝试过WINAPI的这个功能 HWND WINAPI WindowFromPoint in POINT Point http msdn microsoft com en US library