首页 > 其他分享 >GetProcAddress函数

GetProcAddress函数

时间:2023-05-24 10:44:36浏览次数:24  
标签:函数 DLL 获取 地址 序号 GetProcAddress

1、Windows提供的一个函数,用于获取动态链接库中函数的地址。

2、函数原型:

FARPROC GetProcAddress(

HMODULE hModule,

LPCSTR lpProcName

)

3、参数说明:

hModule:指定要获取函数地址的 DLL 的模块句柄。可以使用 LoadLibrary 或 LoadLibraryEx 函数加载 DLL 并获取其模块句柄。

lpProcName:要获取地址的函数名(或函数的序号)。可以是一个字符串,表示函数的名称,或者是函数的序号(ORDINAL)。

4、返回值

1)函数调用成功,返回函数的地址。可以将该地址赋值给函数指针变量,然后通过该函数指针调用对应的函数。

2)函数调用失败,返回NULL。

 

5、使用 GetProcAddress 函数可以在运行时动态获取 DLL 中函数的地址,而不需要在编译时进行静态链接。这样可以实现动态加载和调用 DLL 中的函数,提高程序的灵活性和可扩展性。

6、注意:

1)使用 GetProcAddress 函数获取函数地址时,需要确保 DLL 已经加载并且函数名或函数序号正确。

2)函数名大小写敏感,函数序号是函数在导出表中的位置。

标签:函数,DLL,获取,地址,序号,GetProcAddress
From: https://www.cnblogs.com/wyj510/p/17427299.html

相关文章

  • 实验4 函数与异常处理编程
    实验任务一task1:程序源代码:1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum910sum=inc(7)+inc(7)11print(sum)运行结果:实验任务二task2-1源代码:1deffunc1(a,b,c,d,e,f):2......
  • matlab中通过ode函数求解常微分方程附加简单的钟摆模型
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 实验4 函数与异常处理编程
    任务1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)问题答案:不是。line1为内置作用域,line3和line11为全局作用域,line7为局部作用域任务2_1deffunc1(a,b,c,d,e,f):'''返回......
  • 实验四 函数与异常处理编辑
    实验任务一实验源码1print(sum)2sum=423print(sum)4definc(n):5sum=n+16print(sum)7returnsum8sum=inc(7)+inc(7)9print(sum)运行测试截图问题:实验任务1中,共有四处有print(sum)(line1,line3,line7,line11)。这四处使用的标识符sum......
  • 实验四 函数与异常处理编程
    1.实验任务1task1.py1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum910sum=inc(7)+inc(7)11print(sum)2.实验任务2task2_1.py1deffunc1(a,b,c,d,e,f):2'''3......
  • C语言函数大全-- x 开头的函数(3)
    C语言函数大全本篇介绍C语言函数大全--x开头的函数1.xdr_opaque1.1函数说明函数声明函数功能bool_txdr_opaque(XDR*xdrs,char*buf,u_intlen);用于编码或解码任意长度的二进制数据参数:xdrs:指向XDR数据结构的指针,表示要进行编码或解码的数据流b......
  • shell函数和三剑客
    函数基本语法#写法一:function函数名(){函数要执行的命令}#写法二,省略():function函数名{函数要执行的命令}#写法三,省略function:函数名(){函数要执行的命令}#调用函数#没有参数的函数函数名#有参数的函数函数名参数一参数二函数的......
  • 实验4 函数与异常处理编程
    task1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)答案:不是。line1为内置作用域,line3和line11为全局作用域,line7为局部作用域。task2-1deffunc1(a,b,c,d,e,f):'''返回参数......
  • 实验4 函数与异常处理编程
    task1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)运行结果: task2.1deffunc1(a,b,c,d,e,f):return[a,b,c,d,e,f]deffunc2(a,b,c,*,d,e,f):#返回参数a,b,c,d,e,f构成......
  • 不同数据库的格式化日期函数
    不同数据库的格式化日期MySql1、获取当前时间selectnow()2、日期格式化#年-月-日时:分:秒SELECTDATE_FORMAT(now(),'%Y-%m-%d%H:%i:%s')具体格式参考下面:格式描述%a缩写星期名(Sun..Sat)%b缩写月名(Jan..Dec)%c月,数值(0..12)%D带有英文......