Хорошо, эта проблема давно меня прослушивала.VB.NET Отправка строк через сообщение
У меня есть код для службы, которая обменивается данными строки клиента через PostMessage:
Public Sub SendToClient(msgs As String, types As Integer, hwnd As Long)
postMessage(hwnd, 0, Nothing, msgs)
End Sub
Тогда у меня есть клиент, который принимает строку:
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If (m.Msg = 0) Then
Dim a as string
a = Marshal.PtrToStringAuto(m.LParam)
end if
MyBase.WndProc(m)
End Sub
Однако, клиент посылает ошибка, или некоторые беспорядки двоичных данных или даже просто пустая строка иногда. Кстати, m.LParam - это число.
Может ли кто-нибудь сказать мне, что является правильным способом отправки/получения строк через postmessage.
Я получаю "Ошибка при создании дескриптора окна. У вас есть более простой код? – user2444615
Это простейший код для sendMEssage, вы должны объявить структуру COPYDATASTRUCT и объявить все константы. Где вы получаете ошибку? Вы должны быть уверены, что здесь: hWnd = CType (FindWindow (Nothing, NombreVentana), IntPtr), ваш hWnd имеет значение. Вы должны найти окна с помощью NombreVentana, что означает «WindowName» –
Благодарим за код. Это сработало! – user2444615