C# 是否有办法在windows上包装应用程序,以便观察和控制与操作系统的所有交互?

C# 是否有办法在windows上包装应用程序,以便观察和控制与操作系统的所有交互?,c#,.net,c++,windows,windows-7,C#,.net,C++,Windows,Windows 7,我有一个必须在windows上运行的应用程序。我需要一种方法来观察和控制这个应用程序与windows的交互。我需要观察它发出的调用,以及它从操作系统接收到的输入,我只需要更改它的一些输入以满足我的需要。实际上,更重要的部分是改变输入(这取决于情况)。我想知道什么是解决这个问题的好方法?我是否应该尝试在运行windows应用程序的部分虚拟机上运行该应用程序,并将该应用程序发出的所有调用传递给windows并返回来自windows的输入?或者windows是否提供了某种API来实现这一点 是的,我认

我有一个必须在windows上运行的应用程序。我需要一种方法来观察和控制这个应用程序与windows的交互。我需要观察它发出的调用,以及它从操作系统接收到的输入,我只需要更改它的一些输入以满足我的需要。实际上,更重要的部分是改变输入(这取决于情况)。我想知道什么是解决这个问题的好方法?我是否应该尝试在运行windows应用程序的部分虚拟机上运行该应用程序,并将该应用程序发出的所有调用传递给windows并返回来自windows的输入?或者windows是否提供了某种API来实现这一点

是的,我认为最简单的方法是使用api挂钩和dll注入技术。查看Jeffrey Ritcher的书(Microsoft Windows编程应用程序),我想-不记得确切的名字。也检查一下这个 .
在linux上,您可以使用预加载库来做同样的事情。

许多调试器都可以提供这种级别的功能;看到了吗,这个-?是的,应该是。但这解释了我记得的dll注入技术,所以对于api挂钩,您必须在google中搜索:)。