WPF 消息响应机制遇到了问题

问题描述

界面:<GridHorizontalAlignment="Left"Width="500"Height="400"VerticalAlignment="Bottom"Background="LightGray"><WindowsFormsHostName="wfh_Monitor1"><wf:PanelName="panel_Monitor1"></wf:Panel></WindowsFormsHost>我在WPF界面中引入了Form的panel来显示播放视频,播放函数调用的是C++dll封装好的函数现在问题是,C++封装好的函数发送了一个消息,这个消息含参数LParam,含义为当前播放时间我怎么去接收这个消息,响应这个消息,获取当前的播放时间

解决方案

解决方案二:
用这个Panel来播放视频,那么播放视频函数发送的消息该怎么接收呢,跪求大牛
解决方案三:
自己来解释一下吧1.WindowsAPI钩子  WPF的窗体并没有Winform中的Handle,所以在使用API时并不能直接使用设置或者移除钩子。要想使用API的SetWindowsHookEx,UnhookWindowsHookEx,CallNextHookEx可以首先使用WindowInteropHelper得到Handle。  2.WPFHwndSource  WPF提供的HwndSource可以使你更快的实现处理Windows消息。通过HwndSource.FromVisual得到的HwndSource可以添加(AddHook)移除(Remove)Hook。HwndSource有一定的局限性,如果你的WPF应用中包含Winform控件那你可能要有些失望了,这种方式不能接收到这类消息。  3.ComponentDispatcher  在互操作方案中,启用Win32与WPF之间的消息泵的共享控件,使用ComponentDispatcher的ThreadFilterMessage等事件可以更好的处理Windows消息。使用这种方式可以避免HwndSource的缺陷。  总结:WPF也有多种方式处理Windows消息,但各种方式各有特点:API方式功能最强能实现系统级的消息处理,ComponentDispatcher次之,HwndSource相对较弱。
解决方案四:
不太懂你说的,就算C++写的,你不可以引用过来么?或是import,它的消息发送给你,应该有event。没有event,那它得告诉你你知道Hookwnd时的msg类型和LParam的结构。
解决方案五:
重载这个函数。protectedoverridevoidWndProc(refMessagem){}自己是反对使用wpf,ling人士之一。所以意见公供参考。
解决方案六:
wpf中没有WndProc这个函数,所以无法重载
解决方案七:
同求这个问题啊,发帖也没人回答。会的大神,帮忙解答下吧

时间: 2024-09-12 01:34:04

WPF 消息响应机制遇到了问题的相关文章

Mfc资源消息的响应机制

Mfc消息的响应机制   Mfc中有很多资源,如图标资源,菜单资源,工具栏资源等等:那么,资源是如何进行消息响应和消息映射的呢? 它们的流程是: 某种资源--对应的ID号--消息映射--响应函数的声明与实现 下面我们以工具栏的资源响应为例:(多文档的应用程序) 1.       在工具栏资源增加一个图标(随便画一下),双击它,设置它的资源ID为:ID_MYICON 2.       在View类的.cpp文件中添加消息映射: 找到BEGIN_MESSAGE_MAP()与END_MESSAGE_M

为duilib的MenuDemo增加消息响应,优化代码和显示效果

转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/38253297 第一部分         我在前一段时间研究了怎么制作duilib的菜单,花了几天时间以MenuDemo为基础做出个duilib的菜单以备自用,近些天在群里经常会碰到群友问如何给MenuDemo增加消息响应,为了避免重复的回答我特意写这篇日志,希望可以帮到需要之人,同时也介绍了如何美化菜单的效果.动态修改自身的状态以及通过增加属性来优化菜单的xml文件编写

孙鑫VC++讲座笔记-(4)MFC消息映射机制的剖析

孙鑫VC++讲座笔记-(4)MFC消息映射机制的剖析 一,消息映射机制 1,消息响应函数:(例:在CDrawView类响应鼠标左键按下消息) 1)在头文件(DrawView.h)中声明消息响应函数原型. //{{AFX_MSG(CDrawView) //注释宏 afx_msg void OnLButtonDown(UINT nFlags, CPoint point); //}}AFX_MSG //注释宏 说明: 在注释宏之间的声明在VC中灰色显示.afx_msg宏表示声明的是一个消息响应函数.

ActiveMQ的几种消息持久化机制

为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制. ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,无论使用哪种持久化方式,消息的存储逻辑都是一致的. 就是在发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件.内存数据库或者远程数据库等,然后试图将消息发送给接收者,发送成功则将消息从存储中删除,失败则继续尝试. 消息中心启动以后首先要检查指定的存储位置,如果有未发送成功的消息,则需要把消息发送出去. >>

使用ASP.NET MVC 4 Async Action+jQuery实现消息通知机制的实现代码_实用技巧

这两天在使用Asp.net MVC 4开发COMET消息通知机制,在后端使用异步线程对消息进行订阅,客户端通过AJAX长连接请求MVC中的ACTION,如:http://localhost/event/imageSet,即表示获取ImageSet对象的变更消息(新增,更新和删除消息). 1.事件消息的类IEventEntity<TEntity>类的定义 复制代码 代码如下: public interface IEntityEvent<TEntity>    {        //变

mfc-一个有关于MFC消息触发机制的探讨问题

问题描述 一个有关于MFC消息触发机制的探讨问题 MFC调用OnSize触发消息是什么意思,这个触发是哪里的触发,能不能通过编程不让它触发,具体怎么做,谢谢 解决方案 你可以通过subclass吃掉这个消息,方法是调用SetWindowLong,挂钩你的消息处理函数,然后在里面判断wm_size 解决方案二: MFC 消息机制问题 解决方案三: The framework calls this member function after the window's size has changed

c++-C++ 6.0关于函数的消息映射机制的发问

问题描述 C++ 6.0关于函数的消息映射机制的发问 看了一些文章介绍,C++ 6.0的消息映射以后,函数接收到消息处理以后就返回系统控制权了,但是能得到当前消息的上一个消息么?我想知道这个消息是否执行过了 解决方案 http://blog.csdn.net/hxh129/article/details/9313897

PHP的消息通信机制测试实例_php技巧

本文实例讲述了PHP的消息通信机制.分享给大家供大家参考,具体如下: <?php error_reporting(E_ALL&~E_WARNING&~E_NOTICE); /** * Example for sending and receiving Messages via the System V Message Queue * * To try this script run it synchron/asynchron twice times. One time with ?t

在MFC主窗口添加按钮和消息响应

问题描述 在MFC主窗口添加按钮和消息响应 我希望能在mfc主窗口上添加按钮和其详细响应,按钮载入icon位图,注意不是在对话框和工具栏上,希望能给出详细的例子 解决方案 不知道你的主窗口是什么,如果是sdi/mdi应用程序,最简单的是用向导创建程序,最后一部,让你的view从CFormView继承. 这样会产生一个对话框资源,你直接往里面摆控件,就可以加载在界面上了. 至于按钮插入位图,可以通过重绘实现. 解决方案二: mfc主窗口指的是窗体上还是主客户区,后者直接按照一楼的做也是可以的,要是