模块的:
Option Explicit
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public Const WM_PASTE = &H302
Private oldProc As Long
Function WndProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If uMsg = WM_PASTE Then
Exit Function
End If
WndProc = CallWindowProc(oldProc, hwnd, uMsg, wParam, lParam)
End Function
Public Function HookText(ByVal hwnd As Long) As Boolean
oldProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WndProc)
End Function
Public Function UnHookText(ByVal hwnd As Long) As Boolean
Call SetWindowLong(hwnd, GWL_WNDPROC, oldProc)
End Function
'form的
Private Sub Form_Load()
HookText Text1.hwnd
end sub
Private Sub Form_Unload(Cancel As Integer)
UnHookText Me.hwnd
End Sub