typedef int (CALLBACK *SHUTDOWNDLG)(int); //显示关机对话框函数的指针
HINSTANCE hInst = LoadLibrary("shell32.dll"); //装入shell32.dll
SHUTDOWNDLG ShutDownDialog; //指向shell32.dll库中显示关机对话框函数的指针
if(hInst != NULL)
{
//获得函数的地址并调用之
ShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst,(LPSTR)60);
(*ShutDownDialog)(0);
}
上面的程序从网上得到,调试通过,我用depend打开shell32.dll文件,发现60的地方,也就是0x003c的地方Hint为N/A,Fucntion也为N/A,可以看出我们根本无法去猜测这种全为N/A的地址能实现什么功能,所以还请哪位有这方面资料的同志贴一些上来。
另外,像shell32.dll之样的动态库有没有.h文件啊,如果没有.h文件,怎么知道如何调用提供的函数?
HINSTANCE hInst = LoadLibrary("shell32.dll"); //装入shell32.dll
SHUTDOWNDLG ShutDownDialog; //指向shell32.dll库中显示关机对话框函数的指针
if(hInst != NULL)
{
//获得函数的地址并调用之
ShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst,(LPSTR)60);
(*ShutDownDialog)(0);
}
上面的程序从网上得到,调试通过,我用depend打开shell32.dll文件,发现60的地方,也就是0x003c的地方Hint为N/A,Fucntion也为N/A,可以看出我们根本无法去猜测这种全为N/A的地址能实现什么功能,所以还请哪位有这方面资料的同志贴一些上来。
另外,像shell32.dll之样的动态库有没有.h文件啊,如果没有.h文件,怎么知道如何调用提供的函数?
用什么工具查看?我想好多函数是没有函数名的,不然为什么这样用呢?
GetProcAddress(hInst,(LPSTR)60);
他为什么不这样用呢?
GetProcAddress(hInst,"funname");
他吃饱了撑着了?