日期:2014-05-19  浏览次数:20834 次

如何将一个其他人写的EXE或者DLL嵌入到我自己的程序中
现在有其他人写的EXE和DLL程序,我负责把他们整合到一个界面上!~
本来想在PANEL上嵌入,可是搞了半天也没成功!~
现在请问各位高人!~
如何把其他人写的EXE或者DLL嵌入到我的程序中那?
是在运行的时候决定调用什么程序,不是在编译的时候加入!~
在这里先谢谢了   !~

------解决方案--------------------
EXE是可以的Process.Start()
DLL好像不能动态添加,只能在编译的引入
------解决方案--------------------
DLL 直接引用就可以了
------解决方案--------------------
dll利用反射做成插件
------解决方案--------------------
可以用Process.Start()运行exe文件,dll不能直接运行,要再自己的程序中引用。
------解决方案--------------------
exe可在自己的程序中调用,
DLL要在自己的程序引用后,使用其提供的方法、函数,有一部分DLL可用using直接引用的。
------解决方案--------------------
dll一般是在VisualStudio里面,在这个项目的树桩列表里,右击引用,然后添加引用,将dll加入。随后在相关页面里面引用此Dll的名字空间,就可以使用dll里面的方法了
------解决方案--------------------
动态的添加?

Exe如果是可执行文件可以调用

如果是引用,应该是在编译前引用
------解决方案--------------------
Dll引用就好了,exe文件用Process.Start()
------解决方案--------------------
这个可能有点难度,也许可以的,用一些API函数
------解决方案--------------------
是可以的,我在CodeProject看过老外写的一个程序,可以把任意的程序嵌入到一个Form上的
------解决方案--------------------
研究activex
------解决方案--------------------
EXE是可以的Process.Start()
dll用
Assembly assembly = Assembly.LoadFrom(dllFileName);
Type type = assembly.GetType( "类型名 ");
IPlugIn plugin = Activator.CreateInstance(type) as IPlugIn;


------解决方案--------------------
C# 写的直接引用 别的语言要 [DllImport( "myTest.dll ")]
------解决方案--------------------
是.NET的话可以使用反射
------解决方案--------------------
感觉这个深奥了,看了别人回的也就一个人说可以的,但没有给方案
------解决方案--------------------
如果你可以得到类或EXE中的类的类型,那么可以通过给这个类型建立一个实例对象来调用.

如果是托管的代码写的,那么使用:
Assembly assembly = Assembly.LoadFrom(dllFileName);
object obj = assembly.CreateInstance(typeName);

如果是非托管的可能要调用API来生成类的实例,没有具体做过,这种情况只供参考.
------解决方案--------------------
你所要其实就是微软所推广的com里,就地激活,类似在word嵌入一个excel,双击在word文档中启动excel,但这种形式不是所有的应用程序所支持,建议了解一下com