菜鸟问题:如何调用API? 创建基于MFC的程序,直接调用就行了,不需要VB中冗长的Public Declare Function ...... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果我要调用的.dll不是标准的API,没有相应的.h,那末我是不是就应该自己声明一下了?这时该怎样声明?和VB的一样吗? dll中函数这样定义 extern "C" BOOL __declspec(dllexport) myfunc(LPCTSTR* pData);Exe中申明并包含相应的.lib: BOOL __declspec(dllimport) myfunc(LPCTSTR* pData); 就可以直接调用了。 首先要谢谢你,但我还是有许多不明白的。如果.dll不是自己写的呢?比如说以有的一个123.dll中有一个int aaa(int a)。我该怎么声明?如果连.dll的文件名都不确定,需要动态链接又该怎么办? 这就是为什么许多需要注册缴费的ocx或dll给你试用版的原因。你当然无法调用,但可以通过Dump等手段来看一个dll中有哪些函数。 你和我初学的时候一样,我也是先学VB再学VC的!VC已经把初学者常用的API函数封装在MFC类库里,一般很少自己去dll文件里找函数。与其从VB的编程基础去理解VC,倒不如从C++的思路去理解,会更容易的多。 如果是标准API(如LoadLibrary()),可以直接调用.否则,要把dll对应的.lib和.h包含进来 连打两个冒号,API函数任你选。 在MFC编程中,API函数可以随便用的呀!只要加了::就行:) 在MSDN里查找API对应的头文件和库,在程序中包含此头文件,在连接选项中加入库文件(*.lib)没有头文件和库的dll用LoadLibrary加载dll,再用GetProcAddress取得函数指针,具体的去看MSDN 你们说的都是mfc,在sdk编程里面,什么麻烦都没有了,连冒号都省了,因为,毕竟c与windows最亲密,而api又是属于windows的 API直接就可以调用啊!你只要加入#include <Windows.h>就可以了,VC自动连接相应的库.lib,如果是其他的,或没有Header文件、库等,则要调用LoadLibrary,GetProcAddress等了。不过一般用不到的! 如果是是关于WIN32 API编程,那么你只需要加入#include <windows.h>,大致有GDI32.LIB,USER32.LIB,KERNEL.LIB;若要调用其他库中的API函数,则需另外加入其他的库,如:要调用TAPI.DLL中的函数,就要在自己的文件中加入#include <TAPI.H>; 如果是MFC编程,那么可直接调用. 是不是说:如果有一个.dll文件是别人写好的,我知道里面有什么函数,但是这个.dll不是标准的API也没有相应的.h、.lib。那么我就不能够调用了? 当然,若只有DLL文件而没有H文件,这显然是不行的;但是,这种可能性很小:) 这个模板函数如何理解,求教 如何通过Install Shield打包自写的DLL,并请DLL在安装程序运行过程中自动进行注册。 在编辑代码时的函数和编译时的函数参数不一致?????怎么解决???? windows中进程和消息对列得问题,需要高人指点,请斑竹救命! 再不同的类之间,如何传递 _RecordsetPtr 变量?着急! 一个奇怪问题 有人听说过国产的操作系统吗(非red linux) 改变窗口大小的问题! 怎么建立类向导啊 如何使该死的mdb数据库变小? 微软是不是把我们甩了? 如何计算cpu的使用频率?使用什么api,还是其他东西?
这时该怎样声明?和VB的一样吗?
BOOL __declspec(dllimport) myfunc(LPCTSTR* pData); 就可以直接调用了。
如果.dll不是自己写的呢?比如说以有的一个123.dll中有一个int aaa(int a)。我该怎么声明?
如果连.dll的文件名都不确定,需要动态链接又该怎么办?
VC已经把初学者常用的API函数封装在MFC类库里,一般很少自己去dll文件里找函数。与其从VB的编程基础去理解VC,倒不如从C++的思路去理解,会更容易的多。
否则,要把dll对应的.lib和.h包含进来
没有头文件和库的dll用LoadLibrary加载dll,再用GetProcAddress取得函数指针,具体的去看MSDN
你只要加入#include <Windows.h>就可以了,VC自动连接相应的库.lib,
如果是其他的,或没有Header文件、库等,则要调用LoadLibrary,GetProcAddress等了。
不过一般用不到的!
如果是MFC编程,那么可直接调用.