确定直线上的高亮像素
#Include <WinAPIEx.au3>
_WinAPI_LineDDA ( $X1, $Y1, $X2, $Y2, $pLineProc [, $pData] )
| $X1 | 直线起点的逻辑单位x坐标 | 
| $Y1 | 直线起点的逻辑单位y坐标 | 
| $X2 | 直线终点的逻辑单位x坐标 | 
| $Y2 | 直线终点的逻辑单位y坐标 | 
| $pLineProc | 预定义回调函数的指针 | 
| $pData | [可选参数] 应用程序定义的数据的指针 | 
| 成功: | 返回 1 | 
| 失败: | 返回 0设置@error 非0 | 
在MSDN中搜索
#Include <APIConstants.au3>
#Include <WinAPIEx.au3>
Opt('MustDeclareVars', 1)
Global Const $STM_SETIMAGE = 0x0172
Global Const $STM_GETIMAGE = 0x0173
Global $hForm, $Pic, $hPic, $hObj, $hBitmap, $hPen, $hDC, $hMemDC, $hMemSv, $Count = 0, $Color = True
Global $hLineProc = DllCallbackRegister('_LineProc', 'none', 'int;int;lparam')
Global $pLineProc = DllCallBackGetPtr($hLineProc)
; 创建 GUI
$hForm = GUICreate('MyGUI', 280, 280)
$Pic = GUICtrlCreatePic('', 0, 0, 281, 281)
$hPic = GUICtrlGetHandle($Pic)
; 创建位图
$hDC = _WinAPI_GetDC($hPic)
$hMemDC = _WinAPI_CreateCompatibleDC($hDC)
$hBitmap = _WinAPI_CreateCompatibleBitmapEx($hDC, 280, 280, _WinAPI_SwitchColor(_WinAPI_GetSysColor($COLOR_3DFACE)))
$hMemSv = _WinAPI_SelectObject($hMemDC, $hBitmap)
_WinAPI_LineDDA(40, 40, 240, 40, $pLineProc, $hMemDC)
_WinAPI_LineDDA(240, 40, 240, 240, $pLineProc, $hMemDC)
_WinAPI_LineDDA(240, 240, 40, 240, $pLineProc, $hMemDC)
_WinAPI_LineDDA(40, 240, 40, 40, $pLineProc, $hMemDC)
_WinAPI_ReleaseDC($hPic, $hDC)
_WinAPI_SelectObject($hMemDC, $hMemSv)
_WinAPI_DeleteDC($hMemDC)
; 设置位图到控件
_SendMessage($hPic, $STM_SETIMAGE, 0, $hBitmap)
$hObj = _SendMessage($hPic, $STM_GETIMAGE)
If $hObj <> $hBitmap Then
    _WinAPI_DeleteObject($hBitmap)
EndIf
GUISetState()
Do
Until GUIGetMsg() = -3
DllCallbackFree($hLineProc)
Func _LineProc($iX, $iY, $hDC)
    If Not Mod($Count, 10) Then
        $Color = Not $Color
    EndIf
    If $Color Then
        _WinAPI_SetPixel($hDC, $iX, $iY, 0xFF0000)
    Else
        _WinAPI_SetPixel($hDC, $iX, $iY, 0xFFFFFF)
    EndIf
    $Count += 1
EndFunc   ;==>_LineProc