
1、第一步,打开一个程序的安装目录,在这里面可以看到一些dll的一些文件
2、第二步,右边有一个更多,点击一下“更多”,可以看到它的默认安装路径,如果不需要更改的话,它就会默认的安装到c盘的程序文件夹中。
3、第三步,点击安装之后,在它d出的面板中有一个自动汉化的说明,我们点击“已阅”。
4、第四步,接着在它的安装过程中会出现一个安装类型,可以根据需要选择一个安装类型,这里就选择它默认的“典型安装”,然后点击:下一步。
5、第五步,当安装到汉化的安装目录的时候它会提示,如果是不想把它安装到默认位置的话,可以在点击浏览选择一个安装的文件位置,这里就还是以它的默认的c盘中的program files\exescope的文件夹里。
6、第六步,可以看到它上面的提橡掘前示它的汉化版已安装完成,这时点击关闭。
7、第七步,在dll的文件上点击右键,就可以看到右键的下拉菜单中可以看到它的程序右键菜单。
8、第八步,用右键菜单中的exescope,点击要打开的dll文件时,会出现一个提示:拒绝写入,这里只读模式打开,这时点击确定。
9、第九步,点击确定之后,就可以在它打开的面板中看到一些这样的文字,头部、导出、导入和资源,如果点击它前面的+号可以查看到它所包含的不同内容。
10、第十步,点击不同的dll文件时,可以看到它里面的内容也是不同的。
11、第十一步,当想要把所要的位图或者图标导出到一个文件夹散帆的时候要在文件菜单中选择导出,选择一个存储的位置,可以看到它如果是图标梁清的话,默认的存储就会是图标文件的后缀名,存储之后可以对其做一些修改。
可以直者举接添加引用,如果怕程序笨拙,可以动态加载1.程序加载时,载入程序集
public
void
InvokeLoad(string
DllFileName,
string
Namespace,
string
ClassName)
{
try
{
//
载入程序集
Assembly
MyAssembly
=
Assembly.LoadFrom(DllFileName)
Type[]
type
=
MyAssembly.GetTypes()
//
查找要调用的命名空间及类
foreach
(Type
t
in
type)
{
if
(t.Namespace
==
Namespace
&&
t.Name
==
ClassName)
{
InvokeType
=
t
}
}
}
catch
(System.NullReferenceException
e)
{
MessageBox.Show(e.Message)
}
}
需要时,调用
public
object
InvokeCall(string
DllProcName,
object[]
ObjArray_Parameter)
{
try
{
if
(InvokeType
!=
null)
{
/缓嫌盯/
查找要调用的方法并进行调扰和用
MethodInfo
m
=
InvokeType.GetMethod(DllProcName)
if
(m
!=
null)
{
object
obj
=
Activator.CreateInstance(InvokeType)
return
m.Invoke(obj,
ObjArray_Parameter)
}
else
{
MessageBox.Show("
装载出错
!")
}
}
else
{
}
}
catch
(System.NullReferenceException
e)
{
MessageBox.Show(e.Message)
}
return
(object)0
}
其实方法有很多,不同人不同的习惯和用法
另附Q4640465
显示调用hinstance handle = ::loadlibrary("*.dll")
Func p = GetProcessAddress(handle, "旅宴滚func")// func 编译方式需要为extern “C”
隐式调用 大多情况
#include “*.h”//dll对祥亮应的头文件
#pragma comment(lib, "*.lib")
其中头文件标示函数声明, lib导入类似cpp编译成的.obj文件(dll与obj文件格式是基本一致的均为pe文件格式),拆余 连接器会对dll进行连接找到对应的函数定义
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)