如何挂钩 MANAGED(.NET) 进程并收集该进程内的信息?

2023-12-27

我需要挂钩托管(C#、C++/CLI)进程,我需要查找有关它有多少个窗口(其关联控件及其属性)的信息并将其发送到用 C# 托管代码编写的目标应用程序。

为此我需要做什么? 我是否需要探索该托管进程的 IAT(导入地址表)和 EAT(导出地址表)? 我需要用C++编写注入器DLL吗? 除了更改 IAT 和 EAT 之外,我还需要什么?

[编辑] 我需要将托管运行进程附加到应用程序(它将托管或附加其他进程)。附加进程后,我需要获取与该进程的窗口关联的所有控件的属性。

我将一一迭代该附加进程的窗口,将枚举与该窗口关联的所有控件(将获取控件的 id、名称、颜色、位置、大小等),并将整个信息发送到其他应用程序或应用程序附加了其他应用程序(实际上该应用程序作为主机再次需要使用该信息重新绘制相同的控件,不要问我为什么需要这样做:-))

问候 乌斯曼


我相信这些问题的答案可能对您有所帮助:

如何利用反射打造“反射机” https://stackoverflow.com/questions/297328/how-to-use-reflection-to-create-a-reflection-machine

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

如何挂钩 MANAGED(.NET) 进程并收集该进程内的信息? 的相关文章

  • SidBySide:3rd Party Dll 指的是 MSVCR80.DLL 的两个版本

    我们包含了一个 3rd Party lib DLL 最近在安装时造成了很多麻烦 使用依赖步行者 http www dependencywalker com 我们发现dll本身引用了两个不同版本的 MSVCR80 DLL Version 8
  • 何时使用 IComparable 与何时使用IComparer

    我正在尝试找出我需要实现哪些接口 他们本质上都做同样的事情 我什么时候会使用其中一种而不是另一种 好吧 他们不是quite与IComparer
  • 如何暂时暂停实时数据图表的绘制更新

    我想要 暂停 图表的系列更新来完成一些工作 就像我有一个按钮 当我单击它时 它将暂停图表更新 然后当我单击恢复按钮时 它将更新系列中的所有暂停点 我知道关于 chart1 Series SuspendUpdates 但它似乎不适合我 我使用
  • 实体框架、dll、excel

    我用C 编写了Excel使用的dll 该dll是COM注册的 我与 Excel 的连接没有问题 该 dll 使用实体框架 5 从 SQL Server 数据库检索数据 如果我通过控制台应用程序运行该 dll 则该 dll 工作正常 但是当我
  • StreamReader 消耗的字节数

    有没有办法知道 StreamReader 使用了流的多少字节 我有一个项目 我们需要读取一个文件 该文件具有文本标题 后跟二进制数据的开头 我最初尝试读取该文件是这样的 private int dataOffset void ReadHea
  • 将 C# 代码转换为 F#(if 语句)

    我想知道如何转换此代码逐行从 C 到 F 我不想使用任何类型的 F 习惯用法或类似的东西 我想了解如何直接映射C 的构造到 F 这是 C 代码 requires l Length gt 0 int GetMinimumValue List
  • 在这种情况下垃圾收集器会做什么? [复制]

    这个问题在这里已经有答案了 我试图了解 GC 将如何行动的两种情况 1 有两个对象 object1 和 object2 object1 引用了 object2 object2 引用了 object1 现在 这两个对象都没有被使用 GC 可以
  • & 在 xml 文件中算作一个还是多个字符?

    我正在使用的 XML 模式具有特定的字符串字符长度 所以我可能有一个类似的字符串 Jim Mary 在 C 中是 10 个字符 但是当它写入 xml 时 它会变成 Jim amp Mary 如果 XML 模式规定字符串最多只能有 10 个字
  • 在java程序中使用c++ Dll

    我正在尝试使用System LoadLibrary 使用我用 C 编写的一个简单的 dll UseDllInJava java import com sun jna Library import com sun jna Native imp
  • 防止 Ada DLL 中的名称损坏

    有没有一种简单的方法可以防止在创建 Ada DLL 时 Ada 名称被破坏 这是我的 adb 代码 with Ada Text IO package body testDLL is procedure Print Call is begin
  • 列出运行时从开放泛型类型创建的封闭类型

    当我列出当前 AppDomain 中的所有类型时 我会看到带有通用占位符的通用类型 但是 如果我使用类型实例化泛型类型 然后列出 appDomain 中的所有类型 则我看不到新创建的封闭类型 在下面的示例中 输出仅为 Foo 1 T 我正在
  • 使用 lambda 对多列进行分组

    如何使用 lambda 对多列进行分组 我看到了如何使用 linq toEntity 执行此操作的示例 但我正在寻找 lambda 形式 var query source GroupBy x gt new x Column1 x Colum
  • 从标签 ID 更改整个 gridview 单元格颜色

    试图弄清楚当我有标签 ID 时如何更改 gridview 单元格的背景颜色
  • Response.Redirect() 将绝对 URL 作为相对 URL 处理

    我有一个 net C 页面 它重定向到绝对 url 例如 Response Redirect rtsp myvideoServer com myVideoAddress mp4 ticket 1234 dt 1234 但重定向后会导致 ht
  • 如何将 SyndicateElementExtension 添加到 SyndicateItem

    使用 NET System ServiceModel Syndicate 类 我想向 SyndicateItem 添加一个新的 SyndicateElementExtension 它将导出以下 XML
  • .NET 远程处理回调

    是否可以通过远程处理传输回调 我想做一些类似的事情myRemoteObject PerformStuff x gt Console WriteLine x 如果没有 我将如何实现等效的功能 Edit 我知道 Remoting 已被 WCF
  • 使用 Enumerable.OfType() 或 LINQ 查找特定类型的所有子控件

    Existed MyControl1 Controls OfType
  • 平滑滚动.net 表单

    您好 我正在 net 中使用表单 并且在运行时动态添加大量链接标签 我将这些链接标签添加到面板并将该面板添加到 winform 当链接标签的数量增加时 表单会显示一个自动滚动条 垂直 现在 当我使用自动滚动向下滚动时 表单在滚动时不会更新其
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 如何在 SqlDataReader.Read() 期间从死锁异常中恢复

    我的 NET 应用程序的事件日志显示 它在从 Sql Server 读取数据时偶尔会出现死锁 这种情况通常非常罕见 因为我们已经优化了查询以避免死锁 但有时仍然会发生 过去 我们在调用ExecuteReader函数在我们的SqlComman

随机推荐

  • Bash 从列名中检索列号

    有没有更好的方法 例如 AWK 中的单行 可以获取带有列名标题的表中的列号 我希望能够独立于列号的实际值来处理列 例如 当添加另一列时 脚本不需要更改 例如 给出 table tsv 中的下表 ID Value Target Not Use
  • Vue 模型未更新

    当我尝试更新自定义文本区域组件的模型数据时this message span bar span 文本和 html 没有像应有的那样显示在 htmltextarea 标记中 但我可以在 Vue 开发工具的控制台中看到应用的更新 我还尝试切换到
  • 计算道具无法正常工作 Vue JS 2

    我正在按照 YT 上的一个频道学习 vue js 该视频是去年发送的 所以我认为由于 VueJS 本身的一些变化 它不起作用 但如果你们能帮助我 那就太好了 代码链接 http codepen io myrgato pen BWWxdQ h
  • 更新 MongoDB 中数组内数组内的嵌入对象

    我有类似的文件 id 100 heros nickname test spells spell id 61 level 1 spell id 1 level 2 I can t set咒语的level 3 with spell id 1 i
  • pandas 中 datetime 和 datetime64[ns] 的比较

    我正在编写一个程序来检查 Excel 文件 如果今天的日期在 Excel 文件的日期列中 我会解析它 我在用着 cur date datetime today 今天的约会 我正在检查今天是否在以下列中 bool val cur date i
  • Service Worker 无法使用 Nodejs 服务器以离线模式运行

    我一直在创建新项目 PWA 当我开发时不使用节点js socket io运行 只是像我预期和需要的那样离线运行 但是当与nodejs服务器集成时 当上线时 应用程序运行良好 没有任何问题 但是当我更改为离线模式时 我的服务无法运行 但显示离
  • 使用 Visual Studio 2012 进行部署时删除 ConnectionString

    我正在开发一个包含 2 个 Web 应用程序的项目 其中一个作为长时间运行的进程 使用 appfabric 托管 另一个只是一个普通的 MVC 应用程序 它们共享相同的数据上下文 因此共享相同的连接字符串 appfabric 应用程序被部署
  • 如何使用 Google Maps API v2 确定道路上的经纬度坐标

    我已经使用了谷歌地理地址并使用纬度 经度得到了地址 如何确定我是否在路上 基本上是道路碰撞测试 我目前正在使用位置管理器来管理纬度 经度 并且公路上和公路旁的地理地址相同 最终解决方案 Use 通过 Google Geocoding API
  • ASP.NET MVC ActionLink 保留“旧”路由参数

    我的两个过滤链接 Html ActionLink Customer 1 Index new customer 1 Html ActionLink Project A Index new project A 我的带有过滤功能的控制器 publ
  • 在图像周围浮动文本

    我需要帮助创建一个围绕价格标签浮动的文本容器 如下图所示 这是我到目前为止所尝试过的 jsFiddle 演示 http jsfiddle net kzmndzj4 HTML div class product p Lorem ipsum d
  • 返回 Lua 表中值的索引

    我在lua中有这张表 local values a b c 如果变量等于表条目之一 有没有办法返回表的索引 说 local onevalue a 如何在不迭代所有值的情况下获取表中 a 或一个值的索引 没有迭代就没有办法做到这一点 如果您发
  • 如何使用“setTimeout”调用对象本身

    为什么我不能使用setTimeout在 JavaScript 对象中 Message function this messageFactory this feedbackTag document getElementById feedbac
  • OpenACC + MPI Fortran 程序入门

    我有一个工作串行代码和一个通过 OpenACC 并行化的工作并行单 GPU 代码 现在我尝试通过在多个 GPU 上运行 采用 mpi openacc 范例来增加并行性 我用 Fortran 90 编写代码 并使用 Nvidia 的 HPC
  • PHP include/require 不传递变量

    是否可以在 PHP 中包含一些东西without传递传递给原始脚本的变量 我正在使用 Joomla 并且我收到了错误记录here https stackoverflow com questions 8356683 joomla error
  • 如何通过 adb android 更改首选网络类型?

    如何使用 ADB 更改首选网络类型 示例 设置仅使用 GSM 仅使用 WCDMA 仅使用 LTE 或自动 这适用于我的设备 adb shell sqlite3 data data com android providers settings
  • 获取 ObservableValue 的所有已注册侦听器

    如何让所有听众获得可观察的值 我可以扩展课程并覆盖addListener and removeListener将它们存储在集合中的方法 但该集合应该已经以某种方式存储在可观察值内 我怎样才能得到那一套 I find a way around
  • Powershell获取完整路径信息

    我有一个名为视频的目录 在这个目录里面 是一堆各种相机的子目录 我有一个脚本可以检查各个摄像机 并删除早于特定日期的录制内容 我在获取相机的完整目录信息时遇到了一些麻烦 我正在使用以下方法来获取它 Get all of the paths
  • IOS 覆盖本地通知

    我创建了一个Local Notification当某个按钮 SetButton 被点击 我现在的问题是如果SetButton再次按下 它不会覆盖第一次按下 它会显示 2 个通知 依此类推 如何确保第二次按按钮会覆盖第一次按按钮并且不会累积通
  • 后台工作者是一个线程吗? (C#)

    后台工作者是一个线程吗 我应该什么时候使用它 是的 它基本上就像一个线程 但具有额外的功能 通知您进度和完成时间的事件 每当您需要执行可能需要一段时间的操作 例如计算 文件或数据库读 写 Web 请求等 并且您不希望 GUI 在执行时显得无
  • 如何挂钩 MANAGED(.NET) 进程并收集该进程内的信息?

    我需要挂钩托管 C C CLI 进程 我需要查找有关它有多少个窗口 其关联控件及其属性 的信息并将其发送到用 C 托管代码编写的目标应用程序 为此我需要做什么 我是否需要探索该托管进程的 IAT 导入地址表 和 EAT 导出地址表 我需要用