我很好奇,如果有人知道的监控.NET应用程序的运行时信息的一种方式(被称为什么方法和这样)如何从一个单独的应用程序
,并注入额外的代码注入在C#中的方法调用代码从独立运行的进程中运行某些方法。
说,我有两个应用:
app1.exe,为了简单起见可能是
class Program
{
static void Main(string[] args)
{
while(true){
Somefunc();
}
}
static void Somefunc()
{
Console.WriteLine("Hello World");
}
}
,我有我希望能够检测第二应用程序时,从应用Somefunc() 1正在运行,并且注入自己的代码,
class Program
{
static void Main(string[] args)
{
while(true){
if(App1.SomeFuncIsCalled)
InjectCode();
}
}
static void InjectCode()
{
App1.Console.WriteLine("Hello World Injected");
}
}
那么其结果将是一个应用程序将显示
Hello World
Hello World Injected
我明白它不会是这么简单(通过长镜头拍摄) 但我不知道这是否甚至可能,以及它是从哪里开始的。
有什么建议吗?
我见过类似的完成在Java中,但从来没有在C#。
编辑: 为了澄清,这将是一个插件系统添加到基于.Net的游戏,我无法访问的源代码。
IM想着你,我是正确的。我希望这不会成为现实。 – Fusspawn 2009-07-22 16:53:59