Quantcast
Channel: VBForums - API
Viewing all articles
Browse latest Browse all 168

[VB6] - about sendmessage() api function

$
0
0
Code:

Option Explicit


Private PrevWin2 As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal HWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
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
Private Const GWL_WNDPROC = (-4)
Public UsercontrolHandle As Long
Private Const WM_PAINT = &HF
Private Const WM_KEYDOWN = &H100
Private Const WM_CLOSE = &H10
Private Const WM_DESTROY = &H2


Private Function Proc2(ByVal HWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   
   
   
    If Msg = WM_PAINT Then
       
       
        SendMessage HWnd, WM_KEYDOWN, 1000, 0
        'Debug.Print "hi"
       
    ElseIf Msg = WM_DESTROY Then
        Unhook2 HWnd
    End If
       
    Proc2 = CallWindowProc(PrevWin2, HWnd, Msg, wParam, lParam)
End Function

Public Sub Hook2(Handle As Long)
    If PrevWin2 = 0 Then
        PrevWin2 = SetWindowLong(Handle, GWL_WNDPROC, AddressOf Proc2)
    End If
End Sub

Public Sub Unhook2(Handle As Long)
    If PrevWin2 Then
        Call SetWindowLong(Handle, GWL_WNDPROC, PrevWin2)
        PrevWin2 = 0
    End If
End Sub

why sendmessage() crashes my VB6?(instead use the sendmessage(), i use the debug, the VB6 don't crashes)

Viewing all articles
Browse latest Browse all 168

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>