高分求救!!c++调用dll中的函数的现实方式
现在有一个第三方的dll,我想用c++调用dll中的方法,请问应该怎样做呢?按照网上说的做了,还是不成功,本人对C++不太熟悉,我是用DEV C++来写的,但是编译时提示“`HINSTANCE' undeclared (first use this function) ”,请问是怎么回事呢?请高手指教!谢谢!
我的代码如下:
int main(int argc, char *argv[])
{
//装载加密/解密DLL
HINSTANCE hdll=NULL;
hdll=::Load Library ("Mwic_32.dll");
//通过类型定义语句typedef来定义函数指针类型
Typedef BOOL (_stdcall *lpFileEncrypt)(LPCTSTR, LPCTSTR, LPCTSTR, LPCTSTR);
//函数声明
LpFileEncrypt FileEncrypt1;
//获取加密函数File Encrypt的函数指针
FileEncrypt1=(lpFileEncrypt)::GetProcAddress(hdll,"ic_init");
//调用DLL中加密函数File Encrypt对文件加密,user-12345678为软件注册号
int a=FileEncrypt1(0,9600);
//释放DLL模块
::AfxFreeLibrary(hdll);
printf("result="+a);
}
[解决办法]
#include<windows.h>#include<stdio.h>int main( int argc, char *argv[] ){//装载加密/解密DLL HINSTANCE hdll = NULL; hdll = LoadLibrary ( "Mwic_32.dll" );//通过类型定义语句typedef来定义函数指针类型 typedef BOOL ( _stdcall *lpFileEncrypt )( LPCTSTR, LPCTSTR, LPCTSTR, LPCTSTR );//函数声明 lpFileEncrypt FileEncrypt1;//获取加密函数File Encrypt的函数指针 FileEncrypt1 = ( lpFileEncrypt )::GetProcAddress( hdll, "ic_init" );//调用DLL中加密函数File Encrypt对文件加密,user-12345678为软件注册号 int a = FileEncrypt1( "1", "2", "3", "4" );//释放DLL模块 FreeLibrary( hdll ); printf( "result=" + a );}
[解决办法]
HINSTANCE是Windows.h里的吧
顺便说一句,devc++没什么前途