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

字號:

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