GetProcAddress的用法

GetProcAddress的用法

关键词GetProcAddress                                          

/*
本程序通过GetProcAddress方法调用Api
  int (__stdcall *MsgBox)(HWND ,LPSTR,LPSTR,int);
  (FARPROC&)MsgBox=GetProcAddress(hMod,\"MessageBoxA\");
  MsgBox(Null,"hello,I love you","Caption",0);
  
  typedef int (__stdcall *MSGBOX)(HWND ,LPSTR ,LPSTR ,INT);
  MSGBOX MsgBox2=(MSGBOX)GetProcAddress(hMod,"MessageBoxA");
  MsgBox2(Null,"hello,I love you","Caption",0);
*/

#include <windows.h>

void main()
{
 HMODULE hMod=LoadLibrary("user32.dll");
 /Api调用的方法一//
 int (__stdcall *MsgBox1)(HWND ,LPSTR,LPSTR,int);
 (FARPROC&)MsgBox1=GetProcAddress(hMod,"MessageBoxA");
 /Api调用的方法二//
 typedef int (__stdcall *MSGBOX)(HWND ,LPSTR ,LPSTR ,INT); 
 MSGBOX MsgBox2=(MSGBOX)GetProcAddress(hMod,"MessageBoxA");
 
 MsgBox1(NULL,"通过函数指针调用Api成功!\n\n"
  "1、int (__stdcall *MsgBox)(HWND ,LPSTR,LPSTR,int);\n"
  "2、(FARPROC&)MsgBox=GetProcAddress(hMod,\"MessageBoxA\");\n"
  "3、MsgBox(Null,\"hello,I love you\",\"Caption\",0);",
  "通过函数指针调用Api,方法一:",0);

 MsgBox2(NULL,"通过函数指针调用Api成功!\n\n"
  "1、typedef int (__stdcall *MSGBOX)(HWND ,LPSTR ,LPSTR ,INT);\n"
  "2、MSGBOX MsgBox2=(MSGBOX)GetProcAddress(hMod,\"MessageBoxA\");\n"
  "3、MsgBox2(Null,\"hello,I love you\",\"Caption\",0);",
  "通过函数指针调用Api,方法二:",0);

 return;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值