问题标签 [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.
c# - 当我用任务管理器杀死我的程序时收到什么消息
所以我有一个 C++ dll,我在我的 c# 应用程序中使用它来监视 Windows 消息。我想知道是否发送了 WM_CLOSE 和 WM_QUERYENDSESSION,因为我无法从 C# 应用程序中看到它。如果我收到其中一条消息,我想对我的文件进行一些清理,但问题是当我用 TM 杀死它时,这些功能不起作用。似乎我没有收到消息。我认为问题在于任务管理器向 C# 应用程序而不是 C++ dll 发送消息。
一些代码:
C++:
C#:
delphi - 鼠标输入/离开消息不起作用?
我正在尝试检测鼠标输入/离开消息CM_MOUSEENTER
,CM_MOUSELEAVE
但它没有捕捉到它。我在这里做错了什么?
delphi - 如何识别显示器的数量、位置或分辨率何时发生变化?
我正在构建一些需要检测监视器配置何时发生变化的东西。这包括添加/移除监视器、移动监视器位置(与主屏幕相比)或监视器分辨率发生变化时。最理想的方法是捕获一些 Windows 消息(如果有),这些消息在此类事件发生时触发。此信息将用于在任何给定时间实时记录显示器尺寸/位置。例如,当显示器的分辨率增加时,我的应用程序会立即捕捉到这一点并进行自己的调整以适应变化。我如何捕捉这些事件?
我还试图避免使用 VCL(例如Vcl.Forms.Screen.MonitorCount
),这就是为什么我更喜欢捕获 Windows 消息。
c++ - WM_COMMAND 未传递到主窗口
我想在静态控件 (WC_STATIC) 上放置一个编辑控件 (WC_EDIT)。不幸的是,当我这样做时,我没有从 windows 回调函数中的编辑控件收到任何 WM_COMMAND 消息。是否有可能告诉静态控件将这些消息转发给它的父级?
非常感谢您的帮助!
winforms - 父窗口没有收到窗口的消息(关键事件)
我有一个使用 win API 编写的 GUI 应用程序,当用户选择一些命令菜单项时,我们需要启动一个新的 GUI 应用程序。我们决定用 PyQt 编写新的应用程序并使用 Python C Api 启动 PyQt 应用程序。
一切正常,除了我们启动 PyQt 应用程序的父窗口在 PyQt 应用程序打开时没有响应某些事件。一旦我们关闭 PyQt 应用程序,它就会再次开始响应关键事件。
我猜,一旦 PyQt Gui 应用程序启动,消息就不会以某种方式传递到父窗口。
使用 Spy++ 检查我发现以下结果:
任何解决此问题的想法将不胜感激
c# - 使用 PostMessage/SendMessage 将密钥发送到 c# IE WebBrowser
我正在尝试在 C# webbrowser 控件和选项卡中自动填充值,然后输入并向上和向下按以在字段中移动。
这是我的 PInvoke 和包装函数。我使用 Spy++ 在 Internet Explorer 中获取这些内容。有人看到我的定义有什么问题吗?我想使用 Send and Post 消息而不是 SendInput 因为我不想聚焦窗口...
vb.net - VB.NET 将 Alt+Window+Drag 合并到 Form
我知道如果我不使用网络浏览器来填写我的表格,这会起作用。
但是,我找到了一个具有 Linux Alt+Drag 窗口功能的 Windows 程序,称为AltWindowDrag我知道我可以使用 Process.Start 来运行程序,如下所示......
然而,这个问题是当我关闭我的应用程序时,AltWindowDrag 仍在运行。无论如何,当我的表单关闭时,我可以关闭 AltWindowDrag 吗?
任何帮助将不胜感激。
编辑!
另一个论坛上的一个家伙帮助我解决了这个问题,所以对于遇到同样问题的其他人来说。这是代码。
windows - 在模态对话框/打开主菜单期间继续渲染 3D 窗口?
(我使用 Ogre3D 进行渲染,但问题应该是通用的。)
问题:大多数 3D 应用程序使用一个循环来迭代渲染帧并检查消息并处理它们。但是,如果打开一个对话框(MessageBox 或类似的),它会阻止线程的执行并运行它自己的消息循环,但它显然不会调用其中的 3D 渲染函数。
即使打开对话框,保持渲染 3D 场景的首选或“最佳”方式是什么?普通应用程序不会遇到这个问题,因为它们的重新渲染由 WM_PAINT 消息和类似消息处理,并且由于模式对话框确实具有内部消息循环,因此在需要时调用窗口 proc get 并且一切看起来都很好。然而,在我的 3D 项目中,“当需要时”一直是,因为窗口必须更新,即使没有 WM_PAINT 消息。
想到的简单解决方案是在对话框打开时注册一个计时器,并从 WindowProc 渲染 3D 场景,但这真的是最好的吗?好像很脏...
mfc - MFC 按钮工具提示在按钮单击后不显示
我正在使用 MFC CToolTipCtrl 为按钮创建工具提示。现在我在 Windows XP 中运行应用程序时遇到问题。当我将鼠标放在按钮上时,会弹出工具提示,但单击按钮后没有显示工具提示。在 windows 7 中没有这样的问题。我使用以下代码创建工具提示
c# - windows vista 及更高版本的任务栏右键单击应用程序上下文菜单
我需要知道 C# 中 windows vista 和更高版本的任务栏右键单击应用程序上下文菜单的代码。对于旧版本的 Windows,此代码为 0x313。在 vista 及更高版本中,此代码意味着 shift + 右键单击。我只能在任务栏的应用程序上下文菜单中找到右键单击的代码。