
c# sendmessage 发送消息和接收消息
上代码[DllImport("user32.dll",EntryPoint="SendMessageA")]publicstaticexternintSendMessag...
上代码
[DllImport("user32.dll", EntryPoint = "SendMessageA")]
public static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, StringBuilder lParam);
IntPtr hwnd = FindWindow(null, "test窗口");
if (hwnd != IntPtr.Zero)
{
const int buffer_size = 1024;
StringBuilder buffer = new StringBuilder(buffer_size);
SendMessage(TextHdle, WM_COPYDATA, buffer_size, buffer);
MessageBox.Show(buffer.ToString());
}
这一个窗口程序中一段代码使用API SendMessage给另一个指定窗口送消息,我现在想在SendMessage中的lParam(就是StringBuilder 类型的参数)在另一个程序中使用DefWndProc 接后如何返回给 SendMessage
protected override void DefWndProc(ref Message m)
{
base.DefWndProc(ref m);
if (m.Msg == WM_COPYDATA)
{
//如何处理m.LParam 并返给 SendMessage
}
} 展开
[DllImport("user32.dll", EntryPoint = "SendMessageA")]
public static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, StringBuilder lParam);
IntPtr hwnd = FindWindow(null, "test窗口");
if (hwnd != IntPtr.Zero)
{
const int buffer_size = 1024;
StringBuilder buffer = new StringBuilder(buffer_size);
SendMessage(TextHdle, WM_COPYDATA, buffer_size, buffer);
MessageBox.Show(buffer.ToString());
}
这一个窗口程序中一段代码使用API SendMessage给另一个指定窗口送消息,我现在想在SendMessage中的lParam(就是StringBuilder 类型的参数)在另一个程序中使用DefWndProc 接后如何返回给 SendMessage
protected override void DefWndProc(ref Message m)
{
base.DefWndProc(ref m);
if (m.Msg == WM_COPYDATA)
{
//如何处理m.LParam 并返给 SendMessage
}
} 展开
1个回答
展开全部
可选用其他方法实现进程间通信,比如socket,wcf之类
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询