Delphi Api
Delphi 常用API 函数
1.Delphi 常用API 函数2.3.AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小4.AnyPopup 判断屏幕上是否存在任何弹出式窗口5.ArrangeIconicWindows 排列一个父窗口的最小化子窗口6.AttachThreadInput 连接线程输入函数7.BeginDeferWindowPos 启动构建一系列新窗口位置的过程8.BringWindowToTop 将指定的窗口带至窗口列表顶部9.CascadeWindows 以层叠方式排列窗口10.ChildWindowFromPoint 返回父窗口中包含了指定点的第一个子窗口的句柄11.12.ClientToScreen 判断窗口内以客户区坐标表示的一个点的屏幕坐标13.CloseWindow 最小化指定的窗口14.CopyRect 矩形内容复制15.DeferWindowPos 该函数为特定的窗口指定一个新窗口位置16.DestroyWindow 清除指定的窗口以及它的所有子窗口17.DrawAnimatedRects 描绘一系列动态矩形18.EnableWindow 指定的窗口里允许或禁止所有鼠标及键盘输入19.EndDeferWindowPos 同时更新DeferWindowPos调用时指定的所有窗口的位置及状态20.EnumChildWindows 为指定的父窗口枚举子窗口21.22.EnumThreadWindows 枚举与指定任务相关的窗口23.EnumWindows 枚举窗口列表中的所有父窗口24.EqualRect 判断两个矩形结构是否相同25.FindWindow 寻找窗口列表中第一个符合指定条件的顶级窗口26.FindWindowEx 在窗口列表中寻找与指定条件相符的第一个子窗口27.FlashWindow 闪烁显示指定窗口28.GetActiveWindow 获得活动窗口的句柄29.GetCapture 获得一个窗口的句柄,这个窗口位于当前输入线程,且拥有鼠标捕获(鼠标活动由它接收)30.GetClassInfo 取得WNDCLASS结构(或WNDCLASSEX结构)的一个副本,结构中包含了与指定类有关的信息31.32.GetClassLong 取得窗口类的一个Long变量条目33.GetClassName 为指定的窗口取得类名34.GetClassWord 为窗口类取得一个整数变量35.GetClientRect 返回指定窗口客户区矩形的大小36.GetDesktopWindow 获得代表整个屏幕的一个窗口(桌面窗口)句柄37.GetFocus 获得拥有输入焦点的窗口的句柄38.GetForegroundWindow 获得前台窗口的句柄39.GetLastActivePopup 获得在一个给定父窗口中最近激活过的弹出式窗口的句柄40.GetLastError 针对之前调用的api函数,用这个函数取得扩展错误信息41.42.GetParent 判断指定窗口的父窗口43.GetTopWindow 搜索内部窗口列表,寻找隶属于指定窗口的头一个窗口的句柄44.GetUpdateRect 获得一个矩形,它描叙了指定窗口中需要更新的那一部分45.GetWindow 获得一个窗口的句柄,该窗口与某源窗口有特定的关系46.GetWindowContextHelpId 取得与窗口关联在一起的帮助场景ID47.GetWindowLong 从指定窗口的结构中取得信息48.GetWindowPlacement 获得指定窗口的状态及位置信息49.GetWindowRect 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内50.51.GetWindowText 取得一个窗体的标题(caption)文字,或者一个控件的内容52.GetWindowTextLength 调查窗口标题文字或控件内容的长短53.GetWindowWord 获得指定窗口结构的信息54.InflateRect 增大或减小一个矩形的大小55.IntersectRect 这个函数在lpDestRect里载入一个矩形,它是lpSrc1Rect与lpSrc2Rect两个矩形的交集56.InvalidateRect 屏蔽一个窗口客户区的全部或部分区域57.IsChild 判断一个窗口是否为另一窗口的子或隶属窗口58.59.IsIconic 判断窗口是否已最小化60.IsRectEmpty 判断一个矩形是否为空61.IsWindow 判断一个窗口句柄是否有效62.IsWindowEnabled 判断窗口是否处于活动状态63.IsWindowUnicode 判断一个窗口是否为Unicode窗口。
DELPHI下API简述
1 DELPHI下API简述DELPHI下API简述/show.asp?id=144auxGetDevCaps API 获取附属设备容量auxGetNumDevs API 返回附属设备数量auxGetV olume API 获取当前卷设置auxOutMessage API 向输出设备发送消息auxSetV olume API 设置附属设备卷AbortDoc API 终止一项打印作业AbortPath API 终止或取消DC中的一切路径AbortPrinter API 删除打印机缓冲文件AbortSystemShutdown API 停止系统工作AccessCheck API 检验客户访问权限AccessCheckAndAuditAlarm API 检验访问,产生声音或警报ActivateKeyboardLayout API 激活一个新的键盘设备AddAccessAllowedAce API 将ACCESS_ALLOWED_ACE加入ACL AddAccessDeniedAce API 将ACCESS_DENIED_ACE加入ACL AddAce API 将ACE加入一个已存在的ACLAddAtom API 将一个字符串加入本地原子表AddAuditAccessAce API 将SYSTEM_AUDIT_ACE加入ACL AddFontResource API 将一种字体加入字体表AddForm API 加入一个打印机窗体AddJob API 启动一个打印作业AddMonitor API 加入一个打印机管理器AddPort API 加入一个打印机端口AddPrintProcessor API 将打印处理器复制到打印机服务器中AddPrintProvidor API 加入一个打印机支持器AddPrinter API 在打印机服务器上建立一个打印机AddPrinterConnection API 为当前用户建立与打印机的联系AddPrinterDriver API 将打印机驱动程序复制到打印机服务器中AdjustTokenGroups API 使能/取消令牌中的群AdjustTokenPrivileges API 使能/取消令牌特权AdjustWindowRect API 计算所需窗口矩形的大小AdjustWindowRectEx API 计算所需窗口矩形的大小AdvancedDocumentProperties API 进行打印机高级设置AllocConsole API 为当前进程建立控制台AllocateAndInitializeSid API 分配和初始化SID AllocateLocallyUniqueId API 分配LUIDAngleArc API 按指定角度画弧AnimatePalette API 替换逻辑调色板中的项目AnyPopup API 标识弹出式窗口是否存在AppendMenu API 在菜单中加入新的项目Arc API 画弧ArcTo API 画椭圆弧AreAllAccessesGranted API 检查所有要求的访问AreAnyAccessesGranted API 检查任何要求的访问ArrangeIconicWindows API 排列最小化的子窗口AttachThreadInput API 将线索彼此相连Abort 函数引起放弃的意外处理Abs 函数绝对值函数AddExitProc 函数将一过程添加到运行时库的结束过程表中Addr 函数返回指定对象的地址AdjustLineBreaks 函数将给定字符串的行分隔符调整为CR/LF序列Align 属性使控件位于窗口某部分Alignment 属性控件标签的文字位置AllocMem 函数在堆栈上分配给定大小的块AllowGrayed 属性允许一个灰度选择AnsiCompareStr 函数比较字符串(区分大小写)AnsiCompareText 函数比较字符串(不区分大小写)AnsiLowerCase 函数将字符转换为小写AnsiUpperCase 函数将字符转换为大写Append 函数以附加的方式打开已有的文件ArcTan 函数余切函数AssignFile 函数给文件变量赋一外部文件名Assigned 函数测试函数或过程变量是否为空AutoSize 属性自动控制标签的大小===============================================BackupEventLog API 将事件记录保存至后备文件BackupRead API 产生磁带备份读BackupSeek API 产生磁带备份查寻BackupWrite API 产生磁带备份写Beep API 产生一个声调BeginDeferWindowPos API 创建一个窗口位置结构BeginPaint API 准备一个画图窗BeginPath API 开始一个路径等级BeginUpdateResource API 在可执行文件中开始资源文件更新BitBlt API 在设备描述表间复制位图作者:219.136.187.* 2005-12-26 16:05 回复此发言--------------------------------------------------------------------------------2 DELPHI下API简述BringWindowToTop API 恢复重叠窗BroadcastSystemMessage APIBuildCommDCB API 向DCB中传送设备定义字符串BuildCommDCBAndTimeouts API 建立COMMDCB并设置超时值BackgroundColor 属性背景色BeginThread 函数以适当的方式建立用于内存管理的线程BevelInner 属性控件方框的内框方式BevelOuter 属性控件方框的外框方式BevelWidth 属性控件方框的外框宽度BlockRead 函数读一个或多个记录到变量中BlockWrite 函数从变量中写一个或多个记录BorderStyle 属性边界类型BorderWidth 属性边界宽度Break 命令终止for、while、repeat循环语句Brush 属性画刷===============================================CallMsgFilter API 将消息传给消息过滤过程CallNamedPipe API 多管道操作CallNextHookEx API 调中链中的下一个挂钩过程CallWindowProc API 将消息传答窗口函数CancelDC API 取消指定DC上的任何悬而未决的操作CascadeWindows APIChangeClipboardChain API 从剪贴板查看窗口上删除一个窗口ChangeMenu APIChangeServiceConfig API 修改服务参数CharLower API 将字符或字符串变为小写CharLowerBuff API 将字符串变为小写CharNext API 转到字符串的下一个字符CharPrev API 转到字符串的上一个字符CharToOem API 把字符串转换成OEM字符CharToOemBuff API 把字符串转换成OEM字符CharUpper API 将字符或字符串变为大写CharUpperBuff API 将字符串变为小写CheckColorsInGamut API 检查设备调色板中是否有色彩CheckDlgButton API 用对话按钮修改复选标记CheckMenuItem API 修改菜单项的复选标记属性CheckMenuRadioItem APICheckRadioButton API 用单选按钮放置一个复选标记ChildWindowFromPoint API 确定包含有点的窗口ChildWindowFromPointEx APIChooseColor API 建立一个色彩选择对话框ChooseFont API 建立一个字体选择对话框ChoosePixelFormat APIChord API 画一条弦ClearCommBreak API 恢复字符传输ClearCommError API 允许出错后进行通信ClearEventLog API 消除事件记录ClientToScreen API 将客户点转换成屏幕坐标ClipCursor API 将光标限制在矩形内CloseClipboard API 关闭剪贴板CloseDesktop APICloseDriver API 光闭可装入的多媒体驱动程序CloseEnhMetaFile API 光闭增强型图元文件DC CloseEventLog API 光闭事件记录句柄CloseFigure API 光闭路径中的一个数CloseHandle API 关闭打开的对象句柄CloseMetaFile API 关闭WINDOWS图元文件DC ClosePrinter API 关闭打开的打印机CloseServiceHandle API 关闭Service Control Manager对象CloseWindow API 最小化窗口CloseWindowStation APIColorMatchToTarget API 控件预览设备描述表CombineRgn API 将两个区域合成一个区域CombineTransform API 将两个变换式结合在一起CommConfigDialog APICommDlgExtendedError API 返回出错数据CommandLineToArgv APICompareFileTime API 比较两个64位文件时间CompareString API 比较两个局部指定字符串ConfigurePort API 配置打印机端口ConnectNamedPipe API 等待要连接的客户机ConnectToPrinterDlg API 显示浏览对话并连接网络打印机ContinueDebugEvent API 使调试线索继续ControlService API 向服务器发送控件ConvertDefaultLocale API 将缺省局部转换为实际的局部值CopyAcceleratorTable API 复制一个加速表CopyCursor API 复制一个光标CopyEnhMetaFile API 复制增强型图元文件CopyFile API 复制文件作者:219.136.187.* 2005-12-26 16:05 回复此发言--------------------------------------------------------------------------------3 DELPHI下API简述CopyIcon API 复制图标CopyImage APICopyLZFile APICopyMetaFile API 复制Windows图元文件CopyRect API 复制矩形大小CopySid API 将SID复制到缓冲区中CountClipboardFormats API 返回剪贴板格式的数量CreateAcceleratorTable API 建立加速表CreateBitmap API 建立独立于设备的内存位图CreateBitmapIndirect API 用BITMAP结构建立位图CreateBrushIndirect API 用指定属性建立一个刷子CreateCaret API 为系统脱字号建立新的形状CreateColorSpace API 建立逻辑色影区域CreateCompatibleBitmap API 建立与DC相兼容的位图CreateCompatibleDC API 建立与指定DC相兼容的DC CreateConsoleScreenBuffer API 将句柄返回给新的屏幕缓冲区CreateCursor API 用指定的尺寸建立一个光标CreateDC API 建立设备描述表CreateDIBPatternBrush API 从DIB中建立图案刷子CreateDIBPatternBrushPt API 从位图中建立逻辑刷子CreateDIBSection APICreateDIBitmap API 从DIB spec中建立位图句柄CreateDesktop APICreateDialogIndirectParam API 从内存模块中建立非模态对话框CreateDialogParam API 建立非模态对话框CreateDirectory API 建立一个新目录CreateDirectoryEx API 用模板属性建立一个目录CreateDiscardableBitmap API 建立可放弃位图CreateEllipticRgn API 建立椭圆区域CreateEllipticRgnIndirect API 建立椭圆区域CreateEnhMetaFile API 建立增强型图元文件DC CreateEvent API 返回新事件对象一个句柄CreateFile API 建立、打开或截断文件CreateFileMapping API 返回新文件映像对象一个句柄CreateFont API 建立逻辑字体CreateFontIndirect API 用LOGFONT结构建立字体CreateHalftonePalette API 为设备描述表建立中间色调调色板CreateHatchBrush API 建立影线刷子CreateIC API 建立信息上下文CreateIcon API 建立有指定属性的图标CreateIconFromResource API 建立图标或光标CreateIconIndirect API 建立图标或光标CreateIoCompletionPort APICreateMDIWindow API 建立新的MDI窗口CreateMailslot API 建立MailsoltCreateMenu API 建立菜单CreateMetaFile API 建立WINDOWS图元DC CreateMutex API 将句柄返回给MUTEX对象CreateNamedPipe API 建立命名管道实例CreatePalette API 建立逻辑色彩调色板CreatePatternBrush API 从位图中建立图案刷子CreatePen API 建立逻辑画笔CreatePenIndirect API 用LOGPEN结构建立画笔CreatePipe API 建立匿名管道CreatePolyPolygonRgn API 建立由多边形组成的区域CreatePolygonRgn API 建立多边形区域CreatePopupMenu API 建立弹出式菜单CreatePrivateObjectSecurity API 分配并初始化保护SD CreateProcess API 建立新的进程和线索对象CreateProcessAsUser API 建立指定用户的新进程CreateRectRgn API 建立矩形区域CreateRectRgnIndirect API 用RECT结构建立一个区域CreateRemoteThread API 在另一进程中建立线索CreateRoundRectRgn API 建立圆角矩形CreateScalableFontResource API 建立带字体信息的资源文件CreateSemaphore API 将句柄返回给新的信号量CreateService API 建立服务对象CreateSolidBrush API 用指定颜色建立实心刷子CreateTapePartition API 建立新的磁带分区CreateThread API 建立新的线索CreateWindowEx API 建立窗口Caption 属性标签文字的内容ChangeFileExt 函数改变文件的后缀ChDir 函数改变当前目录Checked 属性确定复选框选中状态Chr 函数返回指定序数的字符CloseFile 命令关闭打开的文件Color 属性标签的颜色作者:219.136.187.* 2005-12-26 16:05 回复此发言--------------------------------------------------------------------------------4 DELPHI下API简述Columns 属性显示的列数CompareStr 函数比较字符串(区分大小写)Concat 函数合并字符串Continue 命令继续for、while、repeat的下一个循环Copy 函数返回一字符串的子串Cos 函数余弦函数Ctl3D 属性是否具有3D效果Cursor 属性鼠标指针移入后的形状DPtoLP API 将设备坐标转换位逻辑坐标DdeAbandonTransaction API 取消异步交互DdeAccessData API 访问DDE数据对象DdeAddData API 向DDE数据对象中加入数据DdeClientTransaction API 开始DDE数据事务DdeCmpStringHandles API 比较两个DDE字符串句柄DdeConnect API 建立与服务器的对话DdeConnectList API 建立多个DDE对话DdeCreateDataHandle API 建立DDE数据句柄DdeCreateStringHandle API 建立DDE字符串句柄DdeDisconnect API 终止DDE对话DdeDisconnectList API 取消DDE对话表列DdeEnableCallback API 使能或取消一个或多个DDE对话DdeFreeDataHandle API 释放DDE数据对象DdeFreeStringHandle API 释放DDE字符串句柄DdeGetData API 将数据从DDE数据对象中复制到缓冲区DdeGetLastError API 返回由DDEML函数设置的出错代码DdeImpersonateClient API DDE服务器模拟客户机DdeInitialize API 用DDEML登记应用程序DdeKeepStringHandle API 为字符串句柄增加可用记录DdeNameService API 登记取消服务器名称DdePostAdvise API 提示服务器向客户机发送建议数据DdeQueryConvInfo API 返回关于DDE对话的信息DdeQueryNextServer API 在对话表列中获得下一个句柄DdeQueryString API 将字符串句柄文本复制到缓冲区DdeReconnect API 重建DDE对话DdeSetQualityOfService API 指明服务的DDE质量DdeSetUserHandle API 将用户定义句柄与事务建立关联DdeUnaccessData API 释放DDE数据对象DdeUninitialize API 释放应用程序的DDEML资源DebugActiveProcess API 连接调试进程DebugBreak API 建立断点DefDlgProc API 提供缺省窗口消息进程DefDriverProc API 定义缺省消息处理器DefFrameProc API 缺省MDI框架窗口消息进程DefMDIChildProc API 缺省MDI子窗口消息进程DefWindowProc API 调用缺省窗口过程DeferWindowPos API 更新窗口位置结构DefineDosDevice API 定义、重定义或删除DOS的设备名DeleteAce API 从已存在的ACL中删除ACEDeleteAtom API 删除一个原子DeleteColorSpace API 删除指定色彩空间DeleteCriticalSection API 删除临界部分DeleteDC API 删除设备描述表DeleteEnhMetaFile API 取消增强图元文件句柄DeleteFile API 删除文件DeleteForm API 删除打印机窗体层差DeleteMenu API 删除菜单项DeleteMetaFile API 取消WINDOWS图元文件句柄DeleteMonitor API 删除打印机监视器DeleteObject API 从内存删除一个对象DeletePort API 删除打印机端口DeletePrintProcessor API 删除打印机处理器DeletePrintProvidor API 删除打印机提供者DeletePrinter API 删除打印机服务器上的打印机DeletePrinterConnection API 删除与打印机的连接DeletePrinterDriver API 删除打印机驱动程序DeleteService API 从SC MANAGER数据库中删除服务DeregisterEventSource API 光闭事件句柄DescribePixelFormat APIDestroyAcceleratorTable API 取消加速表DestroyCaret API 取消当前脱字号DestroyCursor API 取消CREA TECURSOR建立的光标DestroyIcon API 取消由CREA TEICON建立的图标DestroyMenu API 取消菜单并释放内存DestroyPrivateObjectSecurity API 删除被保护的服务器对象的SDDestroyWindow API 取消窗口DeviceCapabilities API 返回设备驱动程序的功能作者:219.136.187.* 2005-12-26 16:05 回复此发言--------------------------------------------------------------------------------5 DELPHI下API简述DeviceIoControl API 直接调用驱动程序DialogBoxIndirectParam API 从内存模块中建立对话框DisableThreadLibraryCalls APIDisconnectNamedPipe API 切断命名管道的服务器终端DispatchMessage API 向窗口发送消息DlgDirList API 填充目录列表框DlgDirListComboBox API 填充目录列表框DlgDirSelectComboBoxEx API 从目录列表框中返回用户选择DlgDirSelectEx API 从目录列表框中返回用户选择DoEnvironmentSubst APIDocumentProperties API 配置打印机设置DosDateTimeToFileTime API 将MS-DOS日期时间转换为64位格式DragAcceptFiles API 登记窗口是否接受托动文件的内容DragDetect APIDragFinish API 释放分配用于托动文件的内容DragObject APIDragQueryFile API 返回托动的文件名DragQueryPoint API 返回鼠标位置DrawAnimatedRects APIDrawCaption APIDrawEdge APIDrawEscape API 实现非GDI可画图设备方法DrawFocusRect API 用焦点风格画矩形DrawFrameControl APIDrawIcon API 在指定设备描述表中画一个图标DrawIconEx APIDrawMenuBar API 重显示菜单栏DrawState APIDrawText API 在矩形中画出已格式化文本DrawTextEx APIDrvGetModuleHandle API 获得可安装驱动程序的例子句柄DuplicateHandle API 复制对象句柄DuplicateIcon APIDuplicateToken API 复制访问令牌Date 函数返回当前的日期DateTimeToFileDate 函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr 函数将日期时间格式转换为字符串DateTimeToString 函数将日期时间格式转换为字符串DateToStr 函数将日期格式转换为字符串DayOfWeek 函数返回星期的数值Dec 函数递减变量值DecodeDate 函数将日期格式分解为年月日DecodeTime 函数将时间格式分解为时、分、秒、毫秒Delete 函数从字符串中删除子串DeleteFile 命令删除文件DiskFree 函数返回剩余磁盘空间的大小DiskSize 函数返回指定磁盘的容量Dispose 函数释放动态变量所占的空间DisposeStr 函数释放字符串在堆栈中的内存空间DitherBackground 属性使背景色的色彩加重或减少50%DragCursor 属性当鼠标按下时光标的形状DragMode 属性按动的作用方式DropDownCount 属性容许的显示数据项的数目===============================================作者:219.136.187.* 2005-12-26 16:05 回复此发言--------------------------------------------------------------------------------6 回复:DELPHI下API简述===============================================Ellipse API 画椭圆EmptyClipboard API 清空剪贴板并释放数据句柄EnableMenuItem API 使能、取消或使菜单项不可激活EnableScrollBar API 使能、取消滚动条EnableWindow API 设备窗口使能状态EndDeferWindowPos API 更新窗口的位置及大小EndDialog API 隐藏对话框EndDoc API 结束打印作业EndDocPrinter API 结束打印作业EndPage API 结束一页EndPagePrinter API 结束打印页EndPaint API 在指定窗口中标记图画结尾标志EndPath API 结束路径EndUpdateResource API 在可执行文件中结束资源更新EnterCriticalSection API 加入临界部分EnumCalendarInfo APIEnumChildWindows API 将子窗口句柄传给回调函数EnumClipboardFormats API 返回CLIPBOARD格式EnumDateFormats API 枚举局部指定数据格式EnumDependentServices API 枚举依赖于设备的服务EnumDesktopWindows APIEnumDesktops APIEnumEnhMetaFile API 用增强图元文件返回GDI调用EnumFontFamilies API 返回指定家族的字体EnumFontFamiliesEx API 返回指定家族的字体EnumFonts API 枚举指定设备上的字体EnumForms API 枚举所支持的打印机窗体EnumICMProfiles API 枚举可用的颜色分布EnumJobs API 获取打印作业信息EnumMetaFile API 用WINDOWS图元文件返回GDI调用EnumMonitors API 枚举可用监视器EnumObjects API 枚举设备描述表中的画笔和刷子EnumPorts API 枚举可用打印机端口EnumPrintProcessorDatatypes API 枚举打印机所支持的数据类型EnumPrintProcessors API 枚举已安装的打印机处理器EnumPrinterDrivers API 枚举已安装的打印机驱动程序EnumPrinterPropertySheets APIEnumPrinters APIEnumProps API 返回窗口属性表列EnumPropsEx API 返回窗口属性表列EnumResourceLanguages API 列出语言资源EnumResourceNames API 列出资源名称EnumResourceTypes API 列出资源类型EnumServicesStatus API 枚举SC管理器数据库中的服务EnumSystemCodePages API 枚举已安装的可用系统代码页EnumSystemLocales API 枚举已安装的系统局部EnumThreadWindows API 返回线索窗口EnumTimeFormats API 枚举本地指定时间格式EnumWindowStations APIEqualPrefixSid API 检查两个SLD前缀是否相等EqualRect API 确定两矩形是否相等待EqualRgn API 比较两区域是否相等EqualSid API 检查两SLD安全ID是否相等EraseTape API 删除磁带的指定段Escape API 允许访问设备EscapeCommFunction API 发送扩展COMM函数ExcludeClipRect API 改变剪裁区ExcludeUpdateRgn API 从剪裁区中排斥更新区域ExitProcess API 退出当前进程ExitThread API 退出当前线索ExitWindows API 关闭WINDOWSExitWindowsEx API 关闭WINDOWS ExpandEnvironmentStrings API 扩充环境变量字符串ExtCreatePen API 建立逻辑画笔ExtCreateRegion API 从区域数据中建立一个区域ExtEscape API 允许访问私有设备ExtFloodFill API 用当前刷子填充区域ExtSelectClipRgn API 选择一块区域作为剪裁区ExtTextOut API 在矩形区域中输出一个字符串ExtractAssociatedIcon API 从文件或相关EXE中获取图标句柄ExtractIcon API 从可执行文件中返回图标句柄ExtractIconEx APIEditMask 属性编辑模式Enabled 属性是否使标签呈现打开状态EncodeDate 函数将年月日合成为日期格式EncodeTime 函数将时、分、秒、毫秒合成为时间格式EndMargin 属性末尾边缘Eof 函数对有类型或无类型文件测试是否到文件尾作者:219.136.187.* 2005-12-26 16:07 回复此发言--------------------------------------------------------------------------------7 回复:DELPHI下API简述Eoln 函数返回文本文件的行结束状态Erase 命令删除外部文件ExceptAddr 函数返回引起当前意外的地址Exclude 函数从集合中删除一些元素ExceptObject 函数返回当前意外的索引Exit 命令立即从当前的语句块中退出Exp 函数指数函数ExpandFileName 函数返回包含绝对路径的字符串ExtendedSelect 属性是否允许存在选择模式,True时,MultiSelect才有意义ExtractFileDir 函数返回驱动器和路径ExtractFileExt 函数返回文件的后缀ExtractFileName 函数返回文件名ExtractFilePath 函数返回指定文件的路径===============================================FatalAppExit API 结束一个应用程序FatalExit API 向调试者返回控件FileTimeToDosDateTime API 将文件时间转换为MS-DOS日期FileTimeToLocalFileTime API 将UTC文件时间转换成本地文件时间FileTimeToSystemTime API 将64位时间转换为系统时间FillConsoleOutputAttribute API 将属性写入屏幕缓冲区FillConsoleOutputCharacter API 将字符写入屏幕缓冲区FillPath API 填充当前路径FillRect API 用指定刷子填充矩形区域FillRgn API 用刷子填充区域FindAtom API 从本地原子表中返回字符串原子FindClose API 关闭查找文件描述表FindCloseChangeNotification API 光闭文件或目录修改等待FindClosePrinterChangeNotification APIFindEnvironmentString APIFindExecutable API 返回可执行文件名及句柄FindFirstChangeNotification API 设置文件或目录修改等待FindFirstFile API 查找第一个匹配文件FindFirstFreeAce API 返回指向第一个空闲ACL字节的指针FindFirstPrinterChangeNotification APIFindNextChangeNotification API 请求对下一个文件或目录变化的通知FindNextFile API 查找下一个匹配文件FindNextPrinterChangeNotification APIFindResource API 在模块中寻找资源FindResourceEx API 在模块中寻找资源FindText API 建立查找文本对话框FindWindow API 返回一个与类和窗口名相关的窗口句柄FindWindowEx APIFixBrushOrgEx APIFlashWindow API 使窗口闪烁一次FlattenPath API 将弧变为线FloodFill API 用当前刷子填充区域FlushConsoleInputBuffer API 清除控制台输入缓冲区FlushFileBuffers API 清除文件缓冲区FlushInstructionCache API 填满指令缓冲区FlushViewOfFile API 用映像视图填充文件FoldString API 变换字符串FormatMessage API 格式化消息字符串FrameRect API 用指定刷子画一个窗口边框FrameRgn API 在区域四周画出边框FreeConsole API 释放控制台FreeDDElParam API 释放DDE消息IPARAM FreeEnvironmentStrings APIFreeLibrary API 卸载库模块FreeLibraryAndExitThread APIFreeResource APIFreeSid API 释放SIDFileAge 函数返回文件已存在的时间FileClose 命令关闭指定的文件FileCreate 命令用指定的文件名建立新文件FileDateToDateTime 函数将DOS的日期格式转换为DELPHI的日期格式FileExists 函数检查文件是否存在FileGatAttr 函数返回文件的属性FileGetDate 函数返回文件的DOS日期时间标记FileOpen 命令用指定的存取模式打开指定的文件FilePos 函数返回文件的当前指针位置FileRead 命令从指定的文件读取FileSearch 命令在目录中搜索指定的文件FileSeek 函数改变文件的指针FileSetAttr 函数设置文件属性FileSetDate 函数设置文件的DOS日期时间标记FileSize 函数返回当前文件的大小FileWrite 函数对指定的文件做写操作作者:219.136.187.* 2005-12-26 16:07 回复此发言--------------------------------------------------------------------------------8 回复:DELPHI下API简述FillChar 函数用指定的值填充连续字节的数FindClose 命令终止FindFirst/FindNext序列FindFirst 命令对指定的文件名及属性搜索目录FindNext 命令返回与文件名及属性匹配的下一入口FloatToDecimal 函数将浮点数转换为十进制数FloatToStrF 函数将浮点数转换为字符串FloatToStr 函数将浮点数转换为字符串FloatToText 函数将给定的浮点数转换为十进制数FloatToTextFmt 函数将给定的浮点数转换为十进制数Flush 函数将缓冲区的内容刷新到输出的文本文件中FmtLoadStr 函数从程序的资源字符串表中装载字符串FmtStr 函数格式化一系列的参数,其结果以参数Result返回Font 属性设置字体Format 函数格式化一系列的参数并返回Pascal字符串FormatBuf 函数格式化一系列的参数FormatDateTime 函数用指定的格式来格式化日期和时间FormatFloat 函数指定浮点数格式Frac 函数返回参数的小数部分FreeMem 函数按给定大小释放动态变量所占的空间GdiComment API 向增强型图元文件中加入注释GdiFlush API 使当前GDI闪烁GdiGetBatchLimit API 返回缓冲GDI函数数量GdiSetBatchLimit API 设置缓冲GDI函数数量GenerateConsoleCtrlEvent API 向控制台进程组发送信号GetACP API 获取ANSI系统代码页GetAce API 返回指向ACL中的ACE的指针GetAclInformation API 返回访问控件表信息GetActiveWindow API 返回活动窗口句柄GetArcDirection API 返回弧和矩形的绘画方向GetAspectRatioFilterEx API 返回当前ASPECT-RA TIO过滤器GetAsyncKeyState API 确定键的状态GetAtomName API 返回本地原子字符串GetBinaryType API 确定二进制可执行文件类型GetBitmapBits API 将位图复制到缓冲区GetBitmapDimensionEx API 返回位图宽和高GetBkColor API 返回当前背景色GetBkMode API 返回背景模式GetBoundsRect API 返回当前相邻矩形GetBrushOrgEx APIGetCPInfo API 获取代码页信息GetCapture APIGetCaretBlinkTime API 返回脱字号闪烁时间GetCaretPos API 返回当前脱字号位置GetCharABCWidths API 返回字符宽度GetCharABCWidthsFloat API 返回字符宽度GetCharWidth API 返回字符宽度GetCharWidth32 API 返回字符宽度GetCharWidthFloat API 返回部分字符宽度GetCharacterPlacement API 获取字符串属性数据GetClassInfo API 返回窗口类信息GetClassLong API 返回窗口类数据GetClassName API 返回窗口类名称GetClassWord API 返回窗口类内存字GetClientRect API 返回窗口客户区坐标GetClipBox API 取剪裁区域框GetClipCursor API 返回限制光标的矩形的坐标GetClipRgn API 返回当前剪辑域GetClipboardData API 返回剪贴板数据的句柄GetClipboardFormatName API 返回登录的剪贴板格式名GetClipboardOwner API 返回剪贴板所有者窗口句柄GetClipboardV iewer API 返回第一个剪贴板浏览窗口句柄GetColorAdjustment API 获取设备描述表调整值GetColorSpace API 获取指定色彩空间GetCommConfig APIGetCommMask API 返回COMM事件屏蔽GetCommModemStatus API 返回调制解调器控制登录值GetCommProperties API 返回COMM设备属性GetCommState API 返回COMM设备控制块GetCommTimeouts API 返回COMM设备超时特性值GetCommandLine API 返回指向命令行的指针GetCompressedFileSize APIGetComputerName API 取回当前计算机名GetConsoleCP API 为控制台输入获取代码页GetConsoleCursorInfo API 返回光标大小GetConsoleMode API 返回控制台输入输出模式GetConsoleOutputCP API 为控制台输出获取代码页作者:219.136.187.* 2005-12-26 16:07 回复此发言--------------------------------------------------------------------------------9 回复:DELPHI下API简述GetConsoleScreenBufferInfo API 返回屏幕缓冲区信息GetConsoleTitle API 返回控制台窗口标题GetCurrencyFormat APIGetCurrentDirectory API 返回当前目录GetCurrentObject API 返回当前对象GetCurrentPositionEx API 返回逻辑单元位置GetCurrentProcess API 返回当前进程的句柄GetCurrentProcessId API 返回当前进程ID值GetCurrentThread API 返回当前线索的句柄GetCurrentThreadId API 返回当前线索ID值GetCursor API 返回当前光标的句柄GetCursorPos API 返回当前光标的位置GetDC API 返回窗口描述表句柄GetDCEx API 返回显示描述表的句柄GetDCOrgEx API 返回设备描述表的转换起点GetDIBColorTable APIGetDIBits API 将DIB位复制到缓冲区中GetDateFormat API 获取本地日期格式GetDefaultCommConfig APIGetDesktopWindow API 返回桌面窗口句柄GetDeviceCaps API 返回设备性能GetDeviceGammaRamp API 获取显示器的辉度系数GetDialogBaseUnits API 返回对话基础单元GetDiskFreeSpace API 返回空闲磁盘空间GetDlgCtrlID API 返回儿子窗口的ID值GetDlgItem API 返回对话框控件句柄GetDlgItemInt API 将对话框文本转换为整数GetDlgItemText API 返回对话框控件文本GetDoubleClickTime API 返回鼠标双击时间GetDriveType API 返回指定驱动器类型GetDriverModuleHandle API 返回驱动程序模块例子句柄GetEnhMetaFile API 建立增强图元文件GetEnhMetaFileBits API 将增强图元文件值复制到缓冲区GetEnhMetaFileDescription API 返回增强图元文件的标题及建立者GetEnhMetaFileHeader API 返回增强图元文件头GetEnhMetaFilePaletteEntries API 返回增强图元文件调色板入口GetEnvironmentStrings API 返回指向环境块的指针GetEnvironmentV ariable API 返回过程环境变量GetExitCodeProcess API 返回过程中断代码GetExitCodeThread API 返回线索中断代码GetExpandedName API 取压缩文件的原文件名GetFileAttributes API 返回文件属性GetFileInformationByHandle API 返回文件信息GetFileSecurity API 获取文件或目录安全信息GetFileSize API 返回指定文件大小GetFileTime API 返回文件64位时间GetFileTitle API 返回文件名GetFileType API 返回文件类型GetFileV ersionInfo API 返回文件的版本信息GetFileV ersionInfoSize API 返回可用版本信息大小GetFocus API 返回当前焦点窗口句柄GetFontData API 返回字体数据GetFontLanguageInfo API 获取字体显示描述表的信息GetForegroundWindow API 返回前景窗口句柄GetForm API 获取打印机窗口信息GetFullPathName API 返回文件的路径名GetGlyphOutline API 取回轮廓数据GetGraphicsMode API 取回指定DC的图形模式GetHandleInformation APIGetICMProfile API 返回设备场景的色彩映像GetIconInfo API 返回图标或光标信息GetInputState API 确定鼠标、键盘、定时器状态GetJob API 获取打印作业信息GetKBCodePage API 获取OEM系统代码页GetKernelObjectSecurity API 返回内核对象SD GetKerningPairs API 返回当前字体内核对GetKeyNameText API 返回代表键盘名字的字符串GetKeyState API 返回虚拟键的状态GetKeyboardLayout APIGetKeyboardLayoutList APIGetKeyboardLayoutName API 返回活动键盘版面名GetKeyboardState API 返回虚拟键盘状态GetKeyboardType API 返回键盘信息GetLargestConsoleWindowSize API 返回窗口尺寸的最大可能性GetLastActivePopup API 确定最近的活动弹出式窗口GetLastError API 返回扩充出错代码作者:219.136.187.* 2005-12-26 16:07 回复此发言--------------------------------------------------------------------------------10 回复:DELPHI下API简述GetLengthSid API 返回SID长度GetLocalTime API 返回本地时间和日期GetLocaleInfo API 从记录中获取本机信息GetLogColorSpace API 获取逻辑色彩空间的信息GetLogicalDriveStrings API 返回合法驱动器字符串GetLogicalDrives API 指定合法驱动器GetMailslotInfo API 返回信箱信息GetMapMode API 返回映像模式GetMenu API 返回指定窗口的菜单句柄GetMenuCheckMarkDimensions API 返回缺省复选标记位图尺寸GetMenuContextHelpId APIGetMenuDefaultItem APIGetMenuItemCount API 返回菜单项数GetMenuItemID API 返回菜单项标识符GetMenuItemInfo APIGetMenuItemRect APIGetMenuState API 返回指定菜单项的菜单标记GetMenuString API 将菜单项字符串复制入缓冲区GetMessage API 从线索消息队列中返回一条消息GetMessageExtraInfo API 返回硬件消息的信息GetMessagePos API 返回最后消息的光标位置GetMessageTime API 返回最后消息的时间位置GetMetaFile API 建立WINDOWS图元文件GetMetaFileBitsEx API 将WINDOWS图元文件复制入缓冲区GetMetaRgn API 返回当前图元区域GetMiterLimit API 返回当前MITER-JOIN长度GetModuleFileName API 返回指定模块的路径GetModuleHandle API 返回指定模块的句柄GetNamedPipeHandleState API 返回命名管道句柄消息GetNamedPipeInfo API 返回命名管道句柄消息GetNearestColor API 返回最近的可用色彩GetNearestPaletteIndex API 返回最近的匹配色彩GetNextDlgGroupItem API 返回前或后一组控件的句柄GetNextDlgTabItem API 返回前或后一个WS_TABSTOP控件GetNextWindow API 返回前或后一窗口管理器窗口GetNumberFormat APIGetNumberOfConsoleInputEvents API 返回控制台队列事件数GetNumberOfConsoleMouseButtons API 返回鼠标按钮数GetNumberOfEventLogRecords API 获取事件记录中的记录数GetOEMCP API 获取OEM系统代码页GetObject API 返回对象信息GetObjectType API 返回对象类型GetObject API 返回对象信息GetObjectType API 返回对象类型GetOldestEventLogRecord API 返回最早的记录数GetOpenClipboardWindow API 返回打开CLIPBOARD的窗口句柄GetOpenFileName API 建立文件名对话框GetOutlineTextMetrics API 返回TRUETYPE字体的公制类型GetOverlappedResult API 返回最后重叠结果GetPaletteEntries API 返回调色板入口范围GetParent API 返回父口句柄GetPath API 返回路径中的所有直线和曲线GetPixel API 返回指定像素的RGB值GetPixelFormat APIGetPolyFillMode API 返回当前多边形填充模式GetPrintProcessorDirectory API 获取打印机驱动处理器路径GetPrinter API 获取打印机信息GetPrinterData API 获取打印机配置信息GetPrinterDriver API 获取打印机驱动程序信息GetPrinterDriverDirectory API 获取打印机驱动程序路径GetPriorityClass API 返回过程的优先级类GetPriorityClipboardFormat API 返回第一个CLIPBOARD格式GetPrivateObjectSecurity API 返回保护服务器对象SD GetPrivateProfileInt API 从私有文件中获取整数GetPrivateProfileSection API 返回私有键和值GetPrivateProfileString API 从私有文件中获取字符串GetProcAddress API 返回函数地址GetProcessAffinityMask API 获取任务可用的处理表列GetProcessHeap API 获取调用过程堆句柄GetProcessHeaps APIGetProcessShutdownParameters API 返回过程停止参数GetProcessTimes API 获取过程计时器GetProcessWindowStation API 返回过程窗口站句柄作者:219.136.187.* 2005-12-26 16:07 回复此发言--------------------------------------------------------------------------------11 回复:DELPHI下API简述GetProcessWorkingSetSize APIGetProfileInt API 从WIN.INI中获取整数GetProfileSection API 从WIN.INI中返回关键字和值GetProfileString API 从WIN.INI中获取字符串GetProp API 从窗口属性表列中返回数据句柄GetQueueStatus API 确定消息队列内容GetQueuedCompletionStatus APIGetROP2 API 返回当前绘图模式GetRasterizerCaps API 返回系统TRUETYPE状态GetRegionData API 返回区域数据GetRgnBox API 返回区域边框矩形GetSaveFileName API 建立文件名保存对话框GetScrollInfo APIGetScrollPos API 返回滑块位置GetScrollRange API 返回滑块运动范围GetSecurityDescriptorControl API 取回SD校正及控制信息GetSecurityDescriptorDacl API 返回SD离散ACL GetSecurityDescriptorGroup API 返回SD个人组信息GetSecurityDescriptorLength API 返回SD长度GetSecurityDescriptorOwner API 返回SD所有人GetSecurityDescriptorSacl API 返回SD系统ACL GetServiceDisplayName API 获取服务显示名称GetServiceKeyName API 获取服务登录关键名称GetShortPathName API 返回文件短路径GetSidIdentifierAuthority API 返回ID字段地址GetSidLengthRequired API 返回所需SID长度GetSidSubAuthority API 返回次规范数组地址。
Delphi_Api函数
WNetAddConnectionWNetAddConnection2WNetAddConnection3WNetCancelConnectionWNetCancelConnection2WNetCloseEnumWNetConnectionDialogWNetDisconnectDialogWNetEnumResourceWNetGetConnectionWNetGetLastErrorWNetGetUniversalNameWNetGetUserWNetOpenEnumBroadcastSystemMessageGetMessagePosGetMessageTimePostMessagePostThreadMessageRegisterWindowMessageReplyMessageSendMessageSendMessageCallbackSendMessageTimeoutSendNotifyMessageCloseHandleCompareFileTimeCopyFileCreateDirectoryCreateFileCreateFileMappingDeleteFileDeviceIoControlDosDateTimeToFileTimeFileTimeToDosDateTimeFileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间 FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构FindClose 关闭由FindFirstFile函数创FindFirstFile 根据文件名查找文件FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘GetBinaryType 判断文件是否可以执行GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数GetCurrentDirectory 在一个缓冲区中装载当前目录GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量 GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的信息GetDriveType 判断一个磁盘驱动器的类型GetExpandedName 取得一个压缩文件的全名GetFileAttributes 判断指定文件的属性GetFileInformationByHandle 这个函数提供了获取文件信息的一种机制GetFileSize 判断文件长度GetFileTime 取得指定文件的时间信息GetFileType 在给出文件句柄的前提下,判断文件类型GetFileVersionInfo 从支持版本标记的一个模块里获取文件版本信息GetFileVersionInfoSize 针对包含了版本资源的一个文件,判断容纳文件版本信息需要一个多大的缓冲GetFullPathName 获取指定文件的完整路径名GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母GetLogicalDriveStrings 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径 GetOverlappedResult 判断一个重叠操作当前的状态GetPrivateProfileInt 为初始化文件(.ini文件)中指定的条目获取一个整数值 GetPrivateProfileSection 获取指定小节(在.ini文件中)所有项名和值的一个列表 GetPrivateProfileString 为初始化文件中指定的条目取得字串GetProfileInt 取得win.ini初始化文件中指定条目的一个整数值GetProfileSection 获取指定小节(在win.ini文件中)所有项名和值的一个列表GetProfileString 为win.ini初始化文件中指定的条目取得字串GetShortPathName 获取指定文件的短路径名GetSystemDirectory 取得Windows系统目录(即System目录)的完整路径名GetTempFileName 这个函数包含了一个临时文件的名字,它可由应用程序使用GetTempPath 获取为临时文件指定的路径GetVolumeInformation 获取与一个磁盘卷有关的信息GetWindowsDirectory 获取Windows目录的完整路径名hread 参考lreadhwrite 参考lwrite函数lclose 关闭指定的文件lcreat 创建一个文件llseek 设置文件中进行读写的当前位置LockFile 锁定文件的某一部分,使其不与其他应用程序共享LockFileEx 与LockFile相似,只是它提供了更多的功能lopen 以二进制模式打开指定的文件lread 将文件中的数据读入内存缓冲区lwrite 将数据从内存缓冲区写入一个文件LZClose 关闭由LZOpenFile 或 LZInit函数打开的一个文件LZCopy 复制一个文件LZInit 这个函数用于初始化内部缓冲区LZOpenFile 该函数能执行大量不同的文件处理,而且兼容于压缩文件LZRead 将数据从文件读入内存缓冲区LZSeek 设置一个文件中进行读写的当前位置MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间MoveFile 移动文件OpenFile 这个函数能执行大量不同的文件操作OpenFileMapping 打开一个现成的文件映射对象QueryDosDevice 在Windows NT中,DOS设备名会映射成NT系统设备名。
DELPHI中如何调用API,可举例说明
DELPHI中如何调用API,可举例说明第一部分Delphi知识1. 如果一个元件希望放到IDE的元件面板上,它必须从________类派生,如果一个元件能作为其它元件的容器,它必须从_____________类派生,如果一个元件在运行时可见,它必须从___________________类派生(A)TGraphicControl(B)TWinContr1、rtl70.bpl是什么?有什么用?2、delphi的Package相对dll有什么优点?3、以下的记录(结构)变量在内存占多少字节?type a = packed record v1: Byte; v2: Word; v3: string[16]; v4: Double; v5: string; v6: TForm; end;4、以下的写法是否正确?type a1.您为什么选择软件开发这个行业?(30字左右简写);2.如果有您解决不了的软件问题您会采取什么样的解决措施;3.a.请您写出Object Pascal所支持的数据类型;b.请您写出Shl、Shr、Xor、Not 的数学表示法;4.请您写出VCL结构层次(以TObject开始,最少五层);5二.是非题(共20道)1.从主菜单上选择Project|Syntax Check 菜单选项,Delphi将编译从上次编译后有改动的任何单元,并报出遇到的错误。
()2.Delphi的VCL对象有些是指针,从堆栈中分配空间,有些则不是。
()3.粘贴时,如果作为容器的组件已被选择,剪贴一.选择题(共40道)1.用户开发程序时需要经常在窗体和编辑器窗口之间来回切换,可使用快捷键()。
A、F12和F11 B、F12和F13 C、F12和Ctrl+F12 D、F12和Alt+F12 E、F12和Shift+F12 2.某函数如下:Function check(n,k:Integer):Integer; Var m:Integer; Beg编程语言:delphi7.0或Vc++6.0 时间:4小时内环境:可参考帮助文档,但不能上网查资料1、编程查找指定目录下所有EXE 文件,并将其全路径存入Result.txt中,要求用递归。
delphiAPI设备场景函数
CombineTransform 驱动世界转换。它相当于依顺序进行两次转换
CreateCompatibleDC 创建一个与特定设备场景一致的内存设备场景
CreateDC 为专门设备创建设备场景
CreateEllipticRgn 创建一个椭圆
ExcludeUpdateRgn 从专用设备场景剪裁区去掉指定窗口的刷新区域
ExtCreateRegion 根据世界转换修改区域
ExtSelectClipRgn 将指定区域组合到设备场景的当前剪裁区
FillRgn 用指定刷子填充指定区域
FrameRgn 用指定刷子围绕指定区域画一个外框
InvalidateRgn 使窗口指定区域不活动,并将它加入窗口刷新区,使之可随后被重画
InvertRgn 通过颠倒每个像素值反转设备场景指定区域
LPtoDP 将点阵从指定设备场景逻辑坐标转换为设备坐标
ModifyWorldTransform 根据指定的模式修改世界转换
OffsetClipRgn 按指定量平移设备场景剪裁区
OffsetRgn 按指定偏移量平移指定区域
OffsetViewportOrgEx 平移设备场景视口区域
OffsetWindowOrgEx 平移指定设备场景窗口起点
PaintRgn 用当前刷子背景色填充指定区域
PtInRegion 确定点是否在指定区域内
PtVisible 确定指定点是否可见(即,点是否在设备场景剪裁区内)
RectInRegion 确定矩形是否有部分在指定区域内
RectVisible 确定指定矩形是否有部分可见(是否在设备场景剪裁区内)
Delphi培训(三)Windows API
• 动态加载
– 使用复杂麻烦一些,但兼容性好一些 – 使用方式:
• • • • 定义函数原型利用LoadLibrary加载DLL库 利用GetProcAddress获取函数地址指针P 调用P所指向的函数 用FreeLibrary释放DLL
动态加载例子
Type TRegisterServiceProcess= function (a:longint;const b:longint):dword;stdcall; procedure HideProcess; var hnd : HWND; Proc : TRegisterServiceProcess; begin hnd := LoadLibrary('Kernel32.dll'); ///动态加载DLL文件 if hnd > 0 then ///如果Load DLL成功 begin @proc := GetProcAddress(hnd, 'RegisterServiceProcess'); ///获取函数地址 if @Proc <> nil then ///如果成功取到函数地址 Proc(GetCurrentProcessID, 1); ///这个时候就可以进行调用了! FreeLibrary(hnd); ///释放资源,释放加载的DLL end; end;
lp m_ n p s
Long pointer Data member of a class Short int Pointer String
sz
tm u ul w x,y
Zero terminated String
Text metric Unsigned int Unsigned long (ULONG) WORD (unsigned short) x, y coordinates (short)
API 图像函数(delphi)
WinAPI: ExtractIcon - 获取EXE、DLL 或ICO 文件中的图标//声明:ExtractIcon(hInst: HINST; {调用函数的程序实例}lpszExeFileName: PChar; {文件路径; 文件可以是 *.exe、*.dll、*.ico}nIconIndex: UINT {图标索引}): HICON; {返回图标句柄; 索引为 0 时返回第一个图标句柄; 索引为 #FFFFFFFF 时返回图标总数}//举例:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses ShellAPI; {ExtractIcon 在其中声明}procedure TForm1.Button1Click(Sender: TObject);varico: TIcon;i,count,x,y,w,h: Integer;FilePath: string;begin{随便找了个路径, 如果缺失会退出}FilePath := 'C:\Program Files\Macromedia\Fireworks 8\Fireworks.exe';if not FileExists(FilePath) then begin ShowMessage('文件不存在'); Exit; en d;ico := TIcon.Create;x := 10; y := 10; w := 0; h := 0;Repaint;{先算出文件内的图标总数}count := ExtractIcon(HInstance, PChar(FilePath), HICON(-1));for i := 0to count - 1dobegin{循环提取图标}ico.Handle := ExtractIcon(HInstance, PChar(FilePath), i);{画出图标}Canvas.Draw(x,y,ico);{下面只是调整显示位置}if w < ico.Width then w := ico.Width;if h < ico.Height then h := ico.Height;x := x + ico.Width + 10;if x >= ClientWidth - w thenbeginunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls;typeTForm1 = class(TForm)TrackBar1: TTrackBar;procedure FormCreate(Sender: TObject);procedure FormPaint(Sender: TObject);procedure TrackBar1Change(Sender: TObject);procedure FormDestroy(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varBit,BitBack: TBitmap;Transparency: Byte = 255; {透明度}procedure TForm1.FormCreate(Sender: TObject);begin{设定窗体背景}BitBack := TBitmap.Create;BitBack.LoadFromFile('c:\temp\Back.bmp');Brush.Bitmap := BitBack;{调入图片}Bit := TBitmap.Create;Bit.LoadFromFile('c:\temp\test.bmp');{给 TrackBar1 初始化}TrackBar1.Max := 255;TrackBar1.Min := 0;TrackBar1.ShowSelRange := False;TrackBar1.Position := TrackBar1.Max;end;procedure TForm1.FormPaint(Sender: TObject);varBlend: TBlendFunction; {定义 AlphaBlend 要使用的 TBlendFunction 结构}begin{给 TBlendFunction 结构赋值}Blend.BlendOp := AC_SRC_OVER;Blend.BlendFlags := 0;Blend.AlphaFormat := 0;Blend.SourceConstantAlpha := Transparency;Windows.AlphaBlend(Canvas.Handle, {因 VCL 有同名属性, 所以指定了是来自 Windows 单元}10,10,Bit.Width + 10,Bit.Height + 10,Bit.Canvas.Handle,0,0,Bit.Width,Bit.Height,Blend);end;Ellipse(MetaFileDC, 10, 10, 100, 60);HMetaFile := CloseEnhMetaFile(MetaFileDC);{在窗体上按原始大小绘制 EMF}PlayEnhMetaFile(Canvas.Handle, HMetaFile, Rect(10,10,100,60));DeleteObject(MetaFileDC);DeleteEnhMetaFile(HMetaFile);end;end.用GDI 操作EMF 文件[3]: GetEnhMetaFileunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);constPath = 'C:\Temp\MyMetaFile.emf'; {假定这个文件还在}TForm1 = class(TForm)Button1: TButton;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure FormMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integ er);procedure FormMouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varHMetaFile: HENHMETAFILE;f: Boolean;x1,y1: Integer;R: TRect;procedure TForm1.FormCreate(Sender: TObject);constPath = 'C:\Temp\MyMetaFile.emf';beginHMetaFile := GetEnhMetaFile(PChar(Path));end;procedure TForm1.FormDestroy(Sender: TObject);beginDeleteEnhMetaFile(HMetaFile);end;Left = 0Top = 0Caption = 'Form1'ClientHeight = 206ClientWidth = 339Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11 = 'Tahoma'Font.Style = []OldCreateOrder = FalsePosition = poDesktopCenterOnCreate = FormCreateOnDestroy = FormDestroyOnMouseDown = FormMouseDownOnMouseMove = FormMouseMoveOnMouseUp = FormMouseUpPixelsPerInch = 96TextHeight = 13object Button1: TButtonLeft = 256Top = 173Width = 75Height = 25Caption = 'Button1'TabOrder = 0OnClick = Button1Clickendend用GDI 操作EMF 文件[5]: GetEnhMetaFileDescription - 获取EMF 文件的说明文本再用CreateEnhMetaFile 函数建立EMF 文件时可以同时写入描述性说明;用GetEnhMetaFileDescription 函数可以读出EMF 文件的说明文本.本例给的说明文本非常简单, 不过标准的说明文本的格式应该是: 程序名#0文件标题#0#0unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varHMetaFile: HENHMETAFILE; {EMF 文件句柄}{建立带说明的 EMF 文件}procedure TForm1.FormCreate(Sender: TObject);constPath = 'C:\Temp\MyMeateFile.emf';Description = 'ABCDE'; {当作 EMF 文件的说明}varMetaFileDC: HDC;begin{建立并写入说明}MetaFileDC := CreateEnhMetaFile(0, PChar(Path), nil, PChar(Description)); {绘图}Rectangle(MetaFileDC, 11, 11, 111, 111);{结束编辑、保存文件, 并返回文件句柄}HMetaFile := CloseEnhMetaFile(MetaFileDC);{删除 DC}DeleteObject(MetaFileDC);end;{读取 EMF 文件的说明}procedure TForm1.Button1Click(Sender: TObject);varDescriptionSize: Integer; {说明段的大小}DescriptionBuf: PChar; {接受说明的内存指针}begin{获取大小}DescriptionSize := GetEnhMetaFileDescription(HMetaFile, 0, nil);{分配内存}GetMem(DescriptionBuf, DescriptionSize);{获取说明}GetEnhMetaFileDescription(HMetaFile, DescriptionSize, DescriptionBuf); {显示说明}ShowMessage(DescriptionBuf); {ABCDE}{释放内存}FreeMem(DescriptionBuf);end;{绘制在窗体}procedure TForm1.Button2Click(Sender: TObject);beginPlayEnhMetaFile(Canvas.Handle, HMetaFile, Rect(11,11,111,111));end;{删除 EMF 文件句柄}procedure TForm1.FormDestroy(Sender: TObject);beginDeleteEnhMetaFile(HMetaFile);end;end.用GDI 操作EMF 文件[6]: GetEnhMetaFileHeader - 获取EMF 的头文件//增强图元文件的头文件结构 TEnhMetaHeader:tagENHMETAHEADER = packed recordiType: DWORD; {记录类型}nSize: DWORD; {结构大小}rclBounds: TRect; {外接矩形(单位是像素)}rclFrame: TRect; {图片矩形(单位是 0.1 毫米)}dSignature: DWORD; {文件签名}nVersion: DWORD; {文件版本}nBytes: DWORD; {文件尺寸}nRecords: DWORD; {记录数}nHandles: Word; {句柄数}sReserved: Word; {保留}nDescription: DWORD; {说明文本的长度}offDescription: DWORD; {说明文本的偏移量}procedure FormDestroy(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varHMetaFile: HENHMETAFILE; {EMF 文件句柄}{建立带说明的 EMF 文件}procedure TForm1.FormCreate(Sender: TObject);constPath = 'C:\Temp\MyMeateFile.emf';Description = 'ABCDE'; {当作 EMF 文件的说明}varMetaFileDC: HDC;begin{建立并写入说明}MetaFileDC := CreateEnhMetaFile(0, PChar(Path), nil, PChar(Description)); {绘图}Rectangle(MetaFileDC, 11, 11, 111, 111);{结束编辑、保存文件, 并返回文件句柄}HMetaFile := CloseEnhMetaFile(MetaFileDC);{删除 DC}DeleteObject(MetaFileDC);end;procedure TForm1.Button1Click(Sender: TObject);constn = #13#10;varMetaHeaderSize: Integer; {文件头大小}MetaHeader: PEnhMetaHeader; {文件头结构的指针}str: string;buf: array[Word] of Char;beginMetaHeaderSize := GetEnhMetaFileHeader(HMetaFile, 0, nil);GetMem(MetaHeader, MetaHeaderSize);GetEnhMetaFileHeader(HMetaFile, MetaHeaderSize, MetaHeader);str := 'iType: %d' + n +'nSize: %d' + n +'rclBounds: %d,%d,%d,%d' + n +'rclFrame: %d,%d,%d,%d' + n +'dSignature: %d' + n +'nVersion: %d' + n +'nBytes: %d' + n +'nRecords: %d' + n +'nHandles: %d' + n +//'sReserved: %d' + n +'nDescription: %d' + n +'offDescription: %d' + n +'nPalEntries: %d' + n +'szlDevice: %d,%d' + n +'szlMillimeters: %d,%d' + n +'cbPixelFormat: %d' + n +'offPixelFormat: %d' + n +'bOpenGL: %d';wvsprintf(buf, PChar(str), PChar(MetaHeader));ShowMessage(buf);FreeMem(MetaHeader);end;{绘制在窗体}procedure TForm1.Button2Click(Sender: TObject);beginPlayEnhMetaFile(Canvas.Handle, HMetaFile, Rect(11,11,111,111));end;{删除 EMF 文件句柄}procedure TForm1.FormDestroy(Sender: TObject);beginDeleteEnhMetaFile(HMetaFile);end;end.用GDI 操作EMF 文件[7]: EnumEnhMetaFile、PlayEnhMetaFileRecord - 枚举文件中的图形命令EnumEnhMetaFile(DC: HDC; {目标设备句柄; 如果回调函数不需要回放, 该参数为 0}Emf: HENHMETAFILE; {图元文件句柄}EnhMetaFunc: TFNEnhMFEnumProc; {回调函数指针; 回调函数格式见下}Data: Pointer; {自定义数据指针}const Rect: TRect {要输出的尺寸; 如果 DC=0 该参数会被忽略}): BOOL;//EnumEnhMetaFile 使用的回调函数格式及参数, PlayEnhMetaFileRecord 基本就是使用这些参数:function EnhMetaFunc(DisplaySurface: HDC; {目标设备句柄; 如果回调函数不需要回放, 该参数为 0}var MetafileTable: THandleTable; {句柄表数组指针, 数组包含 HGDIOBJ 对象(画var MetafileRecord: TEnhMetaRecord; {图元文件记录 TEnhMetaRecord 指针, TEnhM etaRecord 结构见下表}ObjectCount: Integer; {对象句柄数目, 即句柄表 MetafileTable 中图形对象的数目}var Data: Longint {自定义数据指针}): Integer; stdcall;//TEnhMetaRecord 结构:tagENHMETARECORD = packed recordiType: DWORD; {类型}nSize: DWORD; {尺寸}dParm: array[0..0] of DWORD; {参数数组}end;//TEnhMetaRecord.iType 的可能值:EMR_HEADER = 1;EMR_POLYBEZIER = 2;EMR_POLYGON = 3;EMR_POLYLINE = 4;EMR_POLYBEZIERTO = 5;EMR_POLYLINETO = 6;EMR_POLYPOLYLINE = 7;EMR_POLYPOLYGON = 8;EMR_SETWINDOWEXTEX = 9;EMR_SETWINDOWORGEX = 10;EMR_SETVIEWPORTEXTEX = 11;EMR_SETVIEWPORTORGEX = 12;EMR_SETBRUSHORGEX = 13;EMR_EOF = 14;EMR_SETPIXELV = 15;EMR_SETMAPPERFLAGS = $10;EMR_SETMAPMODE = 17;EMR_SETSTRETCHBLTMODE = 21; EMR_SETTEXTALIGN = 22; EMR_SETCOLORADJUSTMENT = 23; EMR_SETTEXTCOLOR = 24; EMR_SETBKCOLOR = 25; EMR_OFFSETCLIPRGN = 26; EMR_MOVETOEX = 27; EMR_SETMETARGN = 28; EMR_EXCLUDECLIPRECT = 29; EMR_INTERSECTCLIPRECT = 30; EMR_SCALEVIEWPORTEXTEX = 31; EMR_SCALEWINDOWEXTEX = 32; EMR_SAVEDC = 33; EMR_RESTOREDC = 34; EMR_SETWORLDTRANSFORM = 35; EMR_MODIFYWORLDTRANSFORM = 36; EMR_SELECTOBJECT = 37; EMR_CREATEPEN = 38; EMR_CREATEBRUSHINDIRECT = 39; EMR_DELETEOBJECT = 40; EMR_ANGLEARC = 41; EMR_ELLIPSE = 42; EMR_RECTANGLE = 43; EMR_ROUNDRECT = 44; EMR_ARC = 45; EMR_CHORD = 46; EMR_PIE = 47; EMR_SELECTPALETTE = 48; EMR_CREATEPALETTE = 49; EMR_SETPALETTEENTRIES = 50; EMR_RESIZEPALETTE = 51; EMR_REALIZEPALETTE = 52; EMR_EXTFLOODFILL = 53; EMR_LINETO = 54; EMR_ARCTO = 55;EMR_ENDPATH = 60; EMR_CLOSEFIGURE = 61; EMR_FILLPATH = 62; EMR_STROKEANDFILLPATH = 63; EMR_STROKEPATH = $40; EMR_FLATTENPATH = 65; EMR_WIDENPATH = 66; EMR_SELECTCLIPPATH = 67; EMR_ABORTPATH = 68; EMR_GDICOMMENT = 70; EMR_FILLRGN = 71; EMR_FRAMERGN = 72; EMR_INVERTRGN = 73; EMR_PAINTRGN = 74; EMR_EXTSELECTCLIPRGN = 75; EMR_BITBLT = 76; EMR_STRETCHBLT = 77; EMR_MASKBLT = 78; EMR_PLGBLT = 79; EMR_SETDIBITSTODEVICE = 80; EMR_STRETCHDIBITS = 81; EMR_EXTCREATEFONTINDIRECTW = 82; EMR_EXTTEXTOUTA = 83; EMR_EXTTEXTOUTW = 84; EMR_POLYBEZIER16 = 85; EMR_POLYGON16 = 86; EMR_POLYLINE16 = 87; EMR_POLYBEZIERTO16 = 88; EMR_POLYLINETO16 = 89; EMR_POLYPOLYLINE16 = 90; EMR_POLYPOLYGON16 = 91; EMR_POLYDRAW16 = 92; EMR_CREATEMONOBRUSH = 93; EMR_CREATEDIBPATTERNBRUSHPT = 94;varHMetaFile: HENHMETAFILE; {EMF 文件句柄}RadioGroupItemIndex: Integer = -1;//EnumEnhMetaFile 的回调函数function MyEnhMetaFunc(DisplaySurface: HDC; var MetafileTable: THandleTabl e;var MetafileRecord: TEnhMetaRecord; ObjectCount: Integer; var Data: Longin t): Integer; stdcall;varitype: Integer;begincase RadioGroupItemIndex of1: itype := EMR_RECTANGLE;2: itype := EMR_ELLIPSE;end;if MetafileRecord.iType = itype thenbeginPlayEnhMetaFileRecord(DisplaySurface, MetafileTable, MetafileRecord, Ob jectCount);Result := 1;end;end;procedure TForm1.FormCreate(Sender: TObject);varMetaFileDC: HDC;begin{文件建立在内存}MetaFileDC := CreateEnhMetaFile(0, nil, nil, nil);MoveToEx(MetaFileDC, 0, 0, nil);LineTo(MetaFileDC, 100, 100);{矩形}Rectangle(MetaFileDC, 10, 10, 30, 30);{椭圆}unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)ColorBox1: TColorBox;ColorBox2: TColorBox;ComboBox1: TComboBox;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure FormPaint(Sender: TObject);procedure ColorBox1Change(Sender: TObject);procedure ColorBox2Change(Sender: TObject);procedure ComboBox1Change(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}varHMetaFile: HENHMETAFILE; {EMF 文件句柄}p: TPen;b: TBrush;//EnumEnhMetaFile 的回调函数function MyEnhMetaFunc(DisplaySurface: HDC; var MetafileTable: THandleTabl e;var MetafileRecord: TEnhMetaRecord; ObjectCount: Integer; var Data: Longin t): Integer; stdcall;begincase MetafileRecord.iType ofEMR_CREATEPEN: SelectObject(DisplaySurface, p.Handle);EMR_CREATEBRUSHINDIRECT: SelectObject(DisplaySurface, b.Handle);elsePlayEnhMetaFileRecord(DisplaySurface, MetafileTable, MetafileRecord, Ob jectCount);Result := 1;end;end;procedure TForm1.FormCreate(Sender: TObject);varMetaFileDC: HDC;begin{文件建立在内存}MetaFileDC := CreateEnhMetaFile(0, nil, nil, nil);p := TPen.Create;b := TBrush.Create;p.Color := clRed;b.Style := bsCross;b.Color := clSilver;SelectObject(MetaFileDC, p.Handle);SelectObject(MetaFileDC, b.Handle);MoveToEx(MetaFileDC, 0, 0, nil);LineTo(MetaFileDC, 80, 80);{矩形}Rectangle(MetaFileDC, 10, 10, 30, 50);{椭圆}Ellipse(MetaFileDC, 30, 30, 50, 70);HMetaFile := CloseEnhMetaFile(MetaFileDC);DeleteObject(MetaFileDC);maText :='bsSolid,bsClear,bsHorizontal,bsVertical,bsFDiagonal,bsBDiagonal,bsCros s,bsDiagCross';end;procedure TForm1.FormPaint(Sender: TObject);beginEnumEnhMetaFile(Canvas.Handle, HMetaFile, @MyEnhMetaFunc, nil, ClientRec t);end;procedure TForm1.ColorBox1Change(Sender: TObject);beginp.Color := ColorBox1.Selected;Repaint;end;procedure TForm1.ColorBox2Change(Sender: TObject);beginb.Color := ColorBox2.Selected;Repaint;end;procedure boBox1Change(Sender: TObject);beginb.Color := ColorBox2.Selected;case ComboBox1.ItemIndex of0: b.Style := bsSolid;1: b.Style := bsClear;2: b.Style := bsHorizontal;3: b.Style := bsVertical;4: b.Style := bsFDiagonal;5: b.Style := bsBDiagonal;6: b.Style := bsCross;Top = 16Width = 116Height = 22ItemHeight = 16TabOrder = 0OnChange = ColorBox1Changeendobject ColorBox2: TColorBoxLeft = 200Top = 44Width = 116Height = 22ItemHeight = 16TabOrder = 1OnChange = ColorBox2Changeendobject ComboBox1: TComboBoxLeft = 200Top = 72Width = 116Height = 21ItemHeight = 13TabOrder = 2Text = 'ComboBox1'OnChange = ComboBox1ChangeendendWinAPI: 测试BitBltBitBlt(DestDC: HDC; {目标 DC}X, Y, Width, Height: Integer; {目标位置与大小}SrcDC: HDC; {源 DC}XSrc, YSrc: Integer; {源起始位置}Rop: DWORD {光栅操作码, 也就是源像素与目标像素的混合方式}procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure FormPaint(Sender: TObject);procedure ListBox1Click(Sender: TObject); end;varForm1: TForm1;implementation{$R *.dfm}varbit1,bit2: TBitmap;cvs1,cvs2,cvs3: TCanvas;procedure TForm1.FormCreate(Sender: TObject); beginwith ListBox1.Items dobeginAdd('SRCCOPY ');Add('SRCPAINT ');Add('SRCAND ');Add('SRCINVERT ');Add('SRCERASE ');Add('NOTSRCCOPY ');Add('NOTSRCERASE');Add('MERGECOPY ');Add('MERGEPAINT ');Add('PATCOPY ');Add('PATPAINT ');Add('PATINVERT ');Add('DSTINVERT ');Add('BLACKNESS ');Add('WHITENESS ');end;Panel1.Caption := '';Panel2.Caption := '';Panel3.Caption := '';bit1 := TBitmap.Create;bit1.Width := Panel1.ClientWidth;bit1.Height := Panel1.ClientHeight;bit2 := TBitmap.Create;bit2.Width := Panel2.ClientWidth;bit2.Height := Panel2.ClientHeight;cvs1 := TCanvas.Create;cvs2 := TCanvas.Create;cvs3 := TCanvas.Create;cvs1.Handle := GetDC(Panel1.Handle);cvs2.Handle := GetDC(Panel2.Handle);cvs3.Handle := GetDC(Panel3.Handle);end;procedure TForm1.FormDestroy(Sender: TObject);beginbit1.Free;bit2.Free;cvs1.Free;cvs2.Free;cvs3.Free;end;procedure TForm1.FormPaint(Sender: TObject);constColorArr: array[0..5] of TColor = (clRed, clGreen, clBlue, clYellow, clFuc hsia, clPurple);varwi,hi: Integer;I: Integer;beginwi := bit1.Width div4;hi := bit1.Height div4;bit1.Canvas.Pen.Width := 10;for I := 1to3dobeginbit1.Canvas.Pen.Color := ColorArr[i-1];bit1.Canvas.MoveTo(wi*i, 0);bit1.Canvas.LineTo(wi*i, bit1.Height);bit1.Canvas.Pen.Color := ColorArr[i+2];bit1.Canvas.MoveTo(0, hi*i);bit1.Canvas.LineTo(bit1.Width, hi*i);end;bit2.Canvas.Pen.Width := 15;bit2.Canvas.Ellipse(15, 15, bit2.Width-15, bit2.Height-15);cvs1.Draw(0, 0, bit1);cvs2.Draw(0, 0, bit2);end;procedure TForm1.ListBox1Click(Sender: TObject);varRop: Cardinal;beginRepaint;Rop := SRCCOPY;case ListBox1.ItemIndex of0 : Rop := SRCCOPY ;1 : Rop := SRCPAINT ;2 : Rop := SRCAND ;3 : Rop := SRCINVERT ;4 : Rop := SRCERASE ;5 : Rop := NOTSRCCOPY ;6 : Rop := NOTSRCERASE;PixelsPerInch = 96TextHeight = 13object Panel1: TPanelLeft = 8Top = 8Width = 180Height = 140Caption = 'Panel1'TabOrder = 0endobject Panel2: TPanelLeft = 194Top = 8Width = 119Height = 105Caption = 'Panel2'TabOrder = 1endobject Panel3: TPanelLeft = 8Top = 154Width = 180Height = 140Caption = 'Panel3'TabOrder = 2endobject ListBox1: TListBox Left = 194Top = 119Width = 119Height = 176ItemHeight = 13TabOrder = 3OnClick = ListBox1Click endend。
在Delphi中调用API函数两例
b i eg n
T嘴r i 组件弹出0 T啪r n i 事件的代码编辑窗口, 按如下所示添加
代码:
p r
v盯
Fm 1Tar mr( n e : be t. o ieHie S d rT dcj e 0
反状 态 直 至 F一 次按 键为 止 。通 常键 盘 的状 态键 包 括
键盘缓冲区每一位都有特定的格式, 对于状态键来说 最
低位是 1 时表示状态键处于 状态, 河 以使用 d l 提供的 话 e曲i Od d 0函数来确定这一位的状态 为了使程序显示正确的状态
[ L c] [co lck ,Cp L k和[ne t这四个钝 在编  ̄mok ,S rlLc ] [ sc ] Isr ] a c
维普资讯 hБайду номын сангаасtp://
从Cm oe t eDn n 模板W n5 i9 页中选择 sa uB r tt sa 组件. 按如下
所 示设 置 它 的属 性
M in aB to g lo tm I ih 0 l gt2 e
的左下角. 下这段代码说明了如何使用A I P 改变 d ll 中提 ep i 1 示属性 的一 些特 性。有一 点需要 声明的是代码中使用到的
常量按镑名称
v IS ̄ [ne t键 l ( NE T I r] s
当今不少流行软件的编辑窗 口( 包括D] h的代丹编辑窗 e i p 口) 的底音 都有一个状态条用来显示一些状态信息, 比如当前光
标的位置、 页码消息和状态键的状态。 什么是状态键呢 ?我们
v一 K
Delphi联网 用 API 提取、写入指定网站的 Cookie
var
Form1: TForm1;
implementation
{$R *.dfm}
uses WinInet;
const url = '';
procedure TForm1.Button1Click(Sender: TObject);
Left = 48
Top =ght = 25
Caption = 'Button3'
TabOrder = 2
OnClick = Button3Click
end
object Button4: TButton
Button2.Caption := '提取指定网站 Cookie 中的指定数据';
Button3.Caption := '向指定网站写入 Cookie';
Button4.Caption := '再提取刚写入的 Cookie';
end;
end.
--------------------------------------------------------------------------------
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
代码文件:
--------------------------------------------------------------------------------
API绘图函数 Delphi
DrawState 为一幅图象或绘图操作应用各式各样的效果
Ellipse 描绘一个椭圆,由指定的矩形围绕
EndPath 停止定义一个路径
EnumEnhMetaFile 针对一个增强型图元文件,列举其中单独的图元文件记录
EnumMetaFile 为一个标准的windows图元文件枚举单独的图元文件记录
GetBrushOrgEx 判断指定设备场景中当前选定刷子起点
GetCurrentObject 获得指定类型的当前选定对象
GetCurrentPositionEx 在指定的设备场景中取得当前的画笔位置
GetEnhMetaFile 取得磁盘文件中包含的一个增强型图元文件的图元文件句柄
GetEnhMetaFileBits 将指定的增强型图元文件复制到一个内存缓冲区里
CreateDIBPatternBrush 用一幅与设备无关的位图创建一个刷子,以便指定刷子样式(图案)
CreateEnhMetaFile 创建一个增强型的图元文件设备场景
CreateHatchBrush 创建带有阴影图案的一个刷子
CreateMetaFile 创建一个图元文件设备场景
DeleteMetaFile 删除指定的图元文件
DeleteObject 删除GDI对象,对象使用的所有系统资源都会被释放
DrawEdge 用指定的样式描绘一个矩形的边框
DrawEscape 换码(Escape)函数将数据直接发至显示设备驱动程序
DrawFocusRect 画一个焦点矩形
CreatePatternBrush 用指定了刷子图案的一幅位图创建一个刷子
API 进程与线程函数(delphi)
WinAPI: WinExec - 运行外部程序//声明WinExec(lpCmdLine: LPCSTR; {文件名和参数; 如没指定路径会按以下顺序查找: 程序目录/当前目录/S ystem32/Windows/PATH环境变量}uCmdShow: UINT {启动选项}): UINT;//返回值:大于31{调用成功}等于0{内存不足}ERROR_FILE_NOT_FOUND = 2; {文件名错误}ERROR_PATH_NOT_FOUND = 3; {路径名错误}ERROR_BAD_FORMAT = 11; {EXE 文件无效}//uCmdShow 参数可选值:SW_HIDE = 0; {隐藏, 并且任务栏也没有最小化图标}SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活}SW_NORMAL = 1; {同 SW_SHOWNORMAL}SW_SHOWMINIMIZED = 2; {最小化, 激活}SW_SHOWMAXIMIZED = 3; {最大化, 激活}SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活}SW_SHOW = 5; {同 SW_SHOWNORMAL}SW_MINIMIZE = 6; {最小化, 不激活}SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}SE_ERR_SHARE = 26; {发生共享错误}SE_ERR_ASSOCINCOMPLETE = 27; {文件名不完全或无效}SE_ERR_DDETIMEOUT = 28; {超时}SE_ERR_DDEFAIL = 29; {DDE 事务失败}SE_ERR_DDEBUSY = 30; {正在处理其他 DDE 事务而不能完成该 DDE 事务} SE_ERR_NOASSOC = 31; {没有相关联的应用程序}//ShowCmd 参数可选值:SW_HIDE = 0; {隐藏}SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活}SW_NORMAL = 1; {同 SW_SHOWNORMAL}SW_SHOWMINIMIZED = 2; {最小化, 激活}SW_SHOWMAXIMIZED = 3; {最大化, 激活}SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活}SW_SHOW = 5; {同 SW_SHOWNORMAL}SW_MINIMIZE = 6; {最小化, 不激活}SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE}SW_RESTORE = 9; {同 SW_SHOWNORMAL}SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL}SW_MAX = 10; {同 SW_SHOWNORMAL}//举例说明更多问题(别忘了 uses ShellAPI;):procedure TForm1.FormCreate(Sender: TObject);beginStringGrid1.Cells[0,0] := '当前线程虚拟句柄: ';StringGrid1.Cells[0,1] := '当前线程 ID: ';StringGrid1.Cells[0,2] := '当前进程虚拟句柄: ';StringGrid1.Cells[0,3] := '当前进程 ID: ';StringGrid1.Cells[1,0] := IntToStr(GetCurrentThread);StringGrid1.Cells[1,1] := IntToStr(GetCurrentThreadID);StringGrid1.Cells[1,2] := IntToStr(GetCurrentProcess);StringGrid1.Cells[1,3] := IntToStr(GetCurrentProcessId);{下面是显示格式的调整}StringGrid1.Align := alClient;StringGrid1.FixedRows := 0;StringGrid1.RowCount := 4;StringGrid1.ColCount := 2;StringGrid1.ColWidths[0] := StringGrid1.Canvas.TextWidth(StringGrid1.Cell s[0,0]) + 4;StringGrid1.ColWidths[1] := StringGrid1.Canvas.TextWidth(StringGrid1.Cell s[0,1]) + 4;end;end.//效果图:GetWindowThreadProcessId(Handle, @c);ShowMessage(IntToStr(c)); {2792; 随机的}{在本例中相同于 GetCurrentProcessID 的结果}c := GetCurrentProcessID;ShowMessage(IntToStr(c)); {2792}c := GetWindowThreadProcessId(Handle, nil);ShowMessage(IntToStr(c)); {2748}{在本例中相同于 GetCurrentThreadID 的结果}c := GetCurrentThreadID;ShowMessage(IntToStr(c)); {2748}end;end.WinAPI: OpenProcess、GetExitCodeProcess、TerminateProcess (测试强制关闭OICQ)//声明:{返回进程的句柄}OpenProcess(dwDesiredAccess: DWORD; {访问选项}bInheritHandle: BOOL; {能否继承; True 表示能用 CreateProcess 继承句柄创建新进程}dwProcessId: DWORD {指定进程 ID}): THandle; {成功会返回进程句柄; 失败返回 0}//dwDesiredAccess 可选值:PROCESS_TERMINATE = $0001; {允许 TerminateProcess 使用进程句柄来关闭进程}PROCESS_CREATE_THREAD = $0002; {允许 CreateRemoteThread 使用进程句柄来创建线程}PROCESS_VM_OPERATION = $0008; {允许 VirtualProtectEx 使用进程句柄来改变进程的虚拟内存}PROCESS_VM_READ = $0010; {允许 ReadProcessMemory 使用进程句柄从进程的虚拟内存中读取数据}PROCESS_VM_WRITE = $0020; {允许 WriteProcessMemory 使用进程句柄向进程的虚拟内存中写入数据}PROCESS_DUP_HANDLE = $0040; {允许 DuplicateHandle 把进程句柄当作源句柄或目标句柄进行复制}PROCESS_CREATE_PROCESS = $0080; {默认值}PROCESS_SET_QUOTA = $0100; {允许 SetProcessWorkingSetSize 使用进程句柄来来设置虚拟内存的上限值}PROCESS_SET_INFORMATION = $0200; {允许 SetPriorityClass 使用进程句柄来设置进程优先级}PROCESS_QUERY_INFORMATION = $0400; {允许 GetExitCodeProcess 或 GetPriorityCl ass 通过进程句柄读取进程信息}SYNCHRONIZE = $00100000; {允许任何等待的函数使用进程句柄}PROCESS_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or$FFF); {允许所有权限}{获取指定进程的退出码}GetExitCodeProcess(提示: #32770 是提前知道的类名, 获取方法可参见:/del/archive/2008/03/09/1097942.htmlGetWindowThreadProcessId函数请参见: /del/archive/2008/03/10/1098475.html//能不能获取记事本的句柄?varh: Cardinal;beginh := GetModuleHandle('notepad.exe');ShowMessage(IntToStr(h)); {0; 失败}{因为当前进程和记事本的进程是相互独立的; }{如果用能够冲破进程、面向全局的 dll 应该可以.}end;WinAPI: GetModuleFileName、GetModuleHandleunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;procedure FormCreate(Sender: TObject);procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses PsAPI; {GetModuleFileNameEx 函数需要它}{根据窗口句柄获取所在程序路径的函数}function GetProcessExePath(h: HWND): string;varpid: Cardinal;pHandle: THandle;buf: array[0..MAX_PATH] of Char;begin{先获取进程 ID}GetWindowThreadProcessId(h, @pid);{再获取进程句柄}pHandle := OpenProcess(PROCESS_ALL_ACCESS, False, pid); {获取进程路径}GetModuleFileNameEx(pHandle, 0, buf, Length(buf));CloseHandle(pHandle);Result := buf;end;{测试当前程序}procedure TForm1.Button1Click(Sender: TObject);varpath: string;beginpath := GetProcessExePath(Handle);ShowMessage(path);end;{测试记事本 - 需要随便打开一个记事本}procedure TForm1.Button2Click(Sender: TObject);varwh: HWND;path: string;。
(DELPHI)API函数大全
(DELPHI)API函数大全1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC (统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字WNetOpenEnum 启动对网络资源进行枚举的过程2. API之消息函数BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口SendMessageTimeout 向窗口发送一条消息SendNotifyMessage 向窗口发送一条消息3. API之文件处理函数CloseHandle 关闭一个内核对象。
DELPHI中使用API函数详解
DELPHI中使用API函数详解在Delphi中,可以使用API函数来实现一些特定的功能或操作,这些API函数可以直接调用Windows操作系统提供的功能。
本文将详细介绍如何在Delphi中使用API函数。
在Delphi中,可以使用以下方法来调用API函数:1. 声明API函数:首先需要在Delphi中声明API函数,可以在程序中的任何地方声明。
声明API函数的语法如下:```delphifunction 函数名(参数列表): 返回值类型; stdcall; external '库名.dll';```其中,函数名是API函数的名称,参数列表包含了API函数需要接收的参数,返回值类型是API函数的返回值类型,stdcall表示使用标准调用规范,external后面的字符串表示API函数所在的动态链接库文件。
例如,要声明一个在user32.dll库中的MessageBox函数,可以写成以下代码:```delphifunction MessageBox(hWnd: HWND; lpText: LPCWSTR; lpCaption: LPCWSTR; uType: UINT): Integer; stdcall; external 'user32.dll';```2.调用API函数:声明完API函数后,就可以在程序中直接调用了。
调用API函数的方法与调用普通函数类似,只需传递相应的参数即可。
例如,使用之前声明的MessageBox函数来显示一个消息框,可以写成以下代码:```delphibeginMessageBox(0, 'Hello World', '提示', MB_OK);end;```上述代码中,第一个参数0表示消息框的父窗口句柄,'Hello World'表示要显示的消息文本,'提示'表示消息框的标题,MB_OK表示消息框的样式。
怎样在DELPHI中使用API函数
怎样在DELPHI中使用API函数在Delphi中,可以使用API函数实现许多功能,例如文件操作、窗口管理、注册表操作、网络通信等。
以下是一些常见的示例:1.文件操作:在Delphi中,使用API函数可以执行各种文件操作,例如创建、移动、复制和删除文件。
以下是一个创建文件的示例代码:```pascalprocedure CreateFileExample;varhFile: THandle;beginhFile := CreateFile('C:\example.txt', GENERIC_WRITE, 0, nil, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);if hFile <> INVALID_HANDLE_VALUE thenbegin//文件创建成功,执行其他操作...CloseHandle(hFile);end;end;```2.窗口管理:使用API函数可以管理窗口,例如最大化、最小化、激活和关闭窗口。
以下是一个最大化窗口的示例代码:```pascalprocedure MaximizeWindowExample(hWnd: HWND);beginShowWindow(hWnd, SW_MAXIMIZE);end;```3.注册表操作:API函数可以用于读取和写入注册表项。
以下是一个读取注册表项的示例代码:```pascalprocedure ReadRegistryExample;varhKey: HKEY;RegValue: DWORD;beginif RegOpenKeyEx(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows', 0, KEY_READ, hKey) = ERROR_SUCCESS thenbeginbegin//注册表项读取成功,执行其他操作...end;RegCloseKey(hKey);end;end;```4.网络通信:API函数可以用于建立和管理网络连接,例如连接到远程服务器、发送和接收网络数据等。
DELPHI中使用API函数详解
DELPHI中使用API函数详解作者:pable类别:System发布时间:2003-10-16 12:28:30阅览次数:59大家别误会,这里的戴妃可不是已经香销玉殒的英国王妃,而是INPRISE的招牌产品DELPHI的中文译名!介绍DELPHI 的文章已经很多了,大家是不是被它强大的开发功能所折服?可视化编程的出现,使很多朋友圆了程序梦。
的确,几个控件的搭配再加上几条语句,也许一个软件就出来了。
但是,你是否已不满足使用别人的元件?想更深入的了解WINDOWS的编程?更换的掌握DELPHI?OK,请继续往下看。
DOS下的INT21H对于开发DOS程序很重要,而对于在WINDOWS下开发程序,了解API函数是很有必要的。
元件就像招式,而API函数就好比内功心法,有了高深的内力,那么学习招式就易如反掌啦。
所以,掌握的API函数越多,你就越可能成为DELPHI高手,甚至WINDOWS编程高手。
所以,无论是C++,VB还是DELPHI都无一例外的支持API函数的调用,C++和DELPHI是全面支持API函数,而VB仅支持部分API函数(部分也不少了,已经有几百条之多),尤其是DELPHI调用API函数最方便,已经达到与API函数合二为一的境界,调用API函数和使用自身的函数几乎一样。
下面我将为大家详细讲解API函数在DELPHI中的使用,每条语句我都会写个小例子,让大家更能明白其是如何使用的。
如果你认真看完本文后,相信大家一定会对DELPHI编程有更深的了解。
但是千万不要半途而废,畏难怕繁,记住:欲练神功,必下苦功!学编程,可不是玩游戏,不能弄个FPE啥作弊的。
(一)控件与消息函数①语法:AnyPopup: BOOL;单元:windows.pas(该单元DELPHI会自行在USES里加上,下同)作用:判断屏幕上是否存在任何弹出式窗口返回值:BOOL,如存在弹出式菜单,则返回TRUE注解:对该函数来说,弹出式菜单包含所有可见的包容顶级窗口,无论弹出式还是重叠窗口示例:procedure TForm1.Button1Click(Sender: TObject);beginif (AnyPopup) thenLabel1.Caption:=‘Pop-ups found: TRUE'elseLabel1.Caption:=‘Pop-ups found: FALSE';end;②语法:EnableWindow(hWnd: HWND; bEnable: BOOL): BOOL;单元:windows.pas 作用:指定的窗口里允许或禁止所有鼠标及键盘输入返回值:BOOL,如果返回真,WINDOWS已经禁止,否则返回假示例:procedure TForm1.Button1Click(Sender: TObject);beginif (IsWindowEnabled(Edit1.Handle)) thenbeginEnableWindow(Edit1.Handle,FALSE);Button1.Caption:=‘Enable Window';Edit1.Text:=‘This window is disabled';endelsebeginEnableWindow(Edit1.Handle,TRUE);Button1.Caption:=‘Disable Window';Edit1.Text:=‘This window is enabled';end;end;③语法:FlashWindow(hWnd: HWND; bInvert: BOOL): BOOL;单元:windows.pas作用:闪烁显示指定窗口。
呼叫中心平台系统的Delphi的二次开发API接口
//转接座席事件(消息)处理
//e.result 表示代接结果(0-成功 1-失败)
//Frmmainform为主窗体名称,以下类同
if (e.result == 0)
Frmmainform.strTranSeatresult = "转接座席成功!";
else
Frmmainform.strTranSeatresult = "转接座席失败!";
+"IVR流程传递到坐席软件的附加参数:" + e.param;
MessageBox.Show(this,strcallin,"提示信息");
//显示来电号码等信息
this.EditCallerCode.Text=e.callerNo;
//刷新状态栏
this.toolStripStatusLabel4.Text = "来电分配到座席后振铃";
//调用InsertOPLog自定义函数写操作日志
this.InsertOPLog(1041,"分配来电号码:"+e.callerNo);
//获得IVR流程传递到坐席软件的附加参数Param中的录音文件名
intrecp=e.param.IndexOf("R");
if (intrecp>0)
strSeatNo = boBox1.Text.Trim();
this.SoftPhoneOcx.TranSeat(strSeatNo, 0);
}
* 话务控制ActiveX控件的事件(消息)处理调用的模板程序源代码,如:
Delphi调用API函数操作串口
再贴上一段用API操作串口的代码,还是API好,一目了然,呵呵。
unit main;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2: TButton;Memo1: TMemo;Memo2: TMemo;Label1: TLabel;Label2: TLabel;RadioGroup1: TRadioGroup;Button3: TButton;Button4: TButton;procedure Button1Click(Sender: TObject);procedure OpenSerialPort;procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;hSerialPort:Cardinal;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);beginOpenSerialPort;end;procedure tform1.OpenSerialPort;varcc:TCommConfig;Temp:string;beginTemp:='Com'+inttostr(RadioGroup1.ItemIndex+1); hSerialPort:=CreateFile(PChar(Temp),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,0,0);if (hSerialPort=invalid_handle_value) thenbeginMessageBox(0,'打开串口失败','',MB_OK);Exit;end;GetCommState(hSerialPort,cc.dcb);cc.dcb.BaudRate:=CBR_9600;cc.dcb.ByteSize:=8;cc.dcb.Parity:=NOPARITY;cc.dcb.StopBits:=ONESTOPBIT;if not SetCommState(hSerialPort,cc.dcb) thenbeginShowMessage('不能设置串口');CloseHandle(hSerialPort);Exit;endelseShowMessage('打开,并设置成功!');end;procedure TForm1.Button2Click(Sender: TObject);beginif hSerialPort<>0 then CloseHandle(hSerialPort);Exit;end;procedure TForm1.Button3Click(Sender: TObject);vartemp:string;lw:LongWord;beginif hSerialPort=0 then Exit;temp:=Memo1.Text;WriteFile(hSerialPort,PChar(temp)^,Length(temp),lw,nil); end;procedure TForm1.Button4Click(Sender: TObject);vartempString:string;inBuff:array[0..2047]of Char;bytesRead,dwError:LongWord;cs:TComStat;beginClearCommError(hSerialPort,dwError,@cs);if cs.cbInQue>SizeOf(inBuff)thenbeginPurgeComm(hSerialPort,PURGE_RXCLEAR);Exit;end;ReadFile(hSerialPort,inBuff,cs.cbInQue,bytesRead,nil); tempString:=Copy(inBuff,1,cs.cbInQue);Memo2.Text:=tempString;end;end.测试软件代码下载:/onews.asp?/123.html。
Delphi_Api函数大全
llseek 设置文件中进行读写的当 前位置 LockFile 锁定文件的某一部分, 使其不与其他应用程序共享 LockFileEx 与LockFile相似,只 是它提供了更多的功能 lopen 以二进制模式打开指定的文 件 lread 将文件中的数据读入内存缓 冲区 lwrite 将数据从内存缓冲区写入 一个文件 LZClose 关闭由LZOpenFile 或 LZInit函数打开的一个文件 LZCopy 复制一个文件 LZInit 这个函数用于初始化内部 缓冲区 LZOpenFile 该函数能执行大量不 同的文件处理,而且兼容于压缩文 件 LZRead 将数据从文件读入内存缓 冲区 LZSeek 设置一个文件中进行读写 的当前位置 MapViewOfFile 将一个文件映射对 象映射到当前应用程序的地址空间 MoveFile 移动文件 OpenFile 这个函数能执行大量不 同的文件操作 OpenFileMapping 打开一个现成的 文件映射对象 QueryDosDevice 在Windows NT 中,DOS设备名会映射成NT系统设 备名。该函数可判断当前的设备映 射情况 ReadFile 从文件中读出数据 ReadFileEx 与ReadFile相似,只 是它只能用于异步读操作,并包含 了一个完整的回调 RegCloseKey 关闭系统注册表中的 一个项(或键) RegConnectRegistry 访问远程系 统的部分注册表 RegCreateKey 在指定的项下创建 或打开一个项
RegCreateKeyEx 在指定项下创建 新项的更复杂的方式。在Win32环 境中建议使用这个函数 RegDeleteKey 删除现有项下方一 个指定的子项 RegDeleteValue 删除指定项下方 的一个值 RegEnumKey 枚举指定项的子项。 在Win32环境中应使用 RegEnumKeyEx RegEnumKeyEx 枚举指定项下方的 子项 RegEnumValue 枚举指定项的值 RegFlushKey 将对项和它的子项作 出的改动实际写入磁盘 RegGetKeySecurity 获取与一个注 册表项有关的安全信息 RegLoadKey 从以前用RegSaveKey 函数创建的一个文件里装载注册表 信息 RegNotifyChangeKeyValue 注册表 项或它的任何一个子项发生变化 时,用这个函数提供一种通知机制 RegOpenKey 打开一个现有的注册 表项 RegOpenKeyEx 打开一个现有的项 。在win32下推荐使用这个函数 RegQueryInfoKey 获取与一个项有 关的信息 RegQueryValue 取得指定项或子项 的默认(未命名)值 RegQueryValueEx 获取一个项的设 置值 RegReplaceKey 用一个磁盘文件保 存的信息替换注册表信息;并创建 一个备份,在其中包含当前注册表 信息 RegRestoreKey 从一个磁盘文件恢 复注册表信息 RegSaveKey 将一个项以及它的所 有子项都保存到一个磁盘文件 RegSetKeySecurity 设置指定项的 安全特性 RegSetValue 设置指定项或子项的 默认值 RegSetValueEx 设置指定项的值
delphiAPI设备场景函数.docx
delphiAPI设备场景函数CombineRgn combines the two zones into a new areaCombineTransform drives world transformation. It is equivalent to two conversions in sequenceCreateCompatib1eDC creates a memory device scene that is consistent with the particular device sceneCreateDC creates device scenes for specialized devicesCreateEllipticRgn creates an ellipseCreateEllipticRgnlndirect creates an elliptical region that iscut into a particular rectangleCreatelC creates an information seene for a dedicated deviceCreatePolygonRgn creates a region surrounded by a series of pointsCreatePolyPolygonRgn creates regions that consist of multiple polygons. Each polygon should be closedCreateRectRgn creates a rectangular areaCreateRectRgnlndirect creates a rectangular areaCreateRoundRectRgn creates a rounded rectangleDeleteDC removes a dedicated device, scene, or informationseene, releasing all of the associated window resourcesDPtoLP converts the dot matrix from device coordinates to dedicated device scene logical coordinatesEqualRgn determines whether the two regions are equalExcludeClipRect removes a rectangular area from the clipping area of the dedicated device scene? Cannot draw inside rectangleExcludeUpdateRgn removes the refresh area of the specified window from the special device scene clipping areaExtCreateRegion modifies the region according to the world transformationExtSelectClipRgn combines the specified region to the current clipping area of the device sceneFillRgn fills the specified area with the specified brushFrameRgn draws an outline around the specified area with the specified brushGetBoundsRect gets the bounding rectangle of the specified device sceneGetClipBox gets the smallest rectangle that completely contains the clipping area of the specified device sceneGetClipRgn gets the device seene's current clipping areaGetDC gets the device scene for the specified windowGetDCEx gets the device scene for the specified window. This function provides more options than GetDCGetDCOrgEx gets the starting point of the specified device scene (represented by screen coordinates)GetDeviceCaps returns information based on the capabilities ofthe device represented by the specified device sceneGetGraphicsMode determines whether to enable enhanced graphics mode (World conversion)GetMapMode calls the mapping mode for a particular device sceneThe GetRegionData loads the RgnData structure or buffer that describes the information of a regionGetRgnBox gets the smallest rectangle that fully contains the specified areaGetUpdateRgn determines the refresh area for the specified window. The zone is currently invalid and needs to be refreshedGetViewportExtEx access equipment (viewport) range of scene viewGetViewportOrgEx access equipment scene view starting point GetWindowDC gets the device scene for the entire window(including borders, scroll bars, title bars, menus, etc.)GetWindowExtEx gets the window range of the specified device sceneGetWindowOrgEx gets the starting point of the logical window for the specified device sceneGetWindowRgn gets the window areaGetWor1dTransform if you have world transformations, get the current world conversion for the device sceneIntersectClipRect defines a new clipping area for the specified deviceThe InvalidateRgn window designated regional activities, andadds it to the window refresh area, which can then be redrawnInvertRgn reverses the device scene by inverting the value ofeach pixelLPtoDP converts the dot matrix from the specified device scene logical coordinates to device coordinatesModifyWorldTransform modifies wor1d conversions according to the specified schemaOffsetClipRgn translates the device scene clipping area by the specified amountOffsetRgn translates the specified region by the specifiedoffsetOffsetViewportOrgEx translation equipment scene view areaOffsetWindowOrgEx translation specifies the starting point ofthe device scene windowPaintRgn fills the specified area with the current brushbackground colorPtlnRegion determines whether the point is within the specifiedareaThe PtVisible determines whether the point is visible (i?e., whether the dot is in the device scene clipping area)RectlnRegion determines whether the rectangle has a section inthe specified areaRectVisible determines whether the specified rectangle ispartially visible (whether it is in the device seene clippingarea)ReleaseDC releases the specified device scene acquired bycalling the GetDC or GetWindowDC functionRestoreDC restores a previously saved device scene from thedevice scene stackSaveDC saves the specified device scene state to the Windowsdevice scene stackScaleViewportExtEx zoom viewport scene equipment ScaleWindowExtEx zoom specifies the device scene window rangeScrollDC horizontally and vertically scrolls rectangles in thewindow (represented by the device scene)SelectClipRgn selects a new clipping area for the specifieddevice sceneThe SetBoundsRect setting specifies the boundary rectangle ofthe device sceneSetGraphicsMode allows or prohibits enhancement of graphical patterns to provide certain support (including world transformations)The SetMapMode setting specifies the mapping mode for the device sceneThe SetRectRgn setting area is the specified rectangle SetViewportExtEx set the scene view range equipment SetViewportOrgEx set scene view starting pointThe SetWindowExtEx setting specifies the device scene windowrangeThe SetWindowOrgEx setting specifies the starting point of the device scene windowSetWindowRgn sets the window areaSetWorldTransform settings world conversionThe ValidateRgn activates the specified region in the window and removes it from the refresh zoneWindowFromDC retrieves the handle of the window associated with a device scene。
基于Delphi使用API实现Sock通讯
基于Delphi使⽤API实现Sock通讯对⾃⼰打算使⽤的那个协议,必须把该参数填充⼀个地址缓冲区,第三个参数是要传递的、由协议决定的地址的长度。
例如这样⼀段代码varErrorCode : integer; SockAdd_In : TSockAddrIn; ... begin ...SockAdd_In.sin_family := PF_INET; SockAdd_In.sin_port := htons(FPort);SockAdd_In.sin_addr.S_addr := htonl(INADDR_ANY); ErrorCode := bind(FSock,SockAdd_In,sizeof(SockAdd_In));⼀旦出错, bind就会返回SOCKET_ERROR。
对bind 来说,最常见的错误是WSAEADDRINUSE。
如使⽤的是TCP/IP,那么WSAEADDRINUSE就表⽰另⼀个进程已经同本地IP接⼝和端⼝号绑定到了⼀起,或者那个IP接⼝和端⼝号处于TIME_WAIT状态。
假如你针对⼀个套接字调⽤bind,但那个套接字已经绑定,便会返回WSAEFFAULT错误。
3. listen我们接下来要做的是将套接字臵⼊监听模式。
bind函数的作⽤只是将⼀个套接字和⼀个指定的地址关联在⼀起。
指⽰⼀个套接字等候进⼊连接的API函数则是listen,其定义如下: function listen(s: TSocket; backlog: Integer): Integer; stdcall;第⼀个参数同样是限定套接字。
backlog参数指定了正在等待连接的最⼤队列长度。
这个参数⾮常重要,因为完全可能同时出现⼏个服务器连接请求。
例如,假定backlog参数为2。
如果三个客户机同时发出请求,那么头两个会被放在⼀个“待决”(等待处理)队列中,以便应⽤程序依次为它们提供服务。
⽽第三个连接会造成⼀个WSAECONNREFUSED错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
auxGetDevCaps API 获取附属设备容量auxGetNumDevs API 返回附属设备数量auxGetVolume API 获取当前卷设置auxOutMessage API 向输出设备发送消息auxSetVolume API 设置附属设备卷AbortDoc API 终止一项打印作业AbortPath API 终止或取消DC中的一切路径AbortPrinter API 删除打印机缓冲文件AbortSystemShutdown API 停止系统工作AccessCheck API 检验客户访问权限AccessCheckAndAuditAlarm API 检验访问,产生声音或警报ActivateKeyboardLayout API 激活一个新的键盘设备AddAccessAllowedAce API 将ACCESS_ALLOWED_ACE加入ACL AddAccessDeniedAce API 将ACCESS_DENIED_ACE加入ACL AddAce API 将ACE加入一个已存在的ACLAddAtom API 将一个字符串加入本地原子表AddAuditAccessAce API 将SYSTEM_AUDIT_ACE加入ACL AddFontResource API 将一种字体加入字体表AddForm API 加入一个打印机窗体AddJob API 启动一个打印作业AddMonitor API 加入一个打印机管理器AddPort API 加入一个打印机端口AddPrintProcessor API 将打印处理器复制到打印机服务器中AddPrintProvidor API 加入一个打印机支持器AddPrinter API 在打印机服务器上建立一个打印机AddPrinterConnection API 为当前用户建立与打印机的联系AddPrinterDriver API 将打印机驱动程序复制到打印机服务器中AdjustTokenGroups API 使能/取消令牌中的群AdjustTokenPrivileges API 使能/取消令牌特权AdjustWindowRect API 计算所需窗口矩形的大小AdjustWindowRectEx API 计算所需窗口矩形的大小AdvancedDocumentProperties API 进行打印机高级设置AllocConsole API 为当前进程建立控制台AllocateAndInitializeSid API 分配和初始化SID AllocateLocallyUniqueId API 分配LUIDAngleArc API 按指定角度画弧AnimatePalette API 替换逻辑调色板中的项目AnyPopup API 标识弹出式窗口是否存在AppendMenu API 在菜单中加入新的项目Arc API 画弧ArcTo API 画椭圆弧AreAllAccessesGranted API 检查所有要求的访问AreAnyAccessesGranted API 检查任何要求的访问ArrangeIconicWindows API 排列最小化的子窗口AttachThreadInput API 将线索彼此相连Abort 函数引起放弃的意外处理Abs 函数绝对值函数AddExitProc 函数将一过程添加到运行时库的结束过程表中Addr 函数返回指定对象的地址AdjustLineBreaks 函数将给定字符串的行分隔符调整为CR/LF序列Align 属性使控件位于窗口某部分Alignment 属性控件标签的文字位置AllocMem 函数在堆栈上分配给定大小的块AllowGrayed 属性允许一个灰度选择AnsiCompareStr 函数比较字符串(区分大小写)AnsiCompareText 函数比较字符串(不区分大小写)AnsiLowerCase 函数将字符转换为小写AnsiUpperCase 函数将字符转换为大写Append 函数以附加的方式打开已有的文件ArcTan 函数余切函数AssignFile 函数给文件变量赋一外部文件名Assigned 函数测试函数或过程变量是否为空AutoSize 属性自动控制标签的大小===============================================BackupEventLog API 将事件记录保存至后备文件BackupRead API 产生磁带备份读BackupSeek API 产生磁带备份查寻BackupWrite API 产生磁带备份写Beep API 产生一个声调BeginDeferWindowPos API 创建一个窗口位置结构BeginPaint API 准备一个画图窗BeginPath API 开始一个路径等级BeginUpdateResource API 在可执行文件中开始资源文件更新BitBlt API 在设备描述表间复制位图BringWindowToTop API 恢复重叠窗BroadcastSystemMessage APIBuildCommDCB API 向DCB中传送设备定义字符串BuildCommDCBAndTimeouts API 建立COMMDCB并设置超时值BackgroundColor 属性背景色BeginThread 函数以适当的方式建立用于内存管理的线程BevelInner 属性控件方框的内框方式BevelOuter 属性控件方框的外框方式BevelWidth 属性控件方框的外框宽度BlockRead 函数读一个或多个记录到变量中BlockWrite 函数从变量中写一个或多个记录BorderStyle 属性边界类型BorderWidth 属性边界宽度Break 命令终止for、while、repeat循环语句Brush 属性画刷===============================================CallMsgFilter API 将消息传给消息过滤过程CallNamedPipe API 多管道操作CallNextHookEx API 调中链中的下一个挂钩过程CallWindowProc API 将消息传答窗口函数CancelDC API 取消指定DC上的任何悬而未决的操作CascadeWindows APIChangeClipboardChain API 从剪贴板查看窗口上删除一个窗口ChangeMenu APIChangeServiceConfig API 修改服务参数CharLower API 将字符或字符串变为小写CharLowerBuff API 将字符串变为小写CharNext API 转到字符串的下一个字符CharPrev API 转到字符串的上一个字符CharToOem API 把字符串转换成OEM字符CharToOemBuff API 把字符串转换成OEM字符CharUpper API 将字符或字符串变为大写CharUpperBuff API 将字符串变为小写CheckColorsInGamut API 检查设备调色板中是否有色彩CheckDlgButton API 用对话按钮修改复选标记CheckMenuItem API 修改菜单项的复选标记属性CheckMenuRadioItem APICheckRadioButton API 用单选按钮放置一个复选标记ChildWindowFromPoint API 确定包含有点的窗口ChildWindowFromPointEx APIChooseColor API 建立一个色彩选择对话框ChooseFont API 建立一个字体选择对话框ChoosePixelFormat APIChord API 画一条弦ClearCommBreak API 恢复字符传输ClearCommError API 允许出错后进行通信ClearEventLog API 消除事件记录ClientToScreen API 将客户点转换成屏幕坐标ClipCursor API 将光标限制在矩形内CloseClipboard API 关闭剪贴板CloseDesktop APICloseDriver API 光闭可装入的多媒体驱动程序CloseEnhMetaFile API 光闭增强型图元文件DC CloseEventLog API 光闭事件记录句柄CloseFigure API 光闭路径中的一个数CloseHandle API 关闭打开的对象句柄CloseMetaFile API 关闭WINDOWS图元文件DCClosePrinter API 关闭打开的打印机CloseServiceHandle API 关闭Service Control Manager对象CloseWindow API 最小化窗口CloseWindowStation APIColorMatchToTarget API 控件预览设备描述表CombineRgn API 将两个区域合成一个区域CombineTransform API 将两个变换式结合在一起CommConfigDialog APICommDlgExtendedError API 返回出错数据CommandLineToArgv APICompareFileTime API 比较两个64位文件时间CompareString API 比较两个局部指定字符串ConfigurePort API 配置打印机端口ConnectNamedPipe API 等待要连接的客户机ConnectToPrinterDlg API 显示浏览对话并连接网络打印机ContinueDebugEvent API 使调试线索继续ControlService API 向服务器发送控件ConvertDefaultLocale API 将缺省局部转换为实际的局部值CopyAcceleratorTable API 复制一个加速表CopyCursor API 复制一个光标CopyEnhMetaFile API 复制增强型图元文件CopyFile API 复制文件CopyIcon API 复制图标CopyImage APICopyLZFile APICopyMetaFile API 复制Windows图元文件CopyRect API 复制矩形大小CopySid API 将SID复制到缓冲区中CountClipboardFormats API 返回剪贴板格式的数量CreateAcceleratorTable API 建立加速表CreateBitmap API 建立独立于设备的内存位图CreateBitmapIndirect API 用BITMAP结构建立位图CreateBrushIndirect API 用指定属性建立一个刷子CreateCaret API 为系统脱字号建立新的形状CreateColorSpace API 建立逻辑色影区域CreateCompatibleBitmap API 建立与DC相兼容的位图CreateCompatibleDC API 建立与指定DC相兼容的DC CreateConsoleScreenBuffer API 将句柄返回给新的屏幕缓冲区CreateCursor API 用指定的尺寸建立一个光标CreateDC API 建立设备描述表CreateDIBPatternBrush API 从DIB中建立图案刷子CreateDIBPatternBrushPt API 从位图中建立逻辑刷子CreateDIBSection APICreateDIBitmap API 从DIB spec中建立位图句柄CreateDesktop APICreateDialogIndirectParam API 从内存模块中建立非模态对话框CreateDialogParam API 建立非模态对话框CreateDirectory API 建立一个新目录CreateDirectoryEx API 用模板属性建立一个目录CreateDiscardableBitmap API 建立可放弃位图CreateEllipticRgn API 建立椭圆区域CreateEllipticRgnIndirect API 建立椭圆区域CreateEnhMetaFile API 建立增强型图元文件DCCreateEvent API 返回新事件对象一个句柄CreateFile API 建立、打开或截断文件CreateFileMapping API 返回新文件映像对象一个句柄CreateFont API 建立逻辑字体CreateFontIndirect API 用LOGFONT结构建立字体CreateHalftonePalette API 为设备描述表建立中间色调调色板CreateHatchBrush API 建立影线刷子CreateIC API 建立信息上下文CreateIcon API 建立有指定属性的图标CreateIconFromResource API 建立图标或光标CreateIconIndirect API 建立图标或光标CreateIoCompletionPort APICreateMDIWindow API 建立新的MDI窗口CreateMailslot API 建立MailsoltCreateMenu API 建立菜单CreateMetaFile API 建立WINDOWS图元DCCreateMutex API 将句柄返回给MUTEX对象CreateNamedPipe API 建立命名管道实例CreatePalette API 建立逻辑色彩调色板CreatePatternBrush API 从位图中建立图案刷子CreatePen API 建立逻辑画笔CreatePenIndirect API 用LOGPEN结构建立画笔CreatePipe API 建立匿名管道CreatePolyPolygonRgn API 建立由多边形组成的区域CreatePolygonRgn API 建立多边形区域CreatePopupMenu API 建立弹出式菜单CreatePrivateObjectSecurity API 分配并初始化保护SD CreateProcess API 建立新的进程和线索对象CreateProcessAsUser API 建立指定用户的新进程CreateRectRgn API 建立矩形区域CreateRectRgnIndirect API 用RECT结构建立一个区域CreateRemoteThread API 在另一进程中建立线索CreateRoundRectRgn API 建立圆角矩形CreateScalableFontResource API 建立带字体信息的资源文件CreateSemaphore API 将句柄返回给新的信号量CreateService API 建立服务对象CreateSolidBrush API 用指定颜色建立实心刷子CreateTapePartition API 建立新的磁带分区CreateThread API 建立新的线索CreateWindowEx API 建立窗口Caption 属性标签文字的内容ChangeFileExt 函数改变文件的后缀ChDir 函数改变当前目录Checked 属性确定复选框选中状态Chr 函数返回指定序数的字符CloseFile 命令关闭打开的文件Color 属性标签的颜色Columns 属性显示的列数CompareStr 函数比较字符串(区分大小写)Concat 函数合并字符串Continue 命令继续for、while、repeat的下一个循环Copy 函数返回一字符串的子串Cos 函数余弦函数Ctl3D 属性是否具有3D效果Cursor 属性鼠标指针移入后的形状===============================================DPtoLP API 将设备坐标转换位逻辑坐标DdeAbandonTransaction API 取消异步交互DdeAccessData API 访问DDE数据对象DdeAddData API 向DDE数据对象中加入数据DdeClientTransaction API 开始DDE数据事务DdeCmpStringHandles API 比较两个DDE字符串句柄DdeConnect API 建立与服务器的对话DdeConnectList API 建立多个DDE对话DdeCreateDataHandle API 建立DDE数据句柄DdeCreateStringHandle API 建立DDE字符串句柄DdeDisconnect API 终止DDE对话DdeDisconnectList API 取消DDE对话表列DdeEnableCallback API 使能或取消一个或多个DDE对话DdeFreeDataHandle API 释放DDE数据对象DdeFreeStringHandle API 释放DDE字符串句柄DdeGetData API 将数据从DDE数据对象中复制到缓冲区DdeGetLastError API 返回由DDEML函数设置的出错代码DdeImpersonateClient API DDE服务器模拟客户机DdeInitialize API 用DDEML登记应用程序DdeKeepStringHandle API 为字符串句柄增加可用记录DdeNameService API 登记取消服务器名称DdePostAdvise API 提示服务器向客户机发送建议数据DdeQueryConvInfo API 返回关于DDE对话的信息DdeQueryNextServer API 在对话表列中获得下一个句柄DdeQueryString API 将字符串句柄文本复制到缓冲区DdeReconnect API 重建DDE对话DdeSetQualityOfService API 指明服务的DDE质量DdeSetUserHandle API 将用户定义句柄与事务建立关联DdeUnaccessData API 释放DDE数据对象DdeUninitialize API 释放应用程序的DDEML资源DebugActiveProcess API 连接调试进程DebugBreak API 建立断点DefDlgProc API 提供缺省窗口消息进程DefDriverProc API 定义缺省消息处理器DefFrameProc API 缺省MDI框架窗口消息进程DefMDIChildProc API 缺省MDI子窗口消息进程DefWindowProc API 调用缺省窗口过程DeferWindowPos API 更新窗口位置结构DefineDosDevice API 定义、重定义或删除DOS的设备名DeleteAce API 从已存在的ACL中删除ACE DeleteAtom API 删除一个原子DeleteColorSpace API 删除指定色彩空间DeleteCriticalSection API 删除临界部分DeleteDC API 删除设备描述表DeleteEnhMetaFile API 取消增强图元文件句柄DeleteFile API 删除文件DeleteForm API 删除打印机窗体层差DeleteMenu API 删除菜单项DeleteMetaFile API 取消WINDOWS图元文件句柄DeleteMonitor API 删除打印机监视器DeleteObject API 从内存删除一个对象DeletePort API 删除打印机端口DeletePrintProcessor API 删除打印机处理器DeletePrintProvidor API 删除打印机提供者DeletePrinter API 删除打印机服务器上的打印机DeletePrinterConnection API 删除与打印机的连接DeletePrinterDriver API 删除打印机驱动程序DeleteService API 从SC MANAGER数据库中删除服务DeregisterEventSource API 光闭事件句柄DescribePixelFormat APIDestroyAcceleratorTable API 取消加速表DestroyCaret API 取消当前脱字号DestroyCursor API 取消CREATECURSOR建立的光标DestroyIcon API 取消由CREATEICON建立的图标DestroyMenu API 取消菜单并释放内存DestroyPrivateObjectSecurity API 删除被保护的服务器对象的SD DestroyWindow API 取消窗口DeviceCapabilities API 返回设备驱动程序的功能DeviceIoControl API 直接调用驱动程序DialogBoxIndirectParam API 从内存模块中建立对话框DisableThreadLibraryCalls APIDisconnectNamedPipe API 切断命名管道的服务器终端DispatchMessage API 向窗口发送消息DlgDirList API 填充目录列表框DlgDirListComboBox API 填充目录列表框DlgDirSelectComboBoxEx API 从目录列表框中返回用户选择DlgDirSelectEx API 从目录列表框中返回用户选择DoEnvironmentSubst APIDocumentProperties API 配置打印机设置DosDateTimeToFileTime API 将MS-DOS日期时间转换为64位格式DragAcceptFiles API 登记窗口是否接受托动文件的内容DragDetect APIDragFinish API 释放分配用于托动文件的内容DragObject APIDragQueryFile API 返回托动的文件名DragQueryPoint API 返回鼠标位置DrawAnimatedRects APIDrawCaption APIDrawEdge APIDrawEscape API 实现非GDI可画图设备方法DrawFocusRect API 用焦点风格画矩形DrawFrameControl APIDrawIcon API 在指定设备描述表中画一个图标DrawIconEx APIDrawMenuBar API 重显示菜单栏DrawState APIDrawText API 在矩形中画出已格式化文本DrawTextEx APIDrvGetModuleHandle API 获得可安装驱动程序的例子句柄DuplicateHandle API 复制对象句柄DuplicateIcon APIDuplicateToken API 复制访问令牌Date 函数返回当前的日期DateTimeToFileDate 函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr 函数将日期时间格式转换为字符串DateTimeToString 函数将日期时间格式转换为字符串DateToStr 函数将日期格式转换为字符串DayOfWeek 函数返回星期的数值Dec 函数递减变量值DecodeDate 函数将日期格式分解为年月日DecodeTime 函数将时间格式分解为时、分、秒、毫秒Delete 函数从字符串中删除子串DeleteFile 命令删除文件DiskFree 函数返回剩余磁盘空间的大小DiskSize 函数返回指定磁盘的容量Dispose 函数释放动态变量所占的空间DisposeStr 函数释放字符串在堆栈中的内存空间DitherBackground 属性使背景色的色彩加重或减少50%DragCursor 属性当鼠标按下时光标的形状DragMode 属性按动的作用方式DropDownCount 属性容许的显示数据项的数目===============================================Ellipse API 画椭圆EmptyClipboard API 清空剪贴板并释放数据句柄EnableMenuItem API 使能、取消或使菜单项不可激活EnableScrollBar API 使能、取消滚动条EnableWindow API 设备窗口使能状态EndDeferWindowPos API 更新窗口的位置及大小EndDialog API 隐藏对话框EndDoc API 结束打印作业EndDocPrinter API 结束打印作业EndPage API 结束一页EndPagePrinter API 结束打印页EndPaint API 在指定窗口中标记图画结尾标志EndPath API 结束路径EndUpdateResource API 在可执行文件中结束资源更新EnterCriticalSection API 加入临界部分EnumCalendarInfo APIEnumChildWindows API 将子窗口句柄传给回调函数EnumClipboardFormats API 返回CLIPBOARD格式EnumDateFormats API 枚举局部指定数据格式EnumDependentServices API 枚举依赖于设备的服务EnumDesktopWindows APIEnumDesktops APIEnumEnhMetaFile API 用增强图元文件返回GDI调用EnumFontFamilies API 返回指定家族的字体EnumFontFamiliesEx API 返回指定家族的字体EnumFonts API 枚举指定设备上的字体EnumForms API 枚举所支持的打印机窗体EnumICMProfiles API 枚举可用的颜色分布EnumJobs API 获取打印作业信息EnumMetaFile API 用WINDOWS图元文件返回GDI调用EnumMonitors API 枚举可用监视器EnumObjects API 枚举设备描述表中的画笔和刷子EnumPorts API 枚举可用打印机端口EnumPrintProcessorDatatypes API 枚举打印机所支持的数据类型EnumPrintProcessors API 枚举已安装的打印机处理器EnumPrinterDrivers API 枚举已安装的打印机驱动程序EnumPrinterPropertySheets APIEnumPrinters APIEnumProps API 返回窗口属性表列EnumPropsEx API 返回窗口属性表列EnumResourceLanguages API 列出语言资源EnumResourceNames API 列出资源名称EnumResourceTypes API 列出资源类型EnumServicesStatus API 枚举SC管理器数据库中的服务EnumSystemCodePages API 枚举已安装的可用系统代码页EnumSystemLocales API 枚举已安装的系统局部EnumThreadWindows API 返回线索窗口EnumTimeFormats API 枚举本地指定时间格式EnumWindowStations APIEqualPrefixSid API 检查两个SLD前缀是否相等EqualRect API 确定两矩形是否相等待EqualRgn API 比较两区域是否相等EqualSid API 检查两SLD安全ID是否相等EraseTape API 删除磁带的指定段Escape API 允许访问设备EscapeCommFunction API 发送扩展COMM函数ExcludeClipRect API 改变剪裁区ExcludeUpdateRgn API 从剪裁区中排斥更新区域ExitProcess API 退出当前进程ExitThread API 退出当前线索ExitWindows API 关闭WINDOWSExitWindowsEx API 关闭WINDOWS ExpandEnvironmentStrings API 扩充环境变量字符串ExtCreatePen API 建立逻辑画笔ExtCreateRegion API 从区域数据中建立一个区域ExtEscape API 允许访问私有设备ExtFloodFill API 用当前刷子填充区域ExtSelectClipRgn API 选择一块区域作为剪裁区ExtTextOut API 在矩形区域中输出一个字符串ExtractAssociatedIcon API 从文件或相关EXE中获取图标句柄ExtractIcon API 从可执行文件中返回图标句柄ExtractIconEx APIEditMask 属性编辑模式Enabled 属性是否使标签呈现打开状态EncodeDate 函数将年月日合成为日期格式EncodeTime 函数将时、分、秒、毫秒合成为时间格式EndMargin 属性末尾边缘Eof 函数对有类型或无类型文件测试是否到文件尾Eoln 函数返回文本文件的行结束状态Erase 命令删除外部文件ExceptAddr 函数返回引起当前意外的地址Exclude 函数从集合中删除一些元素ExceptObject 函数返回当前意外的索引Exit 命令立即从当前的语句块中退出Exp 函数指数函数ExpandFileName 函数返回包含绝对路径的字符串ExtendedSelect 属性是否允许存在选择模式,True时,MultiSelect才有意义ExtractFileDir 函数返回驱动器和路径ExtractFileExt 函数返回文件的后缀ExtractFileName 函数返回文件名ExtractFilePath 函数返回指定文件的路径===============================================FatalAppExit API 结束一个应用程序FatalExit API 向调试者返回控件FileTimeToDosDateTime API 将文件时间转换为MS-DOS日期FileTimeToLocalFileTime API 将UTC文件时间转换成本地文件时间FileTimeToSystemTime API 将64位时间转换为系统时间FillConsoleOutputAttribute API 将属性写入屏幕缓冲区FillConsoleOutputCharacter API 将字符写入屏幕缓冲区FillPath API 填充当前路径FillRect API 用指定刷子填充矩形区域FillRgn API 用刷子填充区域FindAtom API 从本地原子表中返回字符串原子FindClose API 关闭查找文件描述表FindCloseChangeNotification API 光闭文件或目录修改等待FindClosePrinterChangeNotification APIFindEnvironmentString APIFindExecutable API 返回可执行文件名及句柄FindFirstChangeNotification API 设置文件或目录修改等待FindFirstFile API 查找第一个匹配文件FindFirstFreeAce API 返回指向第一个空闲ACL字节的指针FindFirstPrinterChangeNotification APIFindNextChangeNotification API 请求对下一个文件或目录变化的通知FindNextFile API 查找下一个匹配文件FindNextPrinterChangeNotification APIFindResource API 在模块中寻找资源FindResourceEx API 在模块中寻找资源FindText API 建立查找文本对话框FindWindow API 返回一个与类和窗口名相关的窗口句柄FindWindowEx APIFixBrushOrgEx APIFlashWindow API 使窗口闪烁一次FlattenPath API 将弧变为线FloodFill API 用当前刷子填充区域FlushConsoleInputBuffer API 清除控制台输入缓冲区FlushFileBuffers API 清除文件缓冲区FlushInstructionCache API 填满指令缓冲区FlushViewOfFile API 用映像视图填充文件FoldString API 变换字符串FormatMessage API 格式化消息字符串FrameRect API 用指定刷子画一个窗口边框FrameRgn API 在区域四周画出边框FreeConsole API 释放控制台FreeDDElParam API 释放DDE消息IPARAMFreeEnvironmentStrings APIFreeLibrary API 卸载库模块FreeLibraryAndExitThread APIFreeResource APIFreeSid API 释放SIDFileAge 函数返回文件已存在的时间FileClose 命令关闭指定的文件FileCreate 命令用指定的文件名建立新文件FileDateToDateTime 函数将DOS的日期格式转换为DELPHI的日期格式FileExists 函数检查文件是否存在FileGatAttr 函数返回文件的属性FileGetDate 函数返回文件的DOS日期时间标记FileOpen 命令用指定的存取模式打开指定的文件FilePos 函数返回文件的当前指针位置FileRead 命令从指定的文件读取FileSearch 命令在目录中搜索指定的文件FileSeek 函数改变文件的指针FileSetAttr 函数设置文件属性FileSetDate 函数设置文件的DOS日期时间标记FileSize 函数返回当前文件的大小FileWrite 函数对指定的文件做写操作FillChar 函数用指定的值填充连续字节的数FindClose 命令终止FindFirst/FindNext序列FindFirst 命令对指定的文件名及属性搜索目录FindNext 命令返回与文件名及属性匹配的下一入口FloatToDecimal 函数将浮点数转换为十进制数FloatToStrF 函数将浮点数转换为字符串FloatToStr 函数将浮点数转换为字符串FloatToText 函数将给定的浮点数转换为十进制数FloatToTextFmt 函数将给定的浮点数转换为十进制数Flush 函数将缓冲区的内容刷新到输出的文本文件中FmtLoadStr 函数从程序的资源字符串表中装载字符串FmtStr 函数格式化一系列的参数,其结果以参数Result返回Font 属性设置字体Format 函数格式化一系列的参数并返回Pascal字符串FormatBuf 函数格式化一系列的参数FormatDateTime 函数用指定的格式来格式化日期和时间FormatFloat 函数指定浮点数格式Frac 函数返回参数的小数部分FreeMem 函数按给定大小释放动态变量所占的空间===============================================GdiComment API 向增强型图元文件中加入注释GdiFlush API 使当前GDI闪烁GdiGetBatchLimit API 返回缓冲GDI函数数量GdiSetBatchLimit API 设置缓冲GDI函数数量GenerateConsoleCtrlEvent API 向控制台进程组发送信号GetACP API 获取ANSI系统代码页GetAce API 返回指向ACL中的ACE的指针GetAclInformation API 返回访问控件表信息GetActiveWindow API 返回活动窗口句柄GetArcDirection API 返回弧和矩形的绘画方向GetAspectRatioFilterEx API 返回当前ASPECT-RATIO过滤器GetAsyncKeyState API 确定键的状态GetAtomName API 返回本地原子字符串GetBinaryType API 确定二进制可执行文件类型GetBitmapBits API 将位图复制到缓冲区GetBitmapDimensionEx API 返回位图宽和高GetBkColor API 返回当前背景色GetBkMode API 返回背景模式GetBoundsRect API 返回当前相邻矩形GetBrushOrgEx APIGetCPInfo API 获取代码页信息GetCapture APIGetCaretBlinkTime API 返回脱字号闪烁时间GetCaretPos API 返回当前脱字号位置GetCharABCWidths API 返回字符宽度GetCharABCWidthsFloat API 返回字符宽度GetCharWidth API 返回字符宽度GetCharWidth32 API 返回字符宽度GetCharWidthFloat API 返回部分字符宽度GetCharacterPlacement API 获取字符串属性数据GetClassInfo API 返回窗口类信息GetClassLong API 返回窗口类数据GetClassName API 返回窗口类名称GetClassWord API 返回窗口类内存字GetClientRect API 返回窗口客户区坐标GetClipBox API 取剪裁区域框GetClipCursor API 返回限制光标的矩形的坐标GetClipRgn API 返回当前剪辑域GetClipboardData API 返回剪贴板数据的句柄GetClipboardFormatName API 返回登录的剪贴板格式名GetClipboardOwner API 返回剪贴板所有者窗口句柄GetClipboardViewer API 返回第一个剪贴板浏览窗口句柄GetColorAdjustment API 获取设备描述表调整值GetColorSpace API 获取指定色彩空间GetCommConfig APIGetCommMask API 返回COMM事件屏蔽GetCommModemStatus API 返回调制解调器控制登录值GetCommProperties API 返回COMM设备属性GetCommState API 返回COMM设备控制块GetCommTimeouts API 返回COMM设备超时特性值GetCommandLine API 返回指向命令行的指针GetCompressedFileSize APIGetComputerName API 取回当前计算机名GetConsoleCP API 为控制台输入获取代码页GetConsoleCursorInfo API 返回光标大小GetConsoleMode API 返回控制台输入输出模式GetConsoleOutputCP API 为控制台输出获取代码页GetConsoleScreenBufferInfo API 返回屏幕缓冲区信息GetConsoleTitle API 返回控制台窗口标题GetCurrencyFormat APIGetCurrentDirectory API 返回当前目录GetCurrentObject API 返回当前对象GetCurrentPositionEx API 返回逻辑单元位置GetCurrentProcess API 返回当前进程的句柄GetCurrentProcessId API 返回当前进程ID值GetCurrentThread API 返回当前线索的句柄GetCurrentThreadId API 返回当前线索ID值GetCursor API 返回当前光标的句柄GetCursorPos API 返回当前光标的位置GetDC API 返回窗口描述表句柄GetDCEx API 返回显示描述表的句柄GetDCOrgEx API 返回设备描述表的转换起点GetDIBColorTable APIGetDIBits API 将DIB位复制到缓冲区中GetDateFormat API 获取本地日期格式GetDefaultCommConfig APIGetDesktopWindow API 返回桌面窗口句柄GetDeviceCaps API 返回设备性能GetDeviceGammaRamp API 获取显示器的辉度系数GetDialogBaseUnits API 返回对话基础单元GetDiskFreeSpace API 返回空闲磁盘空间GetDlgCtrlID API 返回儿子窗口的ID值GetDlgItem API 返回对话框控件句柄GetDlgItemInt API 将对话框文本转换为整数GetDlgItemText API 返回对话框控件文本GetDoubleClickTime API 返回鼠标双击时间GetDriveType API 返回指定驱动器类型GetDriverModuleHandle API 返回驱动程序模块例子句柄GetEnhMetaFile API 建立增强图元文件GetEnhMetaFileBits API 将增强图元文件值复制到缓冲区GetEnhMetaFileDescription API 返回增强图元文件的标题及建立者GetEnhMetaFileHeader API 返回增强图元文件头GetEnhMetaFilePaletteEntries API 返回增强图元文件调色板入口GetEnvironmentStrings API 返回指向环境块的指针GetEnvironmentVariable API 返回过程环境变量GetExitCodeProcess API 返回过程中断代码GetExitCodeThread API 返回线索中断代码GetExpandedName API 取压缩文件的原文件名GetFileAttributes API 返回文件属性GetFileInformationByHandle API 返回文件信息GetFileSecurity API 获取文件或目录安全信息GetFileSize API 返回指定文件大小GetFileTime API 返回文件64位时间GetFileTitle API 返回文件名GetFileType API 返回文件类型GetFileVersionInfo API 返回文件的版本信息GetFileVersionInfoSize API 返回可用版本信息大小GetFocus API 返回当前焦点窗口句柄GetFontData API 返回字体数据GetFontLanguageInfo API 获取字体显示描述表的信息GetForegroundWindow API 返回前景窗口句柄GetForm API 获取打印机窗口信息GetFullPathName API 返回文件的路径名GetGlyphOutline API 取回轮廓数据GetGraphicsMode API 取回指定DC的图形模式GetHandleInformation APIGetICMProfile API 返回设备场景的色彩映像GetIconInfo API 返回图标或光标信息GetInputState API 确定鼠标、键盘、定时器状态GetJob API 获取打印作业信息GetKBCodePage API 获取OEM系统代码页GetKernelObjectSecurity API 返回内核对象SD GetKerningPairs API 返回当前字体内核对GetKeyNameText API 返回代表键盘名字的字符串GetKeyState API 返回虚拟键的状态GetKeyboardLayout APIGetKeyboardLayoutList APIGetKeyboardLayoutName API 返回活动键盘版面名GetKeyboardState API 返回虚拟键盘状态GetKeyboardType API 返回键盘信息GetLargestConsoleWindowSize API 返回窗口尺寸的最大可能性GetLastActivePopup API 确定最近的活动弹出式窗口GetLastError API 返回扩充出错代码GetLengthSid API 返回SID长度GetLocalTime API 返回本地时间和日期GetLocaleInfo API 从记录中获取本机信息GetLogColorSpace API 获取逻辑色彩空间的信息GetLogicalDriveStrings API 返回合法驱动器字符串GetLogicalDrives API 指定合法驱动器GetMailslotInfo API 返回信箱信息GetMapMode API 返回映像模式GetMenu API 返回指定窗口的菜单句柄GetMenuCheckMarkDimensions API 返回缺省复选标记位图尺寸GetMenuContextHelpId APIGetMenuDefaultItem APIGetMenuItemCount API 返回菜单项数GetMenuItemID API 返回菜单项标识符GetMenuItemInfo APIGetMenuItemRect APIGetMenuState API 返回指定菜单项的菜单标记GetMenuString API 将菜单项字符串复制入缓冲区GetMessage API 从线索消息队列中返回一条消息GetMessageExtraInfo API 返回硬件消息的信息GetMessagePos API 返回最后消息的光标位置GetMessageTime API 返回最后消息的时间位置GetMetaFile API 建立WINDOWS图元文件GetMetaFileBitsEx API 将WINDOWS图元文件复制入缓冲区GetMetaRgn API 返回当前图元区域GetMiterLimit API 返回当前MITER-JOIN长度GetModuleFileName API 返回指定模块的路径GetModuleHandle API 返回指定模块的句柄GetNamedPipeHandleState API 返回命名管道句柄消息GetNamedPipeInfo API 返回命名管道句柄消息GetNearestColor API 返回最近的可用色彩GetNearestPaletteIndex API 返回最近的匹配色彩GetNextDlgGroupItem API 返回前或后一组控件的句柄GetNextDlgTabItem API 返回前或后一个WS_TABSTOP控件GetNextWindow API 返回前或后一窗口管理器窗口GetNumberFormat APIGetNumberOfConsoleInputEvents API 返回控制台队列事件数GetNumberOfConsoleMouseButtons API 返回鼠标按钮数GetNumberOfEventLogRecords API 获取事件记录中的记录数GetOEMCP API 获取OEM系统代码页GetObject API 返回对象信息GetObjectType API 返回对象类型GetObject API 返回对象信息GetObjectType API 返回对象类型GetOldestEventLogRecord API 返回最早的记录数GetOpenClipboardWindow API 返回打开CLIPBOARD的窗口句柄GetOpenFileName API 建立文件名对话框GetOutlineTextMetrics API 返回TRUETYPE字体的公制类型GetOverlappedResult API 返回最后重叠结果GetPaletteEntries API 返回调色板入口范围GetParent API 返回父口句柄GetPath API 返回路径中的所有直线和曲线GetPixel API 返回指定像素的RGB值GetPixelFormat APIGetPolyFillMode API 返回当前多边形填充模式GetPrintProcessorDirectory API 获取打印机驱动处理器路径GetPrinter API 获取打印机信息GetPrinterData API 获取打印机配置信息GetPrinterDriver API 获取打印机驱动程序信息GetPrinterDriverDirectory API 获取打印机驱动程序路径GetPriorityClass API 返回过程的优先级类GetPriorityClipboardFormat API 返回第一个CLIPBOARD格式GetPrivateObjectSecurity API 返回保护服务器对象SD GetPrivateProfileInt API 从私有文件中获取整数GetPrivateProfileSection API 返回私有键和值GetPrivateProfileString API 从私有文件中获取字符串GetProcAddress API 返回函数地址GetProcessAffinityMask API 获取任务可用的处理表列GetProcessHeap API 获取调用过程堆句柄GetProcessHeaps APIGetProcessShutdownParameters API 返回过程停止参数GetProcessTimes API 获取过程计时器GetProcessWindowStation API 返回过程窗口站句柄GetProcessWorkingSetSize APIGetProfileInt API 从WIN.INI中获取整数GetProfileSection API 从WIN.INI中返回关键字和值GetProfileString API 从WIN.INI中获取字符串GetProp API 从窗口属性表列中返回数据句柄GetQueueStatus API 确定消息队列内容GetQueuedCompletionStatus APIGetROP2 API 返回当前绘图模式GetRasterizerCaps API 返回系统TRUETYPE状态GetRegionData API 返回区域数据GetRgnBox API 返回区域边框矩形GetSaveFileName API 建立文件名保存对话框GetScrollInfo APIGetScrollPos API 返回滑块位置GetScrollRange API 返回滑块运动范围GetSecurityDescriptorControl API 取回SD校正及控制信息GetSecurityDescriptorDacl API 返回SD离散ACL。