vb sendmessage hwnd,&H4A,0,datastruct
没一次是成功的 对任何窗体都没效Private Declare Function SendMessageAny Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As Long
End Type
Dim DataStruct As COPYDATASTRUCT
Const WM_COPYDATA = &H4A
Dim a As Stringa = "3214"DataStruct.cbData = LenB(a) //len(a) //len(a)+1 什么都试过了
DataStruct.dwData = 0
DataStruct.lpData = VarPtr(a) //strptr(a)也试过了SendMessageAny hwnd, WM_COPYDATA, 0, DataStruct     //hwnd 我会取句柄的 整理不写代码

解决方案 »

  1.   

    可以使用PostMessage替代,效果一样:
    '将一个字符串通过PostMessage传送出去
    Public Sub subPostString(ByVal strP As String)
      Dim intP As Integer
      Dim intK As Integer
      Dim lngAsc As Long
      Dim lngP As Long
      Dim strT As String
    On Error GoTo errSub
      Debug.Print strP
      For intP = 0 To Len(strP) - 1
      strT = Mid(strP, intP + 1, 1)
      If Asc(strT) <= 0 Then
      lngAsc = AscW(StrConv(strT, 128))
      If lngAsc < 0 Then
      lngAsc = lngAsc + 65536 '2^16
      End If
      Else
      lngAsc = Asc(strT)
      End If
      lngP = PostMessage(lngHandle, WM_CHAR, lngAsc, 0)
      Next intP
      Exit Sub
    errSub:End Sub
      

  2.   

    楼上高人 我爱你啊 知道为什么网上 csdn里的sendmessage教的为什么不行 你太伟大了