當前位置:編程學習大全網 - 編程語言 - vfp的API函數怎麽用,完全沒有概念,請大神賜教。

vfp的API函數怎麽用,完全沒有概念,請大神賜教。

DECLARE – DLL 命令

示例 請參閱

註冊外部 Windows 32 位動態鏈接庫 ( .DLL ) 中的壹個函數。

語法

DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName]

[cParamType1 [@] ParamName1,

cParamType2 [@] ParamName2, ...]

參數

cFunctionType

表明 32 位 Windows .DLL 函數是否有返回值。如果函數有返回值,則包含 cFunctionType ,否則省略 cFunctionType。

cFunctionType 可以是以下值:

cFunctionType 說明

SHORT 16 位整數

INTEGER 32 位整數

SINGLE 32 位浮點數

DOUBLE 64 位浮點數

LONG 32 位長整數

STRING 字符串

FunctionName

指定在 Visual FoxPro 中要註冊的 32 位 Windows .DLL 函數名。註意 FunctionName 區分大小寫。

32 位 Windows .DLL 函數名可以與 Win32 API 手冊中規定的不同。例如,Messagebox 函數應該命名為 MessogeBoxA(對於單字節字符)和 MessageBoxW(對於 UNICODE)。如果 Visual FoxPro 不能定位 FunctionName 指定的 32 位 Windows .DLL 函數,則將字母 A 追加到函數名尾部,Visual FoxPro 用新的函數名重新搜索。

如果指定的 32 位 Windows .DLL 函數與壹個 Visual FoxPro 函數同名,或者函數名不是合法的 Visual FoxPro 函數名,則將 32 位 Windows .DLL 函數名作為 FunctionName,並用 AS 子句給該函數取壹個合法的 Visual FoxPro 名,這點在本主題的後面將要說明。

IN LibraryName

指定外部 Windows .DLL 的名稱,該動態鏈接庫包含 FunctionName 指定的 Windows 32 位 .DLL 函數。如果為 LibraryName 指定 WIN32API,則 Visual FoxPro 就在 KERNEL32.DLL、GDI32.DLL、USER32.DLL、MPR.DLL 和 ADVAPI32.DLL 中搜索 32 位 Windows .DLL 函數。

AS AliasName

為壹個與 Visual FoxPro 函數同名或不合法的 Windows 32 位 .DLL 函數名指定別名。AliasName 不能是 Visual FoxPro 的保留字或已經由 Visual FoxPro 註冊的 Windows 32 位 .DLL 函數名。

可使用 AliasName 去調用 Windows 32 位 .DLL 函數。AliasName 不區分大小寫。

cParameterType1 [@] ParamName1, cParameterType2 [@] ParamName2, ...

指定傳遞給 Windows 32 位 .DLL 函數的參數類型。

Windows 32 位 .DLL 函數由 cParameterType 指定需要的參數類型。

cParameterType 可以為下列某壹類型:

cParameterType 說明

INTEGER 32 位整數

SINGLE 32 位浮點數

DOUBLE 64 位浮點數

LONG 32 位長整數

STRING 字符串

如果參數不是 Windows 32 位 .DLL 函數所需要類型,Visual FoxPro 產生壹個錯誤。Null 值可以作為字符串傳遞。

調用函數時,若按引用傳遞壹個參數,必須在這條命令的參數 cParameterType 後面、在調用函數相應變量前面包含 @。如果在 DECLARE 中或在調用函數中沒有包含 @,參數就按值傳遞。有關需要按引用傳遞參數的 .DLL 函數的詳細內容,請參閱《Microsoft Win32 編程指南》。

附註

參數名 ParamName1,ParamName2 等是可選的,Visual FoxPro 或 Windows 32 位 .DLL 函數並不使用它們,它們可以作為函數接收的參數名和參數類型的提示。

說明

在從 Visual FoxPro 調用壹個 32 位 Windows .DLL 函數前,必須發出帶有函數名、包含該函數的 Windows .DLL 名以及函數將要接收的參數類型的 DECLARE 命令。

為了提供向後兼容性,Visual FoxPro 仍支持 FOXTOOLS.FLL(包含在 FoxPro 早期版本中),並允許調用 16 位 .DLL 函數的 Visual FoxPro API 庫。在 Visual FoxPro 中,調用 .DLL 函數時使用 DECLARE 是可取的方法。

有關 Windows 32 位 .DLL 函數的詳細內容,請參閱《Microsoft Win32 編程指南》中的文檔。

執行 DISPLAY STATUS 或 LIST STATUS 可以顯示註冊函數的名稱,執行 CLEAR ALL 或 CLEAR DLLS 可從內存中刪除註冊函數。

*-----------------------------------------------------------------------------------------------------

declare – dll 命令示例

這個示例為當前活動的 windows 應用程序顯示句柄。當出現“等待”窗口時,可在 5 秒的時間內按下 alt + tab 鍵切換到不同的 windows

應用程序,否則以活動的應用程序離開 visual foxpro。

clear

declare integer getactivewindow

in win32api

wait window "you can switch to another application now" timeout

5

getactivewindow( )

  • 上一篇:電鍍生產線的分類
  • 下一篇:802.11 無線網絡傳輸中,數據幀結構是如何變化的
  • copyright 2024編程學習大全網