动态调用dll-在wpf中如何实现动态调用一个用c#编写的dll?

问题描述

在wpf中如何实现动态调用一个用c#编写的dll?

在wpf中如何实现动态调用一个用c#编写的dll?dll是一个winform窗体。如何在wpf中调用?以wpf为主窗口

解决方案

不知道你说的动态调用是什么意思?是运行时加载么?那么用Assembly.LoadFrom加载dll,用Assemby.CreateInstance反射创建对象,然后用GetType得到类型,用GetMethod得到方法,最后Invoke调用。

解决方案二:

按照我说的关键字google下或者看msdn。

解决方案三:

问题已解决
Assembly assembly = Assembly.LoadFrom(@"文件路径");
//Type name = assembly.GetType("AppUI.CompanyInformation.BaseForm");//获取DLL命名空间
string name = assembly.GetTypes()[0].ToString();//选择你需要的命名空间
try
{
System.Windows.Forms.Form obj = assembly.CreateInstance(name) as System.Windows.Forms.Form;//创建对象

// MessageBox.Show(obj.ToString());
//System.Windows.Forms.Form aa = obj as System.Windows.Forms.Form;
obj.TopLevel = false;
winform.Child = obj;//此处winform为xaml中的winformhost控件
//grid.Children = obj;
}
catch (Exception ex)
{

            throw ex.InnerException;
        }
时间: 2024-10-31 12:42:20

动态调用dll-在wpf中如何实现动态调用一个用c#编写的dll?的相关文章

c# wpf中怎么为动态创造的listviewitem节点创建鼠标点击事件?

问题描述 c# wpf中怎么为动态创造的listviewitem节点创建鼠标点击事件? b.MouseDoubleClick += new MouseButtonEventHandler(delegate (object shabi, MouseButtonEventHandler r) { }); 直接这样写会报错,请问怎么解决?应该怎么写 b是动态创建的listviewitem节点对象

WPF中如何能动态的向TabControl中添加TabItem呢

问题描述 比如说界面上有Button1,Button2,有个TabControl.点击一下Button1,TabControl中就会添加一种TabItem,点击一下Button2,TabControl中会添加另一种TabItem.这种操作可以反复多次进行.大家提个思路,万分感谢.

wpf中C#,为什么对一个文本,只读打开,再写打开,程序会崩溃?

问题描述 我在代码中,加入了下面四行,程序就崩溃?下面代码,有问题吗?System.IO.StreamReadersr=newSystem.IO.StreamReader("abc.txt",true);//这里本来要加入读操作的sr.Close();System.IO.StreamWritersw=newSystem.IO.StreamWriter("abc.txt");//这里本来要加入写操作的sw.Close(); 解决方案 解决方案二:我用trycatch捕

请教WPF中打开浏览器,Post方式传递参数的问题

问题描述 现在在WPF中开发,遇到了一个问题:打算在WPF程序中打开一个网页,并给网页传递参数,在网页中获取参数信息并做处理.由于参数比较长而且含有中文,现在就遇到了这个问题:1.打开网页后,参数值不固定,如果过长,就会被IE截取地址,所以传过去的信息不全,而且会把参数以明文的形式显示出来,不方便.2.参数中有中文,这样导致在打开浏览器中,中文编程了乱码,在网页中获取的内容就不对了我是用Process.Start的方式打开网页的,现在想问问能不能用Post的方式打开,解决传递中参数过长.参数中中

loadlibrary-g++ 怎么编写windows DLL 用LoadLibrary加载的哪种

问题描述 g++ 怎么编写windows DLL 用LoadLibrary加载的哪种 用gcc 可以编写windows dll 也可以用LoadLibrary和GetProcAddress进行DLL 中的函数调用.用G++ 编写的同样的DLL 可以编写通过,但是用LoadLibrary和GetProcAddress不能调用其中的函数. 解决方案 你看看dll的函数导出接口是什么? 看看是不是调用约定的问题. 解决方案二: 注意函数调用约定,函数名修饰 g++的修饰名不一样

在WPF中使用PlaneProjection模拟动态3D效果

原文:在WPF中使用PlaneProjection模拟动态3D效果 虽然在WPF中也集成了3D呈现的功能,在简单的3D应用中,有时候并不需要真实光影的3D场景.毕竟使用3D引擎会消耗很多资源,有时候使用各种变换和假的阴影贴图也能设计出既省资源,又有很好用户体验的"伪"3D界面. 在Silverlight中,因为性能问题,一般并不使用真3D引擎,微软为Silverlight提供了System.Windows.Media.PlaneProjection 类,用投影变换来模拟3D的效果. 下

有dll和lib及.h头文件,安卓如何调用dll或lib中的函数?

问题描述 有dll和lib及.h头文件,安卓如何调用dll或lib中的函数? 有dll和lib及.h头文件,安卓如何调用dll或lib中的函数? 解决方案 调用不了. dll是windows操作系统专有的格式,这个不谈.dll是可执行文件,里面是x86的机器代码(不像java是中间代码). 手机用的是arm处理器,和x86在机器码上都不兼容. 解决方案二: .h .lib .dll关于.dll,.h,.lib 的用法.h头文件;.lib库文件;.dll动态链接-

WPF中动态添加控件

问题描述 前提:在VS2008中用WPF(XAML)开打Window窗体内容:如何实现动态添加控件,比如动态添加3列,第一列是ComboBox,第二列是ComboBox,第三列是图片Button(这列你们可以不用关心,我用的是模板)我的思路是在ListView中实现,代码如下XAML的代码:<ListViewGrid.Row="3"Margin="0,5,0,0"Name="lvSelEdit"ItemContainerStyle=&quo

调用别人编写的dll实时的接收图像流,用MFC可以实现,能否在.NET网页中实现。

问题描述 具体动态库的函数原型如下,void(WINAPIPlayRealVideo)(char*ip,longhdc,RECTwhere);ip:指定要播放的终端IP地址(摄影机的Ip)hdc:指定要播放的句柄where:指定在什么位置播放structRECT{Intleft,top,bottom,right;}我本来是在本地用MFC实现调用可以实现,实现了对应IP传输过来的图片流在某一句柄对应的某一区域的视频的实时播放,对于.Net,本人不是很熟悉正在学习中,现在想把别人提供的dll在.Ne