欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基 礎(chǔ) 函 數(shù) 參 考


DllCallAddress

動(dòng)態(tài)調(diào)用特定內(nèi)存地址的函數(shù).

警告: 這是一個(gè)高級(jí)函數(shù). 這個(gè)函數(shù)的不正確使用可能造成 AutoIt 崩潰. 使用此函數(shù)之前必須確保 DllCall() 不能做到你所需要的.

DllCallAddress ( "返回類型", 地址 [, 類型 1, 參數(shù) 1 [, 類型 n, 參數(shù) n]] )

參 數(shù)

返回類型 函數(shù)的返回類型 (見(jiàn)下文).
地址 函數(shù)的地址. 如果這個(gè)值無(wú)效, 腳本將崩潰!
類型 1 [可選參數(shù)l] 參數(shù)的類型 (見(jiàn)備注).
參數(shù) n [可選參數(shù)l] 實(shí)際參數(shù) (見(jiàn)備注).
類型 n [可選參數(shù)l] 第 n 個(gè)參數(shù)的類型 (見(jiàn)備注).
參數(shù) n [可選參數(shù)l] 第 n 個(gè)實(shí)際參數(shù) (見(jiàn)備注).

有效的類型:
類 型 描 述
none 沒(méi)有值 (僅適用于有效的返回類型 - 相當(dāng)于 C 無(wú)效)
BYTE 無(wú)符號(hào) 8 位整數(shù)
BOOLEAN 無(wú)符號(hào) 8 位整數(shù)
short 16 位整數(shù)
USHORT 無(wú)符號(hào) 16 位整數(shù)
WORD 無(wú)符號(hào) 16 位整數(shù)
int 32 位整數(shù)
long 32 位整數(shù)
BOOL 32 位整數(shù)
UINT 32 位無(wú)符號(hào)整數(shù)
ULONG 32 位無(wú)符號(hào)整數(shù)
DWORD 32 位無(wú)符號(hào)整數(shù)
INT64 64 位整數(shù)
UINT64 無(wú)符號(hào) 64 位整數(shù)
ptr 一般指針 (void *)
HWND 窗口句柄 (指針)
HANDLE 句柄 (指針)
float 單精度浮點(diǎn)數(shù)
double 雙精度浮點(diǎn)數(shù)
INT_PTR, LONG_PTR, LRESULT, LPARAM 當(dāng)運(yùn)行在 x86 或 x64 版本的 AutoIt 時(shí), 一個(gè)大到足以容納一個(gè)指針的整數(shù).
UINT_PTR, ULONG_PTR, DWORD_PTR, WPARAM 當(dāng)運(yùn)行在 x86 或 x6 4版本的 AutoIt 時(shí), 大到足以容納一個(gè)指針的無(wú)符號(hào)整數(shù).
str ANSI 字符串 (至少分配 65536 個(gè)字符).
wstr Unicode 寬字符字符串 (至少分配 65536 個(gè)字符).
struct 用于 DllStructCreate() 創(chuàng)建結(jié)構(gòu)
* 添加 * 到類型的末尾作為另一種類型傳遞的參考. 例如 "int*" 傳遞 "int" 類型的指針.

轉(zhuǎn)換 Windows API 類型為 AutoIt 類型:
WINDOWS API 類 型 AutoIt 類 型
LPCSTR/LPSTR str
LPCWSTR/LPWSTR wstr
LPVOID ptr
LPxyz xyz*
HINSTANCE handle
HRESULT long
LONGLONG/LARGE_INTEGER INT64
ULONGLONG/ULARGE_INTEGER UINT64
SIZE_T ULONG_PTR
要在結(jié)構(gòu)內(nèi)部使用嵌套結(jié)構(gòu), 你必須重新定義嵌套結(jié)構(gòu).
例如, 結(jié)構(gòu)中含有 2 點(diǎn)結(jié)構(gòu) ("long;long") 將被宣布為 "long;long;long;long".
前兩個(gè)長(zhǎng)值對(duì)應(yīng)第一點(diǎn)結(jié)構(gòu), 后兩個(gè)值對(duì)應(yīng)第二點(diǎn)結(jié)構(gòu).
其它 Windows API 類型見(jiàn) MSDN.

返 回 值

成功: 返回 @error = 0.
失敗: 設(shè)置 @error
@error: 2 未知的"返回類型",
4 壞的參數(shù)數(shù)目.
5 參數(shù)無(wú)效
見(jiàn)備注.

備 注

默認(rèn) AutoIt 使用 'stdcall' 調(diào)用方法. 要使用 'cdecl' 在返回類型后調(diào)用方法 ':cdecl'.

如果函數(shù)調(diào)用失敗, 則 @error 設(shè)置為非 0.
否則返回包含函數(shù)返回值和所有參數(shù)副本的數(shù)組 (包括通過(guò)引用傳遞時(shí), 該函數(shù)可能修改的參數(shù)).
$return[0] = 函數(shù)的返回值
$return[1] = 參數(shù) 1
$return[2] = 參數(shù) 2
...
$return[n] = 參數(shù) n

相 關(guān) 函 數(shù)

DllCall, DllCallbackFree, DllCallbackGetPtr, DllCallbackRegister, DllOpen, DllClose, DllStructCreate, DllStructGetPtr

函 數(shù) 示 例


#include <WinAPI.au3>
#include <Constants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>

Example()

Func Example()
    ; 啟用 GUI 事件模式.
    Opt("GUIOnEventMode", 1)

    ; 創(chuàng)建一個(gè)簡(jiǎn)單的 GUI.
    Local $hWnd = GUICreate("DllCallAddress 示例")

    ; 注冊(cè)關(guān)閉事件處理程序.
    GUISetOnEvent($GUI_EVENT_CLOSE, "OnClose")

    ; 顯示 GUI.
    GUISetState(@SW_SHOWNORMAL, $hWnd)

    ; 獲取窗口程序指針.
    Local $pWndProc = _WinAPI_GetWindowLong($hWnd, $GWL_WNDPROC)


    ; 提示用戶即將發(fā)生什么.
    MsgBox(4096, "DllCallAddress 示例消息", "當(dāng)您按下[ 確定 ], 測(cè)試窗口將關(guān)閉.")

    ; 生成一個(gè) WM_CLOSE 事件,并把它傳遞到 WindowProc().
    ; 這不應(yīng)該做成一個(gè)真正的應(yīng)用程序(使用 _SendMessage() 代替)
    ; 它只是演示如何使用 DllCallAddress 函數(shù).
    DllCallAddress("LRESULT", $pWndProc, "HWND", $hWnd, "UINT", $WM_CLOSE, "WPARAM", 0, "LPARAM", 0)
EndFunc   ;==>Example

Func OnClose()
    GUIDelete(@GUI_WinHandle)
    MsgBox(4096, "DllCallAddress 示例消息", "收到關(guān)閉事件, 現(xiàn)在測(cè)試窗口應(yīng)該已經(jīng)關(guān)閉了.")
EndFunc   ;==>OnClose

provider with jb51.net (unicode)