当前位置: 首页 > 编程语言 > C#

使用C#程序启动一个Dll分享

时间:2023-04-10 21:29:54 C#

使用C#程序启动一个Dll我有一个C#形式的应用程序...我创建了一个Dll...现在我想使用这个程序来启动那个DLL。我应该怎么办?#includetypedefint(*function1_ptr)();function1_ptrfunction1=NULL;intAPIENTRYWinMain(HINSTANCE,HINSTANCE,LPSTR,int){HMODULEmyDll=LoadLibrary("Dll1.dll");if(myDll!=NULL){function1=(function1_ptr)GetProcAddress(myDll,"function1");如果(函数1!=NULL)函数1();否则退出(4);免费图书馆(myDll);}否则退出(6);GetLastError();这是测试我的DLL的代码......即Dll1.dll..function1是dll1.dll中的一个函数....我可以用C#代码做类似的事情吗???要执行代码示例的操作,请使用以下C#代码:}privatevoidbuttonStart_Click(objectsender,EventArgse){try{DllHelper.function1();}catch(Exceptionex){Console.WriteLine(ex.Message);上面的示例是一个C#程序,它调用非基于.NET的DLL中的函数。下面的示例是一个C#程序,它调用基于.NET的DLL中的函数。尝试{System.Reflection.Assemblydll1=System.Reflection.Assembly.LoadFile("Dll1.dll");if(dll1!=null){objectobj=dll1.CreateInstance("Function1Class");if(obj!=null){System.Reflection.MethodInfomi=obj.GetType().GetMethod("function1");mi.Invoke(obj,newobject[0]);}}}catch(Exceptionex){Console.WriteLine(ex.Message);你想要这两个例子中的哪一个?或者您是否试图从示例代码中调用DLL中的C#函数?我假设您想使用DLL的功能?如果是这样,请创建对DLL的引用并在C#窗体应用程序中使用它。换句话说,为DLL中包含的应用程序逻辑创建“用户”界面。如果这没有意义,您应该查看如何添加对项目的引用。使您的DLL可执行,然后在诊断中使用Process类:http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspxProcessmyProcess=newProcess();尝试{我的过程。StartInfo.UseShellExecute=false;//你可以启动任何进程,HelloWorld是一个什么都不做的例子。myProcess.StartInfo.FileName="C:\HelloWorld.exe";myProcess.StartInfo.CreateNoWindow=true;我的流程开始();//此代码假定您正在启动的进程将自行终止。//鉴于它是在没有窗口的情况下启动的,所以您不能在桌面上终止它//它必须自行终止,或者您可以使用Kill方法从此应用程序中以编程方式执行此操作。}catch(Exceptione){Console.WriteLine(e.Message);}术语启动和DLL是一些不兼容的概念。操作系统启动程序,它们是具有已定义入口点的二进制文件:main方法。最好将DLL视为具有API形式的多个入口点的二进制文件。在这种情况下启动需要操作系统在这些入口点之间进行选择。您是否尝试在DLL中使用特定对象?如果是,请尝试以下操作您现在可以在项目中使用DLL中的类型。MyOtherDLLNamespace.TheTypelocal=...您可以为exe执行此操作:Process.Start("yourProcess");如果你想将dll加载到进程中然后使用它,你也可以使用AppDomain对象。最后你可以使用Assembly.Load(...)每个都有自己的目的,我建议初学者阅读msdn上的所有内容。添加DLL作为对表单应用程序的引用。然后您将能够从您的应用程序代码访问其中的命名空间和类。在C#应用程序中,添加对您创建的程序集(DLL)的引用。您可以通过“解决方案资源管理器”窗口执行此操作——右键单击“引用”,说“添加引用...”并选择您的DLL。此时,您可以添加“usingYourDllNamespace;”到C#窗体的顶部,并根据需要使用DLL中定义的类型。您可以使用不同的方法,一种是Assembly.Load,另一种是使用DllImport属性:[DllImport("mylib.dll)]您可以将该dll的引用添加到您的项目中。要添加引用,请使用以下步骤:1.进入项目菜单或解决方案资源管理器2.添加引用3.浏览你的dll好了,以上就是C#学习教程:使用C#程序启动Dll分享所有内容,如果对大家有用需要了解更多C#学习教程,希望大家多多关注~本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除.如有转载请注明出处: