IMessageFilter接口截取不到系统消息

「已注销」 2017-10-23 11:30:00
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
public partial class Form1 : Form,IMessageFilter
{
public Form1()
{
InitializeComponent();
}

public bool PreFilterMessage(ref Message m)
{
MessageBox.Show("ufvb");
switch (m.Msg)
{
case 513: //513代表windo向窗体发送的单击鼠标左键的消息值
MessageBox.Show("单击了鼠标左键");
m.Result = (IntPtr)0;
return true;
break;
case 516:
MessageBox.Show("单击了鼠标右键");
m.Result = (IntPtr)0;
return true;
break;
case 514:
MessageBox.Show("uuu");
m.Result = (IntPtr)0;
return true;
break;
case 515:
MessageBox.Show("vvv");
m.Result = (IntPtr)0;
return true;
break;
default:
base.WndProc(ref m); //其他操作交由基础类进行默认处理
MessageBox.Show("mmmmmm");
return false;
break;
}
}
}
}
所有显示窗口都没有弹出,可见PreFilterMessage消息过滤整段代码都没运行,是还需要设置什么吗?
...全文
361 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 2017-10-23
  • 打赏
  • 举报
回复
Application.AddMessageFilter(this);
public Form1()
        {
            InitializeComponent();
            Application.AddMessageFilter(this);
        }
「已注销」 2017-10-23
  • 打赏
  • 举报
回复
坐等大大大大大大神
「已注销」 2017-10-23
  • 打赏
  • 举报
回复
别沉,有大神吗?我鼠标左右键都没截取,在窗口还是在桌面都没反应,
正怒月神 2017-10-23
  • 打赏
  • 举报
回复
引用 5 楼 qq_38701780 的回复:
这里试试了一下,可以截取点击程序的鼠标消息,但是不能截取桌面消息,去网上查了下资料,发现截取桌面要截取progman窗口,请教一下版主怎么截取呢?
截取桌面上的事件,我只知道使用钩子hook。
「已注销」 2017-10-23
  • 打赏
  • 举报
回复
引用 4 楼 qq_38701780 的回复:
[quote=引用 3 楼 hanjun0612 的回复:] Application.AddMessageFilter(this);
public Form1()
        {
            InitializeComponent();
            Application.AddMessageFilter(this);
        }
谢谢版主,完美解决问题[/quote] 这里试试了一下,可以截取点击程序的鼠标消息,但是不能截取桌面消息,去网上查了下资料,发现截取桌面要截取progman窗口,请教一下版主怎么截取呢?
「已注销」 2017-10-23
  • 打赏
  • 举报
回复
引用 3 楼 hanjun0612 的回复:
Application.AddMessageFilter(this);
public Form1()
        {
            InitializeComponent();
            Application.AddMessageFilter(this);
        }
谢谢版主,完美解决问题
内容概要:本文围绕“基于启发式算法的深度神经网络卸载策略研究”,系统探讨了多种改进粒子群优化(PSO)算法在边缘计算环境下的应用与性能对比。研究聚焦于深度神经网络(DNN)任务在资源受限边缘设备中的计算卸载问题,采用Matlab实现了自适应权重PSO、混合遗传PSO、模拟退火PSO以及多目标PSO等多种优化算法,并从收敛速度、全局搜索能力、稳定性及复杂场景适应性等多个维度进行综合评估。文章深入剖析了传统PSO算法在任务卸载中存在的早熟收敛与局部最优陷阱等问题,提出了面向不同网络负载、设备异构性和服务质量(QoS)需求的算法选型策略,旨在实现任务延迟最小化、能耗降低与系统资源利用率最大化。此外,研究还提供了完整的仿真框架与实验数据分析,为后续算法优化与工程部署奠定基础。; 适合人群:具备一定Matlab编程基础和优化算法理论知识,从事边缘计算、深度学习模型部署、智能优化算法研究或物联网系统设计等相关领域的研究生、科研人员及工程技术开发者。; 使用场景及目标:①为边缘计算环境中DNN任务的高效卸载提供算法性能基准与选型依据;②对比分析不同启发式优化策略在复杂多目标调度问题中的表现差异,辅助科研与工程实践中算法的设计与改进;③借助Matlab代码实现,支持算法复现、参数调优及在新型边缘场景下的扩展应用。; 阅读建议:建议读者结合文中提供的Matlab代码,深入理解各改进PSO算法的核心机制与实现细节,重点关注不同改进策略对算法收敛行为和优化效果的影响,并尝试在多样化的仿真条件下(如动态网络状态、异构计算节点)验证其鲁棒性与适应性。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧