当前位置:文档之家› 汇编常用API函数

汇编常用API函数

汇编常用API函数
汇编常用API函数

【文件操作类的api函数主要是包含】:

文件的创建; createfile | 文件的读写;writefile |

获取文件大小;getfilesize | 取文件属性;GetFileAttributesA

|

设置文件属性;setfileattribute|复制文件 copyfile

|

移动文件movefile | 关闭文件句柄;closehandle

1、sleep 延迟函数

004A2015 68 E8030000 push 0x3E8 1000毫秒==1秒004A201A E8 41C2F6FF call

004A1E48 > 68 E8030000 push 3E8

004A1E4D FF15 70834A00 call dword ptr

ds:[<&kernel32.Sleep>] ; kernel32.Sleep

push xxxx

call [xxxxxxxx] 模板

CTRL+N查找函数参考

-------------------------------------------

2、ExitProcess 中止一个进程

004A20E0 6A 00 push 0x0 (终止本进程)

004A20E2 E8 4D4DF6FF call

004A1E48 > 6A 00 push 0

004A1E4A FF15 E0844A00 call dword ptr

ds:[<&kernel32.ExitProc>; kernel32.ExitProcess

-------------------------------------------

3、WinExec 调用运行另一个程序的函数

push 0

push 路径

call [xxxxxxxx]

004A2078 50 push eax

004A2079 E8 EE50F6FF call

004A1E48 > 6A 01 push 0x1 //显示运行

004A1E4A 68 721E4A00 push

004A1E72 ; ASCII "c:\d.exe"

004A1E4F FF15 48834A00 call dword ptr

[<&kernel32.WinExec>] ; kernel32.WinExec

----------------------------------------------

4、GetLocalTime 获取本地时间的函数

0040ADF3 50 PUSH EAX

0040ADF4 E8 3BC1FFFF CALL DB 07 2011

年月周日时分秒

004A1E49 8D85 70FEFFFF lea eax, dword ptr [ebp-0x190]

004A1E4F 50 push eax //这个里面

004A1E50 FF15 60844A00 call dword ptr

[<&kernel32.GetLocalTime>] ;

00473AD5 8D45 EC lea eax, dword ptr [ebp-0x14] 00473AD8 50 push eax

00473AD9 E8 A634F9FF call --------------------------------------------------------------

5、GetSystemDirectoryA 获取系统目录的函数

call

0049FD5E 68 FF000000 push 0xFF 大小

0049FD63 8D85 00FFFFFF lea eax, dword ptr [ebp-0x100] 0049FD69 50 push eax

0049FD6A E8 6D72F6FF call

00401006 6A 20 push 0x20 bufer size

00401008 68 00234000 push 00402300 bufer address 0040100D FF15 04314000 call GetSystemDirectoryA

004A1E48 > 68 00010000 push 0x100

004A1E4D 8D85 00FFFFFF lea eax, dword ptr [ebp-0x100]

004A1E53 50 push eax

004A1E54 FF15 23204C00 call dword ptr

[<&kernel32.GetSystemDirectoryA>] ;

xp c:\windows\system32

2000

--------------------------------------------------------------

6、GetTickCount 从你开机----现在所经历的毫秒数 1000 ==1秒

GetTickCount 无参数有返回值获取系统启动时间的函数

返回数据存放在eax寄存器中;

005C7A02

005DCED4

005E06DC

获取到这个数据,然后将他写入到程序里面。。。。。md5

7、GetModuleHandleA 获取基础地址(可以用这个函数对自动加密代码

进行改造)

00401715 |. 6A 00 push 0x0 00401717 FF15 90A14200 call dword ptr

[<&KERNEL32.GetModuleHandleA>]; kernel32.GetModuleHandleA

call

pop

and

cmp

sub

jmp

--------------------------------------------------------------------

--

区别于9

8、 GetModuleFileNameA 获取本运行程序的路径(包括本程序的名字)()三个参数

00401066 |. 68 04010000 push 0x104 ; /BufSize = 104 (260.)

0040106B |. 8D95 FCFEFFFF lea edx, dword ptr [ebp-0x104] ; |

00401071 |. 52 push

edx ; |PathBuffer

00401072 |. 6A 00 push 0x0 ; |hModule = NULL

00401074 |. FF15 84A14200 call dword ptr [<&KERNEL32.GetModuleF>; \GetModuleFileNameA

0012FDF0 43 3A 5C 44 6F 63 75 6D 65 6E 74 73 20 61 6E 64 C:\Documents and

0012FE00 20 53 65 74 74 69 6E 67 73 5C 41 64 6D 69 6E 69 Settings\Admini 0012FE10 73 74 72 61 74 6F 72 5C D7 C0 C3 E6 5C 61 70 69 strator\桌面\api

0012FE20 2E 65 78 65 .exe

push 200

lea eax,[ebp-120]

push eax

call [xxxxxxx]

--------------------------------------------------------------------

------------

区别于8

9、GetCurrentDirectoryA 获取本程序运行的所在路径(不包括文件名本身)

00401089 |. 50 push

eax ; /Buffer

0040108A |. 68 04010000 push 0x104 ; |BufSize = 104 (260.)

0040108F |. FF15 80A14200 call dword ptr [<&KERNEL32.GetCurrent>; \GetCurrentDirectoryA

Name=kernel32.GetCurrentDirectoryA

0012FEAA 43 3A 5C 44 6F 63 75 6D 65 6E 74 73 20 61 6E 64 C:\Documents and

0012FEBA 20 53 65 74 74 69 6E 67 73 5C 41 64 6D 69 6E 69 Settings\Admini 0012FECA 73 74 72 61 74 6F 72 5C D7 C0 C3 E6 00 strator\桌面..=

[强调]:就是buffer 缓冲区;

lea edx,[ebp-108]

push edx

push 120

call [xxxxxxxxx]

--------------------------------------------------------------------

----------------

【关注】10、GetVersion 获取系统版本(这个以后咱们有大用处)【无参数】

00401636 FF15 9CA14200 call dword ptr [<&KERNEL32.GetVersion>; kernel32.GetVersion

返回值:0A 28 01 05

ah al

al中代表的是主版本

ah代表是副版本

call dword ptr [<&KERNEL32.GetVersion>; kernel32.GetVersion

cmp al,5

je

cmp ah,1

je xxxx

xxxx:

这个就是windows xp (32)

------------------------------------------------------------------------

11、GetStartupInfoA 该函数返回进程在启动时被指定的 STARTUPINFO 结构

(该函数咱们不做过多讲解);

【主要是作为“花”来用就可以了】

004016DE 51 push ecx

004016DF FF15 94A14200 call dword ptr

[<&KERNEL32.GetStartupInfoA>];

00496B5B 8D85 787FFFFF lea eax, dword ptr [ebp-124]

00496B61 50 push eax

00496B62 E8 FD03F7FF call

----------------------------------------------------------------------------------------------

12、lstrcmpiA

若第一个字符串比第二个字符串小则返回值为负;

若第一个字符串比第二个字符串大则返回值为正;

若两个字符串相等则返回值为0。

004A1E95 50 push eax

004A1E96 68 68214A00 push 004A2168

004A1E9B E8 E452F6FF call

push 111111 字符串2

push 222222 字符串1

call [xxxxx]

--------------------------------------------------------------------

---------------------

13、ShellExecuteA 这个类似于:WinExc (两个参数,push进去的只是要打开的程序的路径)

0081D000 > 6A 05 push 0x5

0081D002 6A 00 push 0x0

0081D004 6A 00 push 0x0

0081D006 68 3ED08100 push 0081D03E ; path

0081D00B 68 5BD08100 push 0081D05B ; ASCII "open"

0081D010 6A 00 push 0x0

0081D012 FF15 B84A5D00 call dword ptr [<&shell32.ShellExecut>; shell32.ShellExecuteA

004A1E48 > 6A 05 push 0x5

004A1E4A 6A 00 push 0x0

004A1E4C 6A 00 push 0x0

004A1E4E 68 7D1E4A00 push 004A1E7D ; ASCII "https://www.doczj.com/doc/aa3384247.html,"

004A1E53 68 921E4A00 push

004A1E92 ; ASCII "open"

004A1E58 6A 00 push 0x0

004A1E5A FF15 A0894A00 call dword ptr

[<&shell32.ShellExecuteA>] ;

对比下面的函数

push 0

push path

call [WinExc]

--------------------------------------------------------------------

--------------------

14、MessageBoxA 提示消息;(四个参数)

0081D018 6A 00 push 0x0

0081D01A 68 61D08100 push 0081D061 标题;

0081D01F 68 6CD08100 push 0081D06C 提示内容;

0081D024 6A 00 push 0x0

0081D026 FF15 B0475D00 call dword ptr [<&user32.MessageBoxA>>; user32.MessageBoxA

004A224B 6A 03 push 0x3

004A224D 68 6D224A00 push 004A226D

004A2252 68 90224A00 push 004A2290

004A2257 6A 00 push 0x0

004A2259 FF15 AC824A00 call dword ptr

[<&user32.MessageBoxA>] ; user32.MessageBoxA

004A224B 6A 05 push 0x5

004A224D 68 6D224A00 push

004A226D ; 标题

004A2252 68 90224A00 push

004A2290 ; 提示地址

004A2257 6A 00 push 0x0

004A2259 FF15 AC824A00 call dword ptr

[<&user32.MessageBoxA>] ;

1、(七个参数)

CreateFileA 有返回值句柄放入eax

00456D7D 6A 00 push 0x0

00456D7F 68 80000000 push 0x80

00456D84 6A 02 push 0x2

00456D86 6A 00 push 0x0

00456D88 6A 02 push 0x2

00456D8A 68 00000040 push 0x40000000

00456D8F 68 1B6E4500 push 00456E1B ; ASCII "c:\12345678.bat"

00456D94 FF15 40524600 call dword ptr

[<&KERNEL32.CreateFile>];

0012FFA8 004A1E78 |FileName = "C:\Documents and

Settings\Administrator\",D7,"烂鎈123.txt" 7

0012FFAC 40000000 |Access = GENERIC_WRITE 6

0012FFB0 00000002 |ShareMode = FILE_SHARE_WRITE 5

0012FFB4 00000000 |pSecurity = NULL 4

0012FFB8 00000002 |Mode = CREATE_ALWAYS 3

0012FFBC 00000080 |Attributes = NORMAL 2

0012FFC0 00000000 \hTemplateFile = NULL 1

0049D62B 6A 00 push 0x0

0049D62D 6A 20 push 0x80

0049D62F 6A 02 push 0x2

0049D631 6A 00 push 0x0

0049D633 6A 03 push 0x3

0049D635 68 000000C0 push 0xC0000000

0049D63A 8B45 08 mov eax, dword ptr [ebp+0x8] 0049D63D 8B00 mov eax, dword ptr [eax] 0049D63F E8 1878F6FF call 00404E5C

0049D644 50 push eax //要创建文件的路径,包含文件名

0049D645 E8 8297F6FF call

参考树:

0012FFA8 004A1EC3 |FileName = "C:\Documents and

Settings\Administrator\",D7,"烂鎈abc.txt"

0012FFAC C0000000 |Access = GENERIC_READ|GENERIC_WRITE

0012FFB0 00000003 |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE 0012FFB4 00000000 |pSecurity = NULL

0012FFB8 00000002 |Mode = CREATE_ALWAYS

0012FFBC 00000080 |Attributes = NORMAL

0012FFC0 00000000 \hTemplateFile = NULL

004A1E48 > 6A 00 push 0x0

004A1E4A 68 80000000 push 0x80

004A1E4F 6A 02 push 0x2

004A1E51 6A 00 push 0x0

004A1E53 6A 03 push 0x3

004A1E55 68 000000C0 push 0xC0000000 //以4 或者8 开头的话,大家尝试下;

004A1E5A 68 C31E4A00 push 004A1EC3 //路径地址;

004A1E5F FF15 98824A00 call dword ptr [<&kernel32.CreateFile>; kernel32.CreateFileA

6A 00 68 80 00 00 00 6A 02 6A 00 6A 03 68 00 00 00 C0 68 C3 1E 4A 00 FF 15 98 82 4A 00

--------------------------------------------------------------- 2、(5个参数)

WriteFile 主要是看参数的压入顺序

00456DAC 894D 08 mov dword ptr [ebp+0x8], ecx

00456DAF 8D75 08 lea esi, dword ptr [ebp+0x8]

00456DB2 6A 00 push 0x0 //

00456DB4 56 push esi //存放大小的地址

00456DB5 51 push ecx //大小

00456DB6 57 push edi //数据来源

00456DB7 50 push eax //句柄

00456DB8 FF15 30524600 call dword ptr

[<&KERNEL32.WriteFile>]>;

---------------------------------------------------------------- 3、(两个参数)

GetFileSize 有返回值,存放到eax中00401077 6A 00 push 0x0

00401079 FF75 FC push dword ptr [ebp-0x4] 句柄,为creatfile所获

0040107C FF15 F0304000 call dword ptr

[<&kernel32.GetFileSize>] ;

---------------------------------------------------------------- 4、

CopyFileA (三个参数)

0012FF6C 010E3D18 |ExistingFileName = "C:\Documents and

Settings\Administrator\",D7,"烂鎈api.exe"

0012FF70 010E3914 |NewFileName = "C:\WINDOWS\tes4t.exe"

0012FF74 00000000 \FailIfExists = FALSE

push 0 //参数0:即使存在也覆盖; 1:存在的话不覆盖

push 目标地址

push 原来地址

call [xxxxxxxx]

004A1FF9 6A 00 push 0x0

004A1FFB 68 8D204A00 push 004A208D ; ASCII "c:\123.bat"

004A2000 68 C31E4A00 push 004A1EC3

004A2005 FF15 10854A00 call dword ptr [<&kernel32.CopyFileA>>; kernel32.CopyFileA

0012FFA8 004A1EC3 |ExistingFileName = "C:\Documents and

Settings\Administrator\",D7,"烂鎈abc.txt"

0012FFAC 004A208D |NewFileName = "c:\123.bat"

0012FFB0 00000000 \FailIfExists = FALSE

------------------------------------------------------------------------------------

5、

GetFileAttributesA (一个参数)

0012FF60 010E3914 \FileName = "C:\WINDOWS\tes4t.exe"

0040964E E8 B9D8FFFF call

push 路径

call [xxxxxxx]

返回值的相关情况;

00000020 正常

00000021 只读

00000022 隐藏

00000023 只读,隐藏

cmp eax,20

-----------------------------------------------------------------------------------

-

6、

SetFileAttributesA (两个参数)

0040964E E8 89DAFFFF call

push 属性分布:1-7

push 路径 //程序路径

call [xxxxxxx]

注明:属性 00000007 \FileAttributes = READONLY|HIDDEN|SYSTEM

004A2036 6A 01 push 0x1

004A2038 68 8D204A00 push 004A208D ; ASCII "c:\123.bat"

004A203D FF15 90834A00 call dword ptr [<&kernel32.SetFileAtt>; kernel32.SetFileAttributesA

0012FFAC 004A208D |FileName = "c:\123.bat"

0012FFB0 00000001 \FileAttributes = READONLY

1 只读

2 隐藏

3 只读and隐藏

4

5

6

7 只读隐藏系统文件

------------------------------------------------------------------------------------

7、

MoveFileA (两个参数)

0012FFB4 00404E61 |ExistingName = ""

0012FFB8 7C92EB94 \NewName = "脥",A4,"$"

push 新地址

push 原来地址

call [xxxxxxx]

00409786 E8 E1D8FFFF call

004A2012 68 8D204A00 push 004A208D ; ASCII

"c:\123.bat"

004A2017 68 C31E4A00 push 004A1EC3

004A201C FF15 C8834A00 call dword ptr [<&kernel32.MoveFileA>>;

kernel32.MoveFileA

0012FFAC 004A1EC3 |ExistingName = "C:\Documents and

Settings\Administrator\",D7,"烂鎈abc.txt"

0012FFB0 004A208D \NewName = "c:\123.bat"

---------------------------------------------------------------------------------------------

8、

CloseHandle (一个参数)

push 句柄 //这个句柄是createfile创建时获取的句柄

call [xxxxxxx]

CreateFileMappingA 仅仅映射

2、CreateFileMappingA 映射指定文件到内存中;这个是有

返回值的;这个返回值放到eax中作为浏览镜像的依据;

00401088 53 push ebx //push 0 00401089 51 push ecx //文件大小0040108A 53 push ebx //push 0 0040108B 6A 04 push 0x4 //4代表readwrite 0040108D 53 push ebx //push 0 0040108E FF75 FC push dword ptr [ebp-0x4] //句柄00401091 FF15 E8304000 call CreateFileMappingA

返回一个句柄;

【解释】:

1、文件大小:通过getfilesize获得

2、句柄通过createfile获得

------------------------------------- 3、

MapViewOfFile(这个函数本身返回映射到内存中的文件的基础地址)这个函数要利用上一个函数的返回值哦。

0040109A 53 push ebx //push 0

0040109B 53 push ebx //push 0

0040109C 53 push ebx //push 0

0040109D 6A 07 push 0x7 //固定就行

0040109F FF75 F8 push dword ptr [ebp-0x8] 004010A2 FF15 F4304000 call MapViewOfFile

--------------------------------------------------------------- 4、UnmapViewOfFile 镜像打包函数(用到句柄)

0040113C FF75 F4 push dword ptr [ebp-0xC] 0040113F FF15 F8304000 call UnmapViewOfFile

【接着】-------------------------模板------------------------push 参数//是CreateFileMappingA 返回的句柄

call [xxxxxxx]

-------------------------------------------------------------

5、CloseHandle 句柄释放函数,可以释放所有函数产生句柄的句柄;

00401145 FF75 F8 push dword ptr [ebp-0x8] //句柄00401148 FF15 E0304000 call CloseHandle

1、VirtualProtect

VirtualProtect 本型的使用(四个参数)

005DC810 8B45 F8 lea eax, dword ptr [ebp-0x8]

005DC813 50 push eax //eax就是个缓冲区哦;005DC814 6A 40 push 0x40 //新的保护方式;

005DC816 68 E4110A00 push 0xA11E4 //要修改的大小;

005DC81B 68 00104000 push 00401000//要修改的地址的起始位置;005DC820 E8 AB52227C call kernel32.VirtualProtect

2、区别于:VirtualProtectEx 功能扩展函数;

005DC810 8B45 F8 mov eax, dword ptr [ebp-0x8]

005DC813 50 push eax

005DC814 6A 40 push 0x40

005DC816 68 E4110A00 push 0xA11E4

005DC81B 68 00104000 push 00401000

005DC820 6A FF push -0x1 //这个参数区别与上面的形式;

005DC822 E8 3652227C call kernel32.VirtualProtectEx

04 FunCode C 开发常用API

FunCode C开发常用API C语言标准库函数 在实验中,我们需要用到一些C语言标准库函数,主要用于字符串处理,获得随机值,处理数学函数等。 Math.h 函数原型功能与返回值参数说明与应用举例 public static double atan2( double y, double x );返回两点之间的正 切值 x:点的x坐标 y:点的y坐标 float ftan = atan2((fMouseY-fY),(fMouseX-fX)); float sqrt( float x ); 功能:计算平方根 返回值:x的平方根 sqrt(9) = 3 Stdio.h 函数原型功能与返回值参数说明与应用举例 int sprintf( char *buffer, const char *format, [ argument] … ); 把格式化的数据写 入某个字符串缓冲 区。 返回值:字符串长 度(strlen) buffer:char型指针,指向将要写入的 字符串的缓冲区。 format:char型指针,指向的内存里面 存放的将要格式字符串。 [argument]...:可选参数,可以是任何类 型的数据。 sprintf(szUfoName,"ufo_%d_%d", iLoop, iTotalUfoCount ); String.h 函数原型功能与返回值参数说明与应用举例 extern char *strstr( char *str1, char *str2 );找出str2字符串 在str1字符串中 第一次出现的位置 (不包括str2的 串结束符)。 返回值:返回该位 置的指针,如找不 到,返回空指针。 strstr(szName, “feichong”) != NULL 说明szName中包含feichong 可以用来判断前一个字符串包含后面 一个字符串 extern int strcmp( const char *s1, const char * s2 );比较字符串s1和 s2。 当s1

Delphi Api

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加入一个已存在的ACL AddAtom 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 分配LUID AngleArc API 按指定角度画弧 AnimatePalette API 替换逻辑调色板中的项目 AnyPopup API 标识弹出式窗口是否存在 AppendMenu API 在菜单中加入新的项目 Arc API 画弧 ArcTo API 画椭圆弧 AreAllAccessesGranted API 检查所有要求的访问AreAnyAccessesGranted API 检查任何要求的访问ArrangeIconicWindows API 排列最小化的子窗口

常用MFC和API函数

常用MFC和API函数 索引 CArchive类:用于二进制保存档案 CBitmap类:封装Windows的图形设备接口(GDI)位图 CBrush类:封装图形设备接口(GDI)中的画刷 CButton类:提供Windows按钮控件的功能 CByteArray类:该类支持动态的字节数组 CCmdUI类:该类仅用于ON_UPDATE_COMMAND_UI处理函数中 CColorDialog类:封装标准颜色对话框 CDC类:定义设备环境对象类 CDialog类:所有对话框(模态或非模态)的基类 CDocument类:提供用户定义的文档类的基本功能 CEdit类:是一个用于编辑控件的类 CFile类:该类是基本文件类的基类 CFileDialog类:封装了打开和保存文件的标准对话框 CFindReplaceDialog类:封装了标准查找/替换对话框 CFont类:封装了Windows图形设备接口(GDI)中的字体对象 CFontDialog类:封装了字体选择对话框 CGdiObject类:GDI绘图工具的基类 CIPAddressCtrl类:提供了IP地址控件的功能 CImageList类:管理大小相同的图标或位图集 CMenu类:封装应用程序菜单栏和弹出式菜单 CPen类:封装了Windows图形设备接口(GDI)中的画笔对象 CPoint类:操作CPoint和POINT结构 CRect类:封装了一个矩形区域及相关操作 CRgn类:封装用于操作窗口中的椭圆、多边形或者不规则区域的GDI区域 CSize类:用于表示相对坐标或位置 CSpinButtonCtrl类:旋转控件Spin的控制类 CStatusBar类:状态栏窗口的基类 CString类:处理字符串 CStringList类:支持CString对象的列表 CWinApp类:派生的程序对象的基类 CWnd类:提供所有窗口类的基本函数 API函数 CArchive类:用于二进制保存档案 CArchive::CArchive 建立一个CArchive对象 CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL); 参数:pFile 指向CFile对象的指针,这个CFile对象是数据的最终源或目的;nMode是标志,取值为CArchive::load时,从文档中加载数据(要求CFile读许可),取值为CArchive::store时,将数据存入文档(要求CFile写许可);nBufSize 指定内部文件缓冲区的大小(按字节计); lpBuf 指向大小为nBufSize的缓冲区,若未指定,则从局部堆中分配一缓冲区,

DELPHI常用组件

Delphi常用组件的使用 目录 1.按钮类组件 1.1Button组件

Button组件位于Standard页。 Button组件的常用属性表 属性描述 Cation用于在按钮上显示文本内容 Cancel用来指定按钮是否为取消按钮 Default用于指定按钮是否为默认按钮,在按Enter键时也选中命令按钮Hint设置鼠标在组件上短暂停时在组件旁显示的提示小窗口的内容ShowHint确定是否显示提示文本,默认值是FALSE 1.2Bitbtn组件 Bitbtn组件(位图组件)位于Additional,与Button很相似,只是多了一个位图符号在按钮上(如带有对号的OK,问好的Help等),其某些属性与Button类似,下表为其独有的的特性。(注:此组件不需编写代码) Bitbtn组件的常用属性表 属性描述 Kind Kind属性的值就是位图按钮上显示的图标。Kind属性后的下拉列表中有一组默认图标的属性值,有bkCancel(取消)、bkAbort(终止)、bkAll(所有)、 bkClose(关闭)等。 Glyph用于在位图按钮上显示加载后的位图图形 NumGlyphs用于指明位图按钮所能使用位图的个数。在delphi中,最多允许向一个位图按钮提供4个图像文件,用于表示4中不停状态 Layout用于指出位图图形在位图组件上的放置位置 1.3SpeedButton组件 SpeedButton组件(加速按钮)位于Additional,常放置在Panel组件上,用于设计工具栏。它与Bitbtn相似,也可以显示图像和文本,但通常只用于显示图像。 SpeedButton组件的常用属性表 属性描述 AllowAllUp用于设置同一组的加速按钮是否具有同时弹起的状态。若设置为FALSE,则当同一组加速按钮中的一个被按下时,其他加速按钮都处于弹起状态,即这 组按钮必须有且只有一个处于按下状态 Down用于设置该加速按钮是否处于按下状态,若设置为TRUE,则表示按钮处于按下状态 Flat用于设置在鼠标移动到该按钮上时,按钮是否显示三维效果。为FLASE则不出现 GroupIndex用于将数个加速按钮设置成一组,只需将其值设置成不等于0的数值即可1.4RadioButton组件

常用API函数参数

常用API函数参数5 ImmIsIME 函数功能: 判断指定的句柄是否为IME; 函数原型: BOOL ImmIsIME( HKL hKL ); 参数hKL: 待检查的键盘布局句柄; 返回值: 函数调用成功返回1,失败返回0. 速查信息: Windows NT: 要求4.0或更高版本 Windows: 要求Windows 95 或更高. Windows CE:不支持. Header: 声明在imm.h. Import Library: imm32.lib. Windows XP没有自带五笔型输入法,这对五笔型用户而言无疑是个大大的遗憾。网上的五笔型输入法虽然种类很多,也不乏优秀的版本,但一方面有些版本是共享软件需要注册,另一方面也许很多五笔型输入法的老用户最习惯用的还是老牌的“王码五笔型输入法86/98版”。 微软的Office XP软件中包含了这个老牌的五笔型输入法,但如果用户并不使用Office XP中的任何组件,仅仅是为了使用“王码五笔型输入法”而运行Office XP安装程序,就显的有些小题大做了,更不用说是某些零时在外面用公用电脑而又想用五笔型输入法的情况。于是网上出现了很多简化的安装方法,大体上可以分为三个步骤: 拷贝输入法文件(从Of还是9x/ME。示例代码fice XP光盘中或已经安装了“王码五笔型输入法”的电脑中提取) 增加注册表项 重启后通过控制面板添加输入法

整个过程中拷贝输入法文件和增加注册表项可以用批处理和导入注册表文件来简化操作,但必须重启计算机才能在控制面板里添加输入法,这同样让使用者觉得比较烦琐。那么作为一个编程爱好者能不能通过写个小程序来实现在不重新启动计算机的情况下全自动的安装“王码五笔型输入法”呢(也就是即装即用)?答案是肯定的!因为微软的Office XP 安装程序做到了,这就表示微软肯定留有一个专门用来安装输入法的接口,一般来说应该是一系列API函数。 经过一番摸索,笔者在MSDN里找到了这个可以用来安装输入法的API:ImmInstallIME()。Ok,现在我们就开始利用这个API来实现自己的“王码五笔型输入法”全自动安装程序。 一、准备素材 我们先试着从Office XP光盘中提取“王码五笔型输入法”的输入法文件。通过Windows 的查找功能在Office XP的第一张安装盘中查找与“WINWB”相关的文件,在OFFICE1.CAB 中找到了一下14个文件:WINWB86.CHM.*、https://www.doczj.com/doc/aa3384247.html,T.*、WINWB86.HLP.*、WINWB86A.IME.*、WINWB86A.MB.*、WINWB86W.IME.*、WINWB86W.MB.*、WINWB98.CHM.*、https://www.doczj.com/doc/aa3384247.html,T.*、WINWB98.HLP.*、WINWB98A.IME.*、WINWB98A.MB.*、WINWB98W.IME.*、WINWB98W.MB.*,其中*是很长的一串由字母、数字和下滑线组成的序列(个人认为应该是微软为了校验文件内容的正确性而加上的内容为该文件效验码的后缀吧)。去掉这个长长的后缀,可以看到5 种类型的文件。很明显,*.CHM、*.CNT和*.HLP是五笔型输入法的帮助文件,*.MB是码表文件,而*.IME是主要的输入法文件。其中*.IME和*.MB有文件名部分以A结尾和以W结尾两个版本,经过笔者试验证实了它们分别是ANSI和UNICODE两种版本的输入法文件。文件名部分以A结尾的文件适用于Windows 9x,以W结尾的文件适用于NT系列Windows系统。 提取了输入法文件后必须让安装程序针对不同版本的操作系统将它们拷贝到正确的目录,以便调用API来进行输入法安装。笔者分别在安装了Office XP中自带的“王码五笔型输入法”的Windows 98SE和Windows XP操作系统中查找以上文件,发现帮助文件都存放在WINDOWSHELP目录中(这里假设Windows系统都安装在WINDOWS目录)。而主要的输入法文件(*.IME)和码表文件(*.MB)在Windows 9x下存放于WINDOWSSYSTEM目录中,在NT系列Windows系统中存放于WINDOWSSYSTEM32目录中。 二、相关API函数 素材的准备工作已经完成,现在我们来看一下代码编写过程中需要用到的4个主要的API函数。 2.1 GetVersion 函数原型:

(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 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件

API函数手册

POSTEK PPLⅠAPI函数手册 G Series 条码标签打印机 Version 2.00 深圳市博思得通信发展有限公司 二○○四年

API函数库文件说明 名称:CDFPSK.dll 中文版本编号:1.X.X.X 英文版本编号:2.X.X.X 版权所有:?2004深圳市博思得通信发展有限公司。保留所有权利。 用途 本API函数库为深圳市博思得通信发展有限公司条码标签打印机的用户提供一组命令,为他们编写基于Windows9X,NT,2000,XP等操作系统的应用程序提供便利。 本API函数库仅支持本公司产品。 缩略语对照 PPLⅠ:深圳市博思得通信发展有限公司的第一套打印机编程语言(Printer Porgram Language Ⅰ)。 API:应用程序编程接口(Application Program Interface)。 Dots:像素(pixel)是一种计算机科学技术尺寸单位,原指电视图像成像的最小单位,在打印机领域表示打印机的最小打印成像单位:1dot等于一英寸除以打印机的最大分辨率。 - 对于203DPI的打印机来说, 1dot = 25.4mm/203 = 0.125mm(1dot = 1000 / 203 = 5mil); - 对于300DPI的打印机来说, 1dot = 25.4mm/300 = 0.085mm(1dot = 1000 / 300 = 3mil)。 TrueType Font:是基于Windows操作系统使用,可装卸的字体。 - 已经安装的TrueType Font,都可以被本函数使用。 使用前须知 字符串 * 字符串以双引号(“)作为起始和结束标记; *

delphi常用函数大全

delphi常用函数大全(转) Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中 Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块 AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写) AnsiCompareText函数比较字符串(不区分大小写) AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程 BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符 CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数 CompareStr函数比较字符串(区分大小写) Concat函数合并字符串 Continue命令继续for、while、repeat的下一个循环 Copy函数返回一字符串的子串 Cos函数余弦函数 Ctl3D属性是否具有3D效果 Cursor属性鼠标指针移入后的形状 Date函数返回当前的日期 DateTimeToFileDate函数将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr函数将日期时间格式转换为字符串DateTimeToString函数将日期时间格式转换为字符串 DateToStr函数将日期格式转换为字符串

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 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等 CompareFileTime 对比两个文件的时间 CopyFile 复制文件 CreateDirectory 创建一个新目录 CreateFile 打开和创建文件、管道、邮槽、通信服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象 DeleteFile 删除指定文件 DeviceIoControl 对设备执行指定的操作

Delphi 文件操作集锦

Delphi 文件操作集锦 Delphi 文件操作集锦 时间:2011-5-26来源:yang 作者: peng点击: 11次Delphi 文件操作集锦 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses activex,comobj,shlobj; {$R *.dfm} function ResolveLink(const ALinkfile: String): String; var

link: IShellLink; storage: IPersistFile; filedata: TWin32FindData; buf: Array[0..MAX_PATH] of Char; widepath: WideString; begin OleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, link)); OleCheck(link.QueryInterface(IPersistFile, storage)); widepath := ALinkFile; Result := ‘unable to resolve link‘; If Succeeded(storage.Load(@widepath[1], STGM_READ)) Then If Succeeded(link.Resolve(GetActiveWindow, SLR_NOUPDATE)) Then If Succeeded(link.GetPath(buf, sizeof(buf), filedata, SLGP_UNCPRIORITY)) Then Result := buf; storage := nil; link:= nil; end; // 用法: procedure TForm1.Button1Click(Sender: TObject);

api接口文档

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。 API:应用程序接口(API:Application Program Interface) 应用程序接口(是一组定义、程序及协议的集合,通过API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用API 函数对应用程序进行开发,可以减轻编程任务。API 同时也是一种中间件,为各种不同平台提供数据共享。 根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将API 分为四种类型: 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过数据库实现应用程序间的数据共享。 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。

信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。 当前应用于API 的标准包括ANSI 标准SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有计算机平台和操作系统。这些API 以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种API 只处理一种信息格式,所以该情形下的信息交付API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API 类型是比较理想的选择。 API 与图形用户接口(GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。 有时公司会将API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。

Delphi函数大全 (2)

Delphi函数大全 function Int(X:Extended):Extended;//取整 function Round(X:Extended):Int64;//四舍五入function Trunc(X:Extended):Int64;//将小数无条件舍去信息来源:邪恶八进制信息安全团队 名称类型说明 ---------------------------------------------------------------------------------- Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录

常用API

转:OpenGL API 简介 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL库函数的命名方式非常有规律。所有 OpenGL函数采用了以下格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有gl、glu、aux、glut、wgl、glx、agl等等,分别表示该函数属于OpenGL那个开发库,从函数名后面中还可以看出需要多少个参数以及参数的类型。I代表int型,f代表float型,d代表double型,u代表无符号整型。例如glVertex3fv()表示了该函数属于gl 库,参数是三个float型参数指针。我们用glVertex*() 来表示这一类函数。 OpenGL函数库相关的API有核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、wgl)和扩展函数库等。从图可以看出,gl是核心,glu是对gl的部分封装。 glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具包,比aux功能强大。扩展函数库是硬件厂商为实现硬件更新利用OpenGL的扩展机制开发的函数。下面逐一对这些库进行详细介绍。 1.OpenGL核心库 核心库包含有115个函数,函数名的前缀为gl。这部分函数用于常规的、核心的图形处理。此函数由gl.dll来负责解释执行。由于许多函数可以接收不同数以下几类。据类型的参数,因此派生出来的函数原形多达300多个。核心库中的函数主要可以分为以下几类函数: ?绘制基本几何图元的函数:glBegain()、glEnd()、glNormal*()、glVertex*(); ?矩阵操作、几何变换和投影变换的函数:如矩阵入栈函数glPushMatrix(),矩阵出栈函数glPopMatrix(),装载矩阵函数glLoadMatrix(),矩阵相乘函数glMultMatrix(),当前矩阵函数glMatrixMode()和矩阵标准化函数glLoadIdentity(),几何变换函数glTranslate*()、glRotate*()和glScale*(),投影变换函数glOrtho()、glFrustum()和视口变换函数glViewport();?颜色、光照和材质的函数:如设置颜色模式函数glColor*()、glIndex*(),设置光照效果的函数glLight*() 、glLightModel*()和设置材质效果函数glMaterial(); ?显示列表函数:主要有创建、结束、生成、删除和调用显示列表的函数glNewList()、glEndList()、glGenLists()、glCallList()和glDeleteLists(); ?纹理映射函数:主要有一维纹理函数glTexImage1D()、二维纹理函数glTexImage2D()、设置纹理参数、纹理环境和纹理坐标的函数glTexParameter*()、 glTexEnv*()和glTetCoord*(); ?特殊效果函数:融合函数glBlendFunc()、反走样函数glHint()和雾化效果glFog*();?光栅化、象素操作函数:如象素位置glRasterPos*()、线型宽度glLineWidth()、多边形绘制模式glPolygonMode(),读取象素glReadPixel()、复制象素glCopyPixel(); ?选择与反馈函数:主要有渲染模式glRenderMode()、选择缓冲区glSelectBuffer()和反馈缓冲区glFeedbackBuffer(); ?曲线与曲面的绘制函数:生成曲线或曲面的函数glMap*()、glMapGrid*(),求值器的函数glEvalCoord*() glEvalMesh*(); ?状态设置与查询函数:glGet*()、glEnable()、glGetError()。 2.OpenGL实用库The OpenGL Utility Library (GLU) 包含有43个函数,函数名的前缀为glu。OpenGL提供了强大的但是为数不多的绘图命令,所有较复杂的绘图都必须从点、线、面开始。Glu 为了减轻繁重的编程工作,封装了OpenGL函数,Glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现

API函数大全

waveInAddBuffer 向波形输入设备添加一个输入缓冲区 WaveInClose 关闭指定的波形输入设置 waveInGetDevCaps 查询指定的波形输入设备以确定其性能 waveInGetErrorText 检取由指定的错误代码标识的文本说明 waveInGetID 获取指定的波形输入设备的标识符 waveInGetNumDevs 返回系统中存在的波形输入设备的数量 waveInGetPosition 检取指定波形输入设备的当前位置 waveInMessage 发送一条消息给波形输入设备的驱动器 waveInOpen 为录音而打开一个波形输入设备 waveInPrepareHeader 为波形输入准备一个输入缓冲区 waveInReset 停止给定的波形输入设备的输入,且将当前位置清零 waveInStart 启动在指定的波形输入设备的输入 waveInStop 停止在指定的波形输入设备上的输入 waveInUnprepareHeader 清除由waveInPrepareHeader函数实现的准备 waveOutBreakLoop 中断给定的波形输出设备上一个循环,并允许播放驱动器列表中的下一个块waveOutClose 关闭指定的波形输出设备 waveOutGetDevCaps 查询一个指定的波形输出设备以确定其性能 waveOutGetErrorText 检取由指定的错误代码标识的文本说明 waveOutGetID 检取指定的波形输出设备的标识符 waveOutGetNumDevs 检取系统中存在的波形输出设备的数量 waveOutGetPitch 查询一个波形输出设备的当前音调设置 waveOutGetPlaybackRate 查询一个波形输出设备当前播放的速度 waveOutGetPosition 检取指定波形输出设备的当前播放位置 waveOutGetV olume 查询指定波形输出设备的当前音量设置 waveOutMessage 发送一条消息给一个波形输出设备的驱动器 waveOutOpen 为播放打开一个波形输出设备 waveOutPause 暂停指定波形输出设备上的播放 waveOutPrepareHeader 为播放准备一个波形缓冲区 waveOutRestart 重新启动一个被暂停的波形输出设备 waveOutSetPitch 设置一个波形输出设备的音调 waveOutSetPlaybackRate 设置指定波形输出设备的速度 waveOutSetV olume 设置指定的波形输出设备的音量 waveOutUnprepareHeader 清除由waveOutPrepareHeader函数实现的准备 waveOutWrite 向指定的波形输出设备发送一个数据块

DELPHI中如何调用API,可举例说明

DELPHI中如何调用API,可举例说明 第一部分Delphi知识1. 如果一个元件希望放到IDE的元件面板上,它必须从________类派生,如果一个元件能作为其它元件的容器,它必须从_____________类派生,如果一个元件在运行时可见,它必须从___________________类派生(A)TGraphicControl (B)TWinContr 1、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 a 1.您为什么选择软件开发这个行业?(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中,要求用递归。2、采用SOCKET(可用SOCKET API或delphi Socket控件)实现点对点传输大文件,要求不能掉

API函数参考手册

《API函数参考手册》 收集:小红帽 https://www.doczj.com/doc/aa3384247.html, Copyright by vortex 1999.1 ================================================================================= ============== Api函数名函数说明WIN16可用WIN95可用WINNT可用 --------------------------------------------------------------------------------------------------------------- AbortDoc 终止一项打印作业是是是 AbortPath 终止或取消DC中的一切路径否是是 AbortPrinter 删除打印机缓冲文件否是是 AbortSystemShutdowna 停止系统工作否是是 AccessCheck 检验客户访问权限否是是 AccessCheckAndAuditAlarm 检验访问,产生声音或警报否是是 ActivateKeyboardLayout 激活一个新的键盘设备否是是 AddAccessAllowedAce 将ACCESS_ALLOWED_ACE加入ACL 否是是 AddAccessDeniedAce 将ACCESS_DENIED_ACE加入ACL 否是是 AddAce 将ACE加入一个已存在的ACL 否是是 AddAtom 将一个字符串加入本地原子表是是是 AddAuditAccessAce 将SYSTEM_AUDIT_ACE加入ACL 否是是 AddFontResource 将一种字体加入字体表是是是 AddForm 加入一个打印机窗体否是是 AddJob 启动一个打印作业否是是 AddMonitor 加入一个打印机管理器否是是 AddPort 加入一个打印机端口否是是 AddPrintProcessor 将打印处理器复制到打印机服务器中否是是 AddPrintProvidor 加入一个打印机支持器否是是 AddPrinter 在打印机服务器上建立一个打印机否是是 AddPrinterConnection 为当前用户建立与打印机的联系否是是 AddPrinterDriver 将打印机驱动程序复制到打印机服务器中否是是 AdjustTokenGroups 使能/取消令牌中的群否是是 AdjustTokenPrivileges 使能/取消令牌特权否是是 AdjustWindowRect 计算所需窗口矩形的大小是是是 AdjustWindowRectEx 计算所需窗口矩形的大小是是是 AdvancedDocumentProperties 进行打印机高级设置否是是 AllocConsole 为当前进程建立控制台否是是 AllocateAndInitializeSid 分配和初始化SID 否是是 AllocateLocallyUniqueId 分配LUID 否是是 AngleArc 按指定角度画弧否是是 AnimatePalette 替换逻辑调色板中的项目是是是 AnyPopup 标识弹出式窗口是否存在是是是 AppendMenu 在菜单中加入新的项目是是是

相关主题
文本预览
相关文档 最新文档