关于C# winform程序引用DLL文件的问题求教

关于C# winform程序引用DLL文件的问题求教,第1张

调用第三方的DLL,需要将你的dll文件添加引用!(程序运行之后,dll文件会在你的项目文件夹的bin\debug\文件夹下)

然后在程序里面还要用代码引用一次!!

例如:

[DllImport("win32.dll")]

使用dllImport需要添加程序集using

System.Runtime.InteropServices

下面是一个简单的例子:

public

class

ConnectNet

{

///

///

该类主要用于检测网络是否连通,调用系统自带的API函数wininet.dll

///

使用该dll内的InternetGetConnectedState方法

///

///

方法参数一,表示网络连接状态

///

方法参数2,保留参数

///

state

,类型为Bool

[DllImport("wininet.dll")]

private

extern

static

bool

InternetGetConnectedState(out

int

connnectionDescription,

int

reservedValue)

public

bool

IsConnected()

{

int

i

=

0

bool

state

=

InternetGetConnectedState(out

i,

0)

return

state

}

}

在安装包工程点右键选择【视图】->【注册表】,再打开的窗口里"HKEY_LOCAL_MACHINE"->"Software"里新建“键”,然后将新建项命名为dll的名字,并添加值

(1)、ILMerge。

这个工具是MS官方提供的,在 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17630 可以下载得到。这个工具能够把几个可执行文件(exe或者dll)打包集成进一个可执行文件中,具体使用方法网上很多,这里不再赘述。值得说明的是,我尝试写了一个.bat批处理来merge,效果非常好。利用pause指令还能随时暂停ILMerge运行过程,可以看到merge失败时是哪里的问题。

(2)、嵌入DLL作为资源。

推荐使用这种方式。这个方法是CLR via C#的作者发明的(貌似,反正我是从他那里学的),原帖的地址http://blogs.msdn.com/b/microsoft_press/archive/2010/02/03/jeffrey-richter-excerpt-2-from-clr-via-c-third-edition.aspx


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11448586.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存