VFP中對(duì)WIN32API函數(shù)的調(diào)用格式

字號(hào):

編程時(shí),經(jīng)常會(huì)用到WIN32API函數(shù)來(lái)對(duì)VFP的功能進(jìn)行擴(kuò)展,例如對(duì)注冊(cè)表進(jìn)行操作、獲取系統(tǒng)信息等,但是由于WIN32API函數(shù)遵循的是C++的數(shù)據(jù)結(jié)構(gòu),在應(yīng)用時(shí)與VFP的數(shù)據(jù)格式有所區(qū)別,因此在調(diào)用時(shí)容易產(chǎn)生問(wèn)題,現(xiàn)將有關(guān)調(diào)用方式詳解如下:
    VFP中調(diào)用WIN32API的主要函數(shù)是:DECLARE - DLL
    它是注冊(cè)外部 Windows 32 位動(dòng)態(tài)鏈接庫(kù) ( .DLL ) 中的一個(gè)函數(shù)。
    語(yǔ)法:
    DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName]      [cParamType1 [@] ParamName1, cParamType2 [@] ParamName2, ...]
    參數(shù):
    cFunctionType 表明 32 位 Windows .DLL 函數(shù)是否有返回值。如果函數(shù)有返回值,則包含 cFunctionType ,否則省略 cFunctionType。
    cFunctionType 可以是以下值:
    cFunctionType 說(shuō)明
    SHORT 16 位整數(shù)
    INTEGER 32 位整數(shù)
    SINGLE 32 位浮點(diǎn)數(shù)
    DOUBLE 64 位浮點(diǎn)數(shù)
    STRING 字符串
    FunctionName 指定在 Visual FoxPro 中要注冊(cè)的 32 位 Windows .DLL 函數(shù)名。注意 FunctionName 區(qū)分大小寫(xiě)。32 位 Windows .DLL 函數(shù)名可以與 Win32 API 手冊(cè)中規(guī)定的不同。例如,Messagebox 函數(shù)應(yīng)該命名為 MessogeBoxA(對(duì)于單字節(jié)字符)和 MessageBoxW(對(duì)于 UNICODE)。如果 Visual FoxPro 不能定位 FunctionName 指定的 32 位 Windows .DLL 函數(shù),則將字母 A 追加到函數(shù)名尾部,Visual FoxPro 用新的函數(shù)名重新搜索。