按鍵精靈

取窗口句柄
Global DDO, WX1, WX2, WY1, WY2, X, Y,  Mouse1, Mouse2, Mouse3,   ZhuXian, Speed, i, j,  m, n, p
DDO = Plugin.Window.Foreground()    //獲得當前窗口(DDO)的句柄
sRect = Plugin.Window.GetClientRect(DDO)  //獲得DDO窗口客戶區的大小
MyArray = Split(sRect, "|")   //分割窗口大小的字符串
WX1 = Clng(MyArray(0)): WY1 = Clng(MyArray(1))  //將分割的字符串分別賦值給變量
WX2 = Clng(MyArray(2)) : WY2 = Clng(MyArray(3))
X = WX2 / 2 + WX1    //獲得DDO窗口客戶區橫向中心點座標
Y = WY2 / 2 + WY1//獲得DDO窗口客戶區縱向中心點座標
MessageBox  "x1["& WX1 &"]y1["& WY1 &"]| x2["& WX2 &"]y2["& WY2 &"]"

畫準星
Declare Function 取設備句柄 Lib "user32" Alias "GetWindowDC" (ByVal hwnd As Long) As Long
Declare Function 建立畫筆對象 Lib "gdi32" Alias "CreatePen" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Declare Function 選入場景 Lib "gdi32.dll" Alias "SelectObject" (ByVal hwnd As Long,ByVal hwnd As Long) As Long
Declare Function 指定畫筆位置 Lib "gdi32" Alias "MoveToEx" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal x As Long) As Long
Declare Function 畫直線 Lib "gdi32" Alias "LineTo" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Declare Function 刪除對象 Lib "gdi32" Alias "DeleteObject" (ByVal hObject As Long) As Long
//取設備句柄(窗口句柄)[返回設備句柄,整數型]
//建立畫筆對象(類型,寬度,顏色)[返回對象句柄]
//選人場景(設備句柄,場景句柄)
//指定畫筆位置(設備句柄,X,Y,座標結購)
//畫直線(設備句柄,終點X,終點Y)
//刪除對象(對象句柄)
寬度 = Plugin.Sys.GetScRX()//此例程爲在桌面屏幕畫準心,因此取的是屏幕分辯率
高度 = Plugin.Sys.GetScRY()
設備句柄 = 取設備句柄(0)//窗口句柄爲0時,取屏幕設備句柄,如在指定窗口畫就填寫窗口句柄
對象句柄 = 建立畫筆對象(1, 2, 255)//參數1爲類型,參數2爲線條粗細,參數3爲10進制的顏色值(255是紅色)
TracePrint  選入場景(設備句柄, 對象句柄)//此操做至關於windows畫圖時鼠標選擇了畫筆按鈕。
TracePrint  指定畫筆位置(設備句柄,寬度\2-50,高度\2,0)//座標結構不要使用,按鍵不支持此數據類型
TracePrint 畫直線(設備句柄, 寬度 \ 2 + 50, 高度 \ 2)//畫橫線
TracePrint  指定畫筆位置(設備句柄,寬度\2,高度\2-50,0)//座標結構不要使用,按鍵不支持此數據類型
TracePrint 畫直線(設備句柄, 寬度 \ 2, 高度 \ 2 + 50)//畫豎線
TracePrint 刪除對象(對象句柄)'畫完之後記得釋放對象,若是須要一直畫就不要釋放,循環重複以上4行


相關文章
相關標籤/搜索