标题:
[求助][讨论]什么是API?如何使用?
[打印本页]
作者:
qingqiqiu
时间:
2004-12-5 15:32
标题:
[求助][讨论]什么是API?如何使用?
什么是API?如何使用?
作者:
风灵风之子
时间:
2004-12-5 18:06
标题:
[求助][讨论]什么是API?如何使用?
Application Programming Interface应用程序编程接口
使用就是调用API函数
作者:
qingqiqiu
时间:
2004-12-7 17:20
标题:
[求助][讨论]什么是API?如何使用?
这些函数怎么查找啊?
作者:
刺客
时间:
2004-12-8 19:45
标题:
[求助][讨论]什么是API?如何使用?
微软哪个手册~
叫啥?
mscn? or mcan? or mscd ?
m***
呵呵`~老记性
作者:
abmark
时间:
2004-12-8 21:27
标题:
[求助][讨论]什么是API?如何使用?
呵呵
作者:
qingqiqiu
时间:
2004-12-9 12:22
标题:
[求助][讨论]什么是API?如何使用?
可是我不知道这些函数的作用和用途啊??
作者:
风灵风之子
时间:
2004-12-9 18:39
标题:
[求助][讨论]什么是API?如何使用?
MSDN
函数的作用和用途在用到的时候查一下就行了。
作者:
x86
时间:
2004-12-28 19:06
标题:
[求助][讨论]什么是API?如何使用?
c++里怎么 调用啊 ??????
怎么 建立 一个 最简单得 api程序啊 ?????
还 是调用类???
作者:
bigblock
时间:
2004-12-28 19:13
标题:
[求助][讨论]什么是API?如何使用?
http://www.hongen.com/pc/program/apiquery.htm
这里可以查询所有的windows的api函数。
作者:
x86
时间:
2004-12-29 19:11
标题:
[求助][讨论]什么是API?如何使用?
问题使 怎么 调用,在visual c++下,有 什么 要求 吗 ???
可不可以写一个 最简单得 api调用 程序 ???
作者:
bigblock
时间:
2004-12-30 22:21
标题:
[求助][讨论]什么是API?如何使用?
VFP编程时,经常会用到WIN32API函数来对VFP的功能进行扩展,例如对注册表进行操作、获取系统信息等,但是由于WIN32API函数遵循的是C++的数据结构,在应用时与VFP的数据格式有所区别,因此在调用时容易产生问题,现将有关调用方式详解如下:
VFP中调用WIN32API的主要函数是:DECLARE - DLL
它是注册外部 Windows 32 位动态链接库 ( .DLL ) 中的一个函数。
语法:
DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName] [cParamType1 [@] ParamName1, cParamType2 [@] ParamName2, ...]
参数:
cFunctionType 表明 32 位 Windows .DLL 函数是否有返回值。如果函数有返回值,则包含 cFunctionType ,否则省略 cFunctionType。
cFunctionType 可以是以下值:
cFunctionType 说明
SHORT 16 位整数
INTEGER 32 位整数
SINGLE 32 位浮点数
DOUBLE 64 位浮点数
STRING 字符串
FunctionName 指定在 Visual FoxPro 中要注册的 32 位 Windows .DLL 函数名。注意 FunctionName 区分大小写。32 位 Windows .DLL 函数名可以与 Win32 API 手册中规定的不同。例如,Messagebox 函数应该命名为 MessogeBoxA(对于单字节字符)和 MessageBoxW(对于 UNICODE)。如果 Visual FoxPro 不能定位 FunctionName 指定的 32 位 Windows .DLL 函数,则将字母 A 追加到函数名尾部,Visual FoxPro 用新的函数名重新搜索。
如果指定的32 位 Windows .DLL 函数与一个 Visual FoxPro 函数同名,或者函数名不是合法的 Visual FoxPro 函数名,则将32 位 Windows .DLL 函数名作为 FunctionName,并用 AS 子句给该函数? 个合法的 Visual FoxPro 名,这点在本主题的后面将要说明。
IN LibraryName 指定外部 Windows .DLL 的名称,该动态链接库包含 FunctionName 指定的 Windows 32 位 .DLL 函数。如果为 LibraryName 指定 WIN32API,则 Visual FoxPro 就在 KERNEL32.DLL、GDI32.DLL、USER32.DLL、MPR.DLL 和 ADVAPI32.DLL 中搜索 32 位 Windows .DLL 函数。
AS AliasName 为一个与 Visual FoxPro 函数同名或不合法的 Windows 32 位 .DLL 函数名指定别名。AliasName 不能是 Visual FoxPro 的保留字或已经由 Visual FoxPro 注册的 Windows 32 位 .DLL 函数名。可使用 AliasName 去调用 Windows 32 位 .DLL 函数。AliasName 不区分大小写。
cParameterType1 [@] ParamName1, cParameterType2 [@] ParamName2, ... 指定传递给 Windows 32 位 .DLL 函数的参数类型。
Windows 32 位 .DLL 函数由 cParameterType 指定需要的参数类型。
cParameterType 可以为下列某一类型:
cParameterType 说明
INTEGER 32 位整数
SINGLE 32 位浮点数
DOUBLE 64 位浮点数
STRING 字符串
如果参数不是 Windows 32 位 .DLL 函数所需要类型,Visual FoxPro 产生一个错误。Null 值可以作为字符串传递。
调用函数时,若按引用传递一个参数,必须在这条命令的参数 cParameterType 后面、在调用函数相应变量前面包含 @。如果在 DECLARE 中或在调用函数中没有包含 @,参数就按值传递。有关需要按引用传递参数的 .DLL 函数的详细内容,请参阅
《Microsoft Win32 编程指南》。
附注
参数名 ParamName1,ParamName2 等是可选的,Visual FoxPro 或 Windows 32 位 .DLL 函数并不使用它们,它们可以作为函数接收的参数名和参数类型的提示。
说明
在从 Visual FoxPro 调用一个32 位 Windows .DLL 函数前,必须发出带有函数名、包含该函数的 Windows .DLL 名以及函数将要接收的参数类型的 DECLARE 命令。
为了提供向后兼容性,Visual FoxPro 仍支持 FOXTOOLS.FLL(包含在 FoxPro 早期版本中),并允许调用 16 位 .DLL 函数的 Visual FoxPro API 库。在 Visual FoxPro 中,调用 .DLL 函数时使用 DECLARE 是可取的方法。
有关 Windows 32 位 .DLL 函数的详细内容,请参阅《Microsoft Win32 编程指南》中的文档。
执行 DISPLAY STATUS 或 LIST STATUS 可以显示注册函数的名称,执行 CLEAR ALL 或 CLEAR DLLS 可从内存中删除注册函数。
实际应用中的几点体会:
1、在API函数的参数中表明是“//address of”的,相当于在C++的指针地址,在注册时,一定要参数 类型后、在调用函数相应变量前面包含 @,以表明是按引用传递一个参数。
2、对于API函数的参数中类型为LPCTSTR和LPTSTR的函数,在注册时要定义为String类型,其他类型一般均可定义为Integer类型。
3、对于API函数的参数为一个“结构”的话,可定义为一足够大的空格字符串变量,在通过加@按引用来传递这一参数。
作者:
bigblock
时间:
2004-12-30 22:27
标题:
[求助][讨论]什么是API?如何使用?
在VB中声明API函数有两种方法:如果我们只在某个窗体中使用API函数,我们可以在窗体代码的General部分声明它:
声明的语法是:Private Declare Function ...Private Declare Sub.....这里必须采用Private声明,因为这个API函数只能被一个窗体内的程序所调用。
如果我们的程序有多个窗体构成,而且我们需要在多个窗体中使用同一个API函数,就需要在模块中声明了。先添加一个模块(如图示),然后采用如下语法声明:Public Declare Function....Public Declare Sub....Public声明的含义是把API函数作为一个公共函数或过程,在一个工程中的任何位置(包括所有的窗体和模块)都能直接调用它。 声明完毕我们就能在程序中使用此API函数了。
可采用以下几种方式使用API函数,以SetWindowPos函数为例:(1)忽略函数返回值的调用:SetWindowPos Form1.hWnd, -2 ,0 ,0 ,0, 0, 3注意此时函数的参数是不加括号的。(2)Call方法调用:Call SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3) 注意这里需要加上括号,但我们不取回函数的返回值.(3)取得函数返回值的调用:MyLng = SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3) 此时需要加上括号,而且我们必须事先定义一个变量(变量的类型与函数返回值类型相同)来存储API函数的返回值。
作者:
风灵风之子
时间:
2004-12-30 22:31
标题:
[求助][讨论]什么是API?如何使用?
假设你已有了名为My的对话框的工程.有了一个按钮并有了其响应的函数:OnButton1()
void CMyDlg::OnButton1()
{
CString str = "Some text";
::OpenClipboard(this->m_hWnd);
::EmptyClipboard();
HGLOBAL h = GlobalAlloc(GHND | GMEM_SHARE, str.GetLength() + 1);
strcpy((LPSTR)GlobalLock(h), str);
GlobalUnlock(h);
::SetClipboardData(CF_TEXT, h);
::CloseClipboard();
}
作者:
x86
时间:
2004-12-31 01:08
标题:
[求助][讨论]什么是API?如何使用?
还 是不太清楚,可不可以推荐一些这方面得 书籍啊 ???????
作者:
风灵风之子
时间:
2005-1-3 14:24
标题:
[求助][讨论]什么是API?如何使用?
《window程序设计(上下册)》->《深入浅出MFC》->《VC技术内幕》
作者:
x86
时间:
2005-1-3 22:57
标题:
[求助][讨论]什么是API?如何使用?
下面引用由
风灵风之子
在
2005/01/03 02:24pm
发表的内容:
《window程序设计(上下册)》->《深入浅出MFC》->《VC技术内幕》
《window程序设计(上下册)》??
是不是北京大学出版社的那本????很厚的?
作者:
风灵风之子
时间:
2005-1-17 12:20
标题:
[求助][讨论]什么是API?如何使用?
好像是,具体出版社我忘了,只记得2本书160元。。
作者:
xuexx
时间:
2005-2-24 13:10
标题:
[求助][讨论]什么是API?如何使用?
vb中api函数在调用时,怎样才能知道该递什么参数?形参中的英文我不太懂.
还有些api常数怎样能知道它的取值?或取值范围?
有的参数多,在传递时应注意些什么?
作者:
smart
时间:
2005-2-24 17:01
标题:
[求助][讨论]什么是API?如何使用?
应用程序接口,msdn中有使用的方法
欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/)
Powered by Discuz! 7.2