获得句柄后,如何将句柄实例化这个句柄类型的一个实例,然后调用其中的方法呢?
我有一个EXE程序A,在这个程序中,会调用一个外部的EXE程序B,我可以获得B运行后的句柄,但是如何才能在A中将句柄转化成B的一个实例对象,调用B提供的方法呢?
------解决方案--------------------具体怎么搞不太清楚,
你可以去看看Windows核心编程,这本书
------解决方案--------------------得到句柄,只是可以对对象操作了,不存在给这个句柄建立实例的说法,你可以通过API来操作这个句柄所引用的对象,比如关闭它等等.
------解决方案--------------------按你的意思应该可以通过Process.MainWindowHandle 属性来得到那个进程的主窗口的句柄,至于怎么操作,就要看Windows的API中提供了什么样的方法.
------解决方案--------------------GetProcesByName获得得东西
直接就可以用了吧
比如:杀掉某个进程
try
{
System.Diagnostics.Process[] ps=System.Diagnostics.Process.GetProcessesByName( "Post_STS ");
foreach(System.Diagnostics.Process p in ps)
{
p.Kill();
}
}
catch(Exception ex)
{
Console.WriteLine( "清理程序进程出错: "+ex.ToString().Trim());
#endif
}
------解决方案--------------------基本没有可能,不然是个人就会写外挂了
------解决方案--------------------句柄是一个类似指针的概念.
它是指向一个thread,process,control等.
它并不是类指针,所以不存在调用 "方法 "一说.
对于一个exe程序,你交互的方式就是通过参数传递,全局内存,公共文件等方式.
一个exe程序又不是一个类,没有调用exe程序的 "某个方法 "这种概念.