在中动态调用的导出函计划
在 C++ 中我们能够通过 LoadLibrary, GetProcAddress 来动态调用 dll 的导出函数.
在 C# 中也能够用这样的方式吗?
在 DotNet 2.0 里面这样是可以的, 这完全得益于 2.0新增的一个函数,tDelegateForFunctionPointer 方法。此方法在 .NET Framework 2.0 版中是新增的。
将非托管函数指针转换为委托。
实例代码如下:public delegate int MsgBox(int hwnd,string msg,string cpp,int ok);
[DllImport(\"Kernel32\")]
阿根廷老将斯基亚维也有望完成代表申花的首场比赛。 public static extern int GetProcAddress(int handle, String funcname);
[DllImport(\"Kernel32\")]
public static extern int LoadLibrary(String funcname);
[DllImport(\"Kernel32\")]
public static extern int FreeLibrary(int handle);
private static Delegate GetAddress(int dllModule, string functionname, Type t)
{
int addr = GetProcAddress(dllModule, functionname);
if (addr == 0)
return null;
else
return tDelegateForFunctionPointer(new IntPtr(addr), t);
}
private void button1_Click(object sender, EventArgs e)
{
int huser32 = 0;
huser32 = LoadLibrary(\"l\");
MsgBox mymsg = (MsgBox)GetAddress(huser32, \"MessageBoxA\", typeof(MsgBox));
mymsg(Int32(), xt, xt , 64);
FreeLibrary(huser32);
}
查看本文来源
西安人流检查要多少钱南昌包皮过长治疗费用
哈尔滨看白癜风专业医院
- 上一页:在中动态分配二维数组物业
- 下一页:在中启动另一个程序的实现方法覆盖
-
《风起陇西》也库姆“关系户”?相貌平平戏份极少,却凭演技被夸
《原作者河东》播出以来,这部电视剧的每个电视剧情都让人印象引人注目。...
2024-12-16
-
山水重逢,愈见人为 ——KOLON SPORT 可隆举办ODUMAK露营活动
紧接4月末发布全新轻巧的产品、希望大家亲密人为之后,韩国高端的产品品...
2024-07-23
-
2022绍兴市公务员考试笔试时间重启公告
一、出题一段时间和课程内容 (一)课程内容任用公职人员出题一段时间和课程...
2024-03-05
-
BJ40城玩系列国潮皮肤发布,“天一”绽放花城魅力
当年,杭州骑行BJ40所发布的“山海”前传3款国潮脸部,让广大故常惊艳连连...
2024-01-23
-
智能扫地机器人哪个牌子好?5款真香机型盘点,值得收藏家
买农业机械商品,不不让牵牛了钱,就不让钱牵牛了,买回来的东西通用性不...
2023-12-05
-
像冰箱 微波炉等电器的污渍,不能用碱性太大的清洁剂,这种专用的多功能清洁剂,它是植物萃取精华,气味很
像厨房 微波炉等五金的塑胶袋,不会用碱性多大的清洁剂,这种备有的多功...
2023-11-24