WPF 如何接收C++动态库的消息

我在C++开发的动态库中post了几个消息,需要在WPF开发的程序中接收并解析他们,大神们,有什么办法?最好有具体的例子,我是新手,多多指教,谢谢!

PostMessage(HWND_BROADCAST, WM_CONNSUCC, 0, 0);

PostMessage(HWND_BROADCAST, WM_CONNFAIL, 0, 0);

PostMessage(HWND_BROADCAST, WM_VEHDATA, VD[tmpcCurrVeh].LaneID, tmpcCurrVeh);

2个回答

qq_27610961
qq_27610961 现在还是收不到消息
一年多之前 回复
qq_27610961
qq_27610961 大神,能解释一下这个方法吗? protected override void OnSourceInitialized(EventArgs e) { base.OnSourceInitialized(e); HwndSource source = PresentationSource.FromVisual(this) as HwndSource; source.AddHook(WndProc); }
一年多之前 回复

private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
if (msg == WM_CONNSUCC)
...
if (msg == WM_CONNFAIL)
...
return IntPtr.Zero;
}

至于WM_CONNSUCC等的值,这个好像是自己定义的,你换成你实际的就可以。

qq_27610961
qq_27610961 回复caozhy: 好的,我明白了,谢谢大神,已经采纳
一年多之前 回复
qq_42721283
qq_42721283 厉害了
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_27610961: 而且不知道你有没有写过原生的windows sdk程序,所有的程序,消息都是这么全部走一遍,用switch case判断的。除非你放弃windows
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_27610961: 没有。相比较cpu的速度,这些消息并不多。
一年多之前 回复
qq_27610961
qq_27610961 回复caozhy: 这个我明白,但是这样会不会有不良影响啊,这么多系统消息都得走一遍这个方法
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_27610961: 是的,你断点打在 if 里面
一年多之前 回复
qq_27610961
qq_27610961 回复caozhy: 这样做的话是不是把所有的系统消息都收进来了?我打断点发现非常频繁的进这个方法
一年多之前 回复
qq_42720164
qq_42720164 虽然不知道是干啥的,但是感觉很高深的样子0 0
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_27610961: 这是wpf的啊,你再看看
一年多之前 回复
qq_27610961
qq_27610961 你说的应该是WinForm,WPF并不能重写WndProc吧
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问