'Module1.bas
Вариант точный
Приватное Const WM_NCLBUTTONDBLCLK как длиной = &HA3&
Приватное Const HTCAPTION как длиной = &H2&
Приватное Const GWL_WNDPROC как длиной = (- 4)
Приватно объявите свободу «User32.dll» SetWindowLongA функции (hWnd ByVal как nIndex длиной, ByVal как dwNewLong длиной, ByVal как длиной) как длиной
Приватно объявите свободу «User32.dll» CallWindowProcA функции (lpPrevWndFunc ByVal как hWnd длиной, ByVal как длиной, Msg ByVal как wParam длиной, ByVal как lParam длиной, ByVal как длиной) как длиной
Приватное hWindow как длиной
Приватная функциональная как длиной
Общественное Sub Attatch (hWnd ByVal как длиной)
Если hWindow = 0 после этого
hWindow = hWnd
функционально = SetWindowLongA (hWindow, GWL_WNDPROC, AddressOf WndProc)
Закончитесь если
Закончите подводную лодку
Общественное Sub Detatch ()
Если hWindow <> 0 после этого
Звонок SetWindowLongA (hWindow, GWL_WNDPROC, функциональные)
hWindow = 0
Закончитесь если
Закончите подводную лодку
Общественная функция WndProc (hWnd ByVal как uMsg длиной, ByVal как wParam длиной, ByVal как lParam длиной, ByVal как длиной) как длиной
Если uMsg = WM_NCLBUTTONDBLCLK после этого
Если wParam = HTCAPTION после этого
'TODO: /что-то когда двойник щелкнул.
Щелкнутое двойное Debug.Print «: »; Время
Закончитесь если
Закончитесь если
WndProc = CallWindowProcA (функциональное, hWnd, uMsg, wParam, lParam)
Функция конца
'Form1
Вариант точный
Приватное Sub Form_Load ()
Attatch Me.hWnd
Подводная лодка конца
Приватное Sub Form_QueryUnload (Cancel как интежер, UnloadMode как интежер)
Detatch
Подводная лодка конца
|