问题标签 [windows-messages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2394 浏览

delphi - TService 不会处理消息

我创建了一个使用 Windows 消息系统的 Windows 服务。当我从调试器测试应用程序时,消息很好地通过,但是当我安装它时,我的消息... 14 分钟前问

弗拉基米尔 1tuga

0 投票
2 回答
2918 浏览

windows - 正在寻找查看 Windows 消息的程序

我正在寻找一个程序来查看 Windows 消息

你能帮我吗?

0 投票
5 回答
15397 浏览

delphi - Delphi 自定义消息处理程序

当用户双击 dbgrid 时,我会显示一个非模态表单。

当他们关闭该表单时,我想刷新网格。

为此,我尝试了以下方法:

1 - 定义自定义消息常量:

2 - 在我的非模态表单的 OnClose 事件中,我有这个:

3 - 在包含 dbGrid 的表单的私有声明中,我有这个:

完成这些操作后,PostMessage 会正常触发,但 OnRefreshRequest 过程永远不会运行。我究竟做错了什么?

0 投票
2 回答
3230 浏览

mfc - WM_POWERBROADCAST 消息未在 MFC Dlg 中捕获

当系统进入睡眠模式时,我尝试捕捉 WM_POWERBROADCAST 消息。

我正在这样做:

它根本行不通。同时,一个 win32 应用程序工作得很好。我试图将消息处理程序放在 Dlg 类中是徒劳的。

我正在使用 VS6.0 构建应用程序。我哪里错了?

0 投票
3 回答
11678 浏览

windows - 鼠标单击是 WM_* 消息还是向上和向下消息的组合?

我习惯于使用 Windows 框架,该框架为鼠标单击或鼠标双击等事件提供事件。单击事件是 Windows 构造(即 Windows 是否发送 WM_DOUBLECLICK 或类似消息)还是将 WM_MOUSEDOWN 和 WM_MOUSEUP 发送到应用程序,然后应用程序进行一些数学运算来确定事件是单击还是其他?

0 投票
2 回答
734 浏览

c++ - 显示断言对话框时服务的 Windows 消息?

我有一个 MFC 应用程序,它产生许多不同的工作线程并用 VS2003 编译。

调用 CTreeCtrl::GetItemState() 时,我偶尔会弹出调试断言对话框。我假设这是因为我传递了一个无效项目的句柄,但这不是我最关心的问题。

我担心的是:从我的日志中,看起来 MFC 线程在显示断言对话框时继续为许多 Windows 消息提供服务。我认为断言对话框是模态的,所以我想知道这是否可能?

0 投票
1 回答
3271 浏览

windows - 调试 Windows 消息内容和目标的好方法是什么?

我正在开发一个基于其他行为模拟 Windows 鼠标的应用程序。一个例子是按下键盘上的 + 或 - 键将 WM_MOUSEWHEEL 消息发送到具有适当增量的目标窗口。问题是,在某些情况下,我很难复制我认为Windows 正在发送到目标应用程序的消息。有什么方法可以记录发送到特定窗口的 Windows 消息(希望使用过滤器来捕获我想要捕获的消息),然后稍后查看该数据?

0 投票
1 回答
16197 浏览

c# - 在 C# 中获取子窗口句柄

我在 C# 中启动一个进程,然后使用 SendMessage 将 Windows 消息发送到该进程。通常我将消息发送到 Process.MainWindowHandle,但在某些情况下,我可能需要找到一个子窗口句柄并在那里发送消息。我将如何在 C# 中执行此操作以及查找子窗口的选项有哪些(即是否需要知道窗口的名称或是否有其他选项)?

0 投票
4 回答
9005 浏览

winapi - Windows API:窗口保证接收的第一条消息是什么?

我一直认为 WM_CREATE 是窗口收到的第一条消息。然而,在顶层窗口上测试这个假设时,结果证明是错误的。在我的测试中,WM_MINMAXINFO 作为第一条消息出现。

那么,一个窗口保证接收的第一条消息是什么?

0 投票
2 回答
1603 浏览

windows - Delphi SDI 应用程序 - 不处理级联/平铺水平和垂直平铺?

我的应用程序似乎没有接收或处理特定 Windows 版本上的 Cascade、Tile Horizo​​ntal/Tile Vertical 的相同 Windows 消息。

Windows XP x32 - 不工作
Windows XP x64 - 未测试
Windows Vista x32 - 不工作
Windows Vista x64 -工作正常?
Windows 7 x32 - 未测试
Windows 7 x64 - 不工作

有人知道为什么会这样吗?有没有什么特定于 Vista x64 的东西与其他人不一样,我自己也不会这么想!

更新

更具体地说,我指的是当我打开一个或多个应用程序实例时,我按住 Ctrl 并从任务栏中选择这些实例,然后尝试级联/平铺。

在升级到 Delphi 2009 之前,我们的应用程序的旧版本似乎可以按预期工作。与此不同的是我们现在使用的是 DevExpress 功能区组件。更令人沮丧的是,我们有另一个版本的应用程序,它在 Delphi 2009 中并使用功能区,效果很好!