第一章 FOXTOOLS.FLL程序库 3
1.1 FOXTOOLS.FLL简介 3
1.2 FOXTOOLS.FLL提供的函数 4
1.2.1 ADDBS() 4
1.2.2 CLEANPATH() 5
1.2.3 DRIVETYPE() 6
1.2.4 DEFAULTEXT() 6
1.2.6 FORCEPATH() 7
1.2.5 FORCEEXT() 7
1.2.7 FOXTOOLVER() 8
1.2.8 GETPROSTRG() 8
1.2.9 JUSTDRIVE() 9
1.2.10 JUSTEXT() 9
1.2.11 JUSTFNAME() 12
1.2.12 JUSTPATH() 12
1.2.13 JUSTSTEM() 13
1.2.14 MAINHWND() 13
1.2.15 MKDIR() 14
1.2.16 MSGBOX() 15
1.2.17 NEXTWORD() 21
1.2.18 VALIDPATH() 21
1.2.19 PUTPROSTRG() 22
1.2.20 REDUCE() 22
1.2.21 WORDNUM() 22
1.2.22 WORDS() 23
1.2.23 RGBCOMP() 23
1.2.26 EMPTYCLIP() 24
1.2.27 ENUMCLIPFM() 24
1.2.24 CLOSECLIP() 24
1.2.25 COUNTCLIPF() 24
1.2.28 GEICLIPFMI() 25
1.2.29 ISCLIPFMT() 25
1.2.30 OPENCLIP() 26
1.2.31 REGCLIPFMT() 27
1.2.32 GETCLIPDAT() 27
1.2.33 SETCLIPDAT() 27
1.3 例程注册及例程调用 28
1.3.1 REGFN()及REGFN32()例程的使用 33
1.3.2 CALLFN()例程的使用 35
第二章 FOX LINK LIBRARY的设计 37
2.1 建立一个基础的程序库 37
2.1.1 建立新的项目文件 37
2.1.2 编写基础程序 41
2.1.3 建立程序库 45
2.1.4 存取Visual FoxPro 3.0传递的参数 48
2.1.5 返回数据给Visual FoxPro 3.0 51
第三章 使用BC 4.5编写动态链接程序库 53
3.1 开发的步骤 53
3.2 DLL程序编写 57
3.2.1 头文件 57
3.2.2 函数的声明 57
3.2.3 程序库进入函数 58
3.2.4 程序库的退出 59
3.3 编写共用的例程 59
3.3.1 一般类型 59
3.3.2 取得字符串 60
3.3.3 取得多个返回值 61
3.3.4 综合例程 61
3.3.5 准备另一个头文件 61
3.3.6 其他注意事项 62
3.4 产生DLL文件 63
第四章 鼠标及键盘控制例程 67
4.1 LOADMOUSEKEY() 67
4.2 CHGDEFACURSOR() 67
4.3 ACTCURSOR() 70
4.4 SETMOUSEPOS() 72
4.5 GETMOUSEPOS() 74
4.6 GETCARETBTIME() 75
4.7 SETCARETBTIME() 76
4.8 SETMOUSEAREA() 77
4.9 SETMOUSEWIN() 79
4.10 GETMOUSEAREA() 81
4.11 GETDBCLICK() 82
4.12 SETDBCLICK() 82
4.13 SWAPMOUSE() 85
4.15 GETCURSORSIZE() 87
4.14 ISMOUSEHERE() 87
4.16 ACTIVEKBD() 89
4.17 GETKEYSTATE() 91
4.18 KEYBDTYPE() 93
4.19 CAPKEY() 95
4.21 GETKEYBOARDDELAY() 96
4.22 GETMOUSESPEED() 96
4.20 MIDMOUSE() 96
4.23 SETDBCLICKMOVE() 97
4.24 SETDBCLICKTIME() 98
4.25 SETKEYBOARDDELAY() 98
4.26 SETKEYBOARDSPEED() 101
4.27 SETMOUSEMOVE() 102
4.28 GETDBCLICKHEIGHT() 104
4.29 GETDBCLICKWIDTH() 107
4.30 ISMOUSESWAP() 107
4.32 MBUTTONDOWN() 108
4.31 LBUTTONDOWN() 108
4.33 RBUTTONDOWN() 109
第五章 窗口控制例程 111
5.1 LOADWINDOWDLL() 111
5.2 GETTOPHWND() 112
5.3 GETACTWINDOW() 115
5.4 GETWINDOWHANDLE() 115
5.5 FREEWINDOW() 119
5.6 WINCANBEUSE() 120
5.7 WINDOWFLASH() 123
5.8 SETWINDOWTITLE() 126
5.9 GETTHETASK() 128
5.10 GETWINDOWAREA() 128
5.11 GETTASKHANDLE() 130
5.12 GETWINDOWTITLE() 131
5.13 DISPLAYWINDOW() 131
5.14 GETBORDERSIZE() 135
5.15 SETBORDERSIZE() 135
5.17 SETGRID() 138
5.16 GETGRID() 138
5.18 SETICONTEXTWRAP() 140
5.19 GETMENUALIGN() 141
5.20 SETMENUALIGN() 142
5.21 GETSCREENSAVER() 145
5.22 GETSCREENSAVETIME() 145
5.23 SETDESKTOPSTYLE() 146
5.24 SETDESKTOPBITMAP() 148
5.25 GETPOINTWINDOW() 151
5.26 ISZOOM() 152
5.27 ISVISIBLE() 156
5.28 ISENABLED() 157
5.29 ISICON() 158
5.30 ISAWINDOW() 158
5.31 GETICONXSPACE() 159
5.32 GETICONYSPACE() 159
5.33 GETSCREENWIDTH() 160
5.34 GETSCREENHEIGHT() 160
5.37 GETVARROWWIDTH() 161
5.35 GETFRAMEWIDTH() 161
5.36 GETFRAMEHEIGHT() 161
5.38 GETVARROWHEIGHT() 162
5.39 GETHARROWWIDTH() 162
5.40 GETHARROWHEIGHT() 163
5.41 GETTITLEHEIGHT() 163
5.42 GETICONWIDTH() 164
5.43 GETICONHEIGHT() 164
5.46 GETMINHEIGHT() 165
5.45 GETMINWIDTH() 165
5.44 GETMENUHEIGHT() 165
5.47 LOCFILENAME() 166
5.48 PUTFILENAME() 167
5.49 GETRGBCOLOR() 171
5.50 SENDWINDOWTOP() 172
5.51 MINWINDOW() 173
5.52 GETPARENTHANDLE() 173
5.54 ARRANGEICONS() 174
5.53 EXTRACTWINDOW() 174
5.55 ACTIVEWINDOW() 179
5.56 ISWINRESTORED() 180
5.57 REDRAWWINDOWS() 180
5.58 WHFROMNAME() 181
5.59 FWHFROMNAME() 182
5.60 WHTOHWND() 183
5.61 WBOTTOM() 183
5.62 WBOTTOMP() 184
5.63 WCLEAR() 184
5.64 WCLOSE() 185
5.65 WFINDTITLE() 186
5.66 WGETPORT() 186
5.67 WHEIGHT() 187
5.68 WHEIGHTP() 187
5.69 WHIDE() 188
5.71 WLEFTP() 189
5.70 WLEFT() 189
5.72 WMAINWINDOW() 190
5.73 WONTOP() 190
5.74 WRIGHT() 191
5.75 WRIGHTP() 192
5.76 WSELECT() 192
5.77 WSENDBEHIND() 193
5.79 WSHOW() 194
5.78 WSETTITLE() 194
5.80 WTOP() 195
5.81 WTOPP() 196
5.82 WWIDTH() 196
5.83 WWIDTHP() 197
第六章 剪贴板例程 199
6.1 LOADCLIPBDDLL() 199
6.2 CLOSECLIPBD() 199
6.3 COUNTFORMATS() 200
6.4 CLEARCLIPBD() 200
6.6 GEIFMINAME() 201
6.5 ENUMCLIPBDFORMATS() 201
6.7 GETCLIPBDUSER() 202
6.8 GETCLIPBDWINDOW() 202
6.9 ISFMTHERE() 203
6.10 GETCLIPBOARD() 204
第七章 系统控制例程 205
7.1 LOADSYSTEMDLL() 205
7.3 GETCODEPAGE() 206
7.2 GETLOWMEMORY() 206
7.4 GETMENUHANDLE() 207
7.5 GETTASKNUM() 207
7.6 GETFOXPROINSTANCE() 208
7.7 GETFOXPROTASK() 208
7.8 GETFOXPROMODULE() 209
7.9 GETSYSTEMCOLOR() 209
7.10 IS80X87() 214
7.11 GETCPUNO() 214
7.13 SETFILES() 215
7.12 ENHANCEDMODE() 215
7.14 SAVEMEMORY() 216
7.15 UNSAVEMEMORY() 216
7.16 SAVEGDIMEMORY() 217
7.17 UNSAVEGDIMEMORY() 217
7.18 SAVEUSERMEMORY() 217
7.19 UNSAVEUSERMEMORY() 218
7.20 GETFREEHANDLE() 218
7.23 FINDPROGRAM() 219
7.22 FATALQUIT() 219
7.21 EXEANDRUNWINDOWS() 219
7.24 GETSYSRESOURCE() 220
7.25 POKEMSGTOWINDOWS() 221
第八章 游戏杆控制例程 223
8.1 LOADJOYSTICKDLL() 223
8.2 TESTJOYSTICK() 223
8.3 BUTTONNUM() 224
8.4 GET3DIMLIMIT() 224
8.5 JOYNUMBERS() 225
8.7 GETJOYSENSITIVE() 226
8.6 GETJOYPOS() 226
8.8 SETJOYSENSITIVE() 227
第九章 磁盘控制例程 229
9.1 LOADDISKDLL() 229
9.2 GETFILEPATH() 230
9.3 ERASEFILE() 230
9.4 RENAME() 231
9.5 CHANGEFTIME() 231
9.6 SETFILEATTR() 232
9.7 SETSYSTIME() 233
9.8 GETTEMPHD() 236
9.9 GETNOWTIME() 237
9.10 GETNOWHUNDTIME() 237
9.11 GETDISKTYPE() 238
9.12 GETSECTORS() 238
9.13 GETCLUSTERS() 239
9.14 GETSECTORSIZE() 239
9.16 GETWINDOWSDIR() 240
9.15 GETWINSYSTEMDIR() 240
9.18 GETPROFILEVALUE() 241
9.17 GETDRIVERTYPE() 241
9.19 GETPROFILESTR() 242
9.20 GETWININIVALUE() 243
9.21 GETWININISTR() 243
9.22 PUTPROFILESTR() 244
9.23 PUTWININISTR() 245
9.24 SETFATALMODE() 245
9.26 UNSAVEDISKSPACE() 246
9.25 SAVEDISKSPACE() 246
9.27 SAVEFILEHANDLE() 247
9.28 UNSAVEFILEHANDLE() 247
9.29 GETFILETITLES() 248
第十章 压缩文件例程 249
10.1 LOADCOMPRESSDLL() 250
10.2 CMS_COPYFILE() 250
10.3 GETORIFILENAME() 251
10.5 CMS_OPEN() 252
10.4 CMS_CLOSE() 252
10.6 CMS_SEEK() 256
10.7 CMS_READ() 257
10.8 CMS_COPY() 258
第十一章 多媒体控制例程 259
11.1 LOADMCIDLL() 259
11.2 GETMCIVERSION() 260
11.3 PLAYWAVE() 260
11.5 GETOUTWAVEDEVS() 261
11.4 GETERR()RMSG() 261
11.6 GETINWAVEDEVS() 262
11.7 SETWAVEV()LUMN() 262
11.8 CDGETFORMAT() 263
11.9 CDGETCURRENTTRACK() 263
11.10 CDGETLENGTH() 264
11.11 CDGETTRACKLENGTH() 264
11.12 CDGETTRACKS() 264
11.14 CDPLAY() 265
11.13 CDGETPOSITION() 265
11.15 CDRESET() 266
11.16 CDSTOP() 266
11.17 CDEJECT() 267
11.18 CDCLOSEDOOR() 267
11.19 CDSEEK() 267
11.20 CDPAUSE() 268
11.21 CDRESUME() 268
11.22 CDSETAUDIO() 268
11.23 CDSETSPEAKER() 269
第十二章 其他控制例程 279
12.1 LOADOTHERDLL() 279
12.2 EXITMSWINDOWS() 279
12.3 CLOSEFOXPR0() 280
12.4 ISDEBUG() 280
12.5 ALERTBOX() 281
12.6 ADDWINBAR() 282
12.7 EDOPENFILE() 287
12.8 EDPASTE() 287
附录A 常量定义—按文件分 288