可以 用SendMessage(hwnd,WM_COPYDATA,...),参数请看MSDN。

解决方案 »

  1.   

    可不可以详细一点呢?  api实在是难得很
      

  2.   

    教你用postmessage把messagebox里面的东西发到任何可以发的地方先拷贝下面程序到模块里Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        Public Const WM_KEYDOWN = &H100
        Public Const WM_KEYUP = &H101
        Public Const WM_CHAR = &H102Sub SendText(hWnd As Long, Text As String)
        If hWnd = 0 Then MsgBox "no hWnd supplied": Exit Sub
       
        Dim zwParam As Long
        Dim zlParam As Long
        Dim xwParam As Long
        For I = 1 To Len(Text)
           
            zwParam = GetVKCode(Mid$(Text, I, 1))
            xwParam = zwParam And &H20
            zlParam = GetScanCode(Mid$(Text, I, 1))
            PostMessage hWnd, WM_KEYDOWN, zwParam, zlParam
            
                DoEvents
            Next
        End Sub
    Function GetVKCode(ByVal Char As String) As Long
        On Error Resume Next
        Char = UCase(Left$(Char, 1))
        GetVKCode = Asc(Char)
    End Function
    Function GetScanCode(bChar As String) As Long
          Select Case LCase$(Left$(bChar, 1))
            Case "a"
            GetScanCode = &H1E0001
            Case "b"
            GetScanCode = &H300001
            Case "c"
            GetScanCode = &H2E0001
            Case "d"
            GetScanCode = &H200001
            Case "e"
            GetScanCode = &H120001
            Case "f"
            GetScanCode = &H210001
            Case "g"
            GetScanCode = &H220001
            Case "h"
            GetScanCode = &H230001
            Case "i"
            GetScanCode = &H170001
            Case "j"
            GetScanCode = &H240001
            Case "k"
            GetScanCode = &H250001
            Case "l"
            GetScanCode = &H260001
            Case "m"
            GetScanCode = &H320001
            Case "n"
            GetScanCode = &H310001
            Case "o"
            GetScanCode = &H180001
            Case "p"
            GetScanCode = &H190001
            Case "q"
            GetScanCode = &H100001
            Case "r"
            GetScanCode = &H130001
            Case "s"
            GetScanCode = &H1F0001
            Case "t"
            GetScanCode = &H140001
            Case "u"
            GetScanCode = &H160001
            Case "v"
            GetScanCode = &H2F0001
            Case "w"
            GetScanCode = &H110001
            Case "x"
            GetScanCode = &H2D0001
            Case "y"
            GetScanCode = &H150001
            Case "z"
            GetScanCode = &H2C0001
            Case Else
            GetScanCode = 0
        End Select
    End Function
    好了下面就是简单了, 放一个command.在command下面写
    SendText 222, "boy..."
    End Sub
    222就handle of destination , 每个窗口,每个窗口里面的控件都有不同的handle值.所以222只是我自己随便取的
      

  3.   


        Public Const WM_KEYDOWN = &H100
        Public Const WM_KEYUP = &H101
        Public Const WM_CHAR = &H102
    出现红色
      

  4.   


      出现红色是因为你把它放在窗体模块中了,要放在一般模块中,或改用Private.
      至于接受,我忘了放在哪了,再找找吧,一般用
    Declare Function GetMessage Lib "user32" Alias "GetMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long) As Long
     就可以了.