句柄和API是什么东西 好多代码老看到句柄和API它们是怎么个工作原理详细给解释一下,有例子最好 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 句柄相当于一个对象的指针,有了它就能操纵它对应的一系列数据,不一定真的是对象API就是应用编程接口,公用函数 句柄就相当于系统给每个应用程序窗口编的号码,就像门牌号一样,通过这个号码可以操作相应的窗口。API函数接口,编程中可以很方便的调用不同的API函数,实现不同的功能。 句柄可以看似ID,是一串数字来的,都是唯一的,有了它就可以操作它相应的窗口或者数据API是接口函数,是封装好的了,我们不用关心函数内它是怎么实现的,只要懂得如何调用及清楚返回的结果是什么即可,像Windows API我们可以直接拿来用这是我的肤浅之见哈!!! 句柄不一定是窗口的,很多种东西都有句柄,句柄就是类似代号的东西,由系统分配,你用句柄进行系统调用,系统就会知道你要操作那个东西。API就是应用接口,就是系统提供给你的调用接口。windows api很多都是要用到句柄的,一般都这么用:句柄 创建xxx() 函数返回一个句柄操作(句柄)销毁(句柄) 说起句柄像指针,传说windows至少某些版本就是拿指针当句柄使的。 还是去看微软怎么说的http://msdn.microsoft.com/en-us/library/windows/desktop/ms724457(v=vs.85).aspx 用一个最简单的例子:假设你要实现了一些函数用于操作某个数据结构的,你一般会这么做:1. 先设计这个数据结构: PData = ^TData; TData = record Data1: Integer; Data2: Integer; end;2. 设计一些操作函数 function CreateData: PData; procedure FreeData(Data: PData); procedure ProcData1(Data: PData; data1, data2: Integer); procedure ProcData2(Data: PData; data1, data2: Integer);3. 现在你的函数设计好了,但是你觉得数据结构内部知道就好了,外部调用的并不需要知道。 那么,你将函数重新设计成这样: function CreateData: Pointer; procedure FreeData(Data: Pointer); procedure ProcData1(Data: Pointer; data1, data2: Integer); procedure ProcData2(Data: Pointer; data1, data2: Integer); 用户创建了某个结构,但他并不知道,他只要调用函数操作这个结构就好了,把这个概念更一般化一些。 这个结构指针就是所谓的“句柄”不知这样解释你明白些了没有。 M Xmas 插件应该如何设计?COM技术的插件和一般写法的插件有什么区别? combobox控件的应用!请大家指点 如何重载= 关于函数的问题 用文本创建程序 *调查*星爷们、高手们、前辈们:初学编程经历、方法及感受!顺便散散分?!?!?!... 初学者求救:如何取得一数的二进制位 怎么CSDN现在的贴子不能保存啦??? 程序员大本营2001(BORLAND版) *** ImageList读取ico,然后画到SpeedButton上会严重失真???求助 delphi中使用rmreport控件打印dbgrid中的数据
API就是应用编程接口,公用函数
API函数接口,编程中可以很方便的调用不同的API函数,实现不同的功能。
API是接口函数,是封装好的了,我们不用关心函数内它是怎么实现的,只要懂得如何调用及清楚返回的结果是什么即可,像Windows API我们可以直接拿来用这是我的肤浅之见哈!!!
句柄 创建xxx() 函数返回一个句柄
操作(句柄)
销毁(句柄) 说起句柄像指针,传说windows至少某些版本就是拿指针当句柄使的。
还是去看微软怎么说的http://msdn.microsoft.com/en-us/library/windows/desktop/ms724457(v=vs.85).aspx
假设你要实现了一些函数用于操作某个数据结构的,你一般会这么做:1. 先设计这个数据结构:
PData = ^TData;
TData = record
Data1: Integer;
Data2: Integer;
end;2. 设计一些操作函数
function CreateData: PData;
procedure FreeData(Data: PData);
procedure ProcData1(Data: PData; data1, data2: Integer);
procedure ProcData2(Data: PData; data1, data2: Integer);3. 现在你的函数设计好了,但是你觉得数据结构内部知道就好了,外部调用的并不需要知道。
那么,你将函数重新设计成这样:
function CreateData: Pointer;
procedure FreeData(Data: Pointer);
procedure ProcData1(Data: Pointer; data1, data2: Integer);
procedure ProcData2(Data: Pointer; data1, data2: Integer); 用户创建了某个结构,但他并不知道,他只要调用函数操作这个结构就好了,把这个概念更一般化一些。
这个结构指针就是所谓的“句柄”不知这样解释你明白些了没有。