windows-messages相关内容
当系统进入睡眠模式时,我尝试捕捉 WM_POWERBROADCAST 消息. 我正在这样做: BOOL CPowManApp::PreTranslateMessage(MSG* pMsg){if(pMsg->message == WM_POWERBROADCAST || pMsg->message == WM_POWER){CString 字符串消息;strMessage.Format(_
..
我创建了继承CWinApp的类,这个类有一个定时器(使用窗口定时器). 当 PC 进入睡眠模式并唤醒时,定时器回调称为唤醒的确切时间.当PC从挂起恢复时,我想不调用定时器回调. 所以我尝试使用 WM_POWERBROADCAST 消息.但是此消息没有在 PreTranslateMessage() API 中捕获.我也尝试了 SetWindowLong() 与我自己的 API,但仍然没有
..
当我禁用桌面合成时,每当我将鼠标悬停在选项卡上时,我都会闪烁/闪烁.这仅在禁用桌面合成时发生.我试图取消 WM_ERASEBKGND 消息,但它不能解决问题.这个问题的解决方法是什么? 这是我尝试用于 MASM 选项卡控件的示例. http:///www.dreamincode.net/forums/index.php?app=core&module=attach§ion=at
..
(我使用 Ogre3D 进行渲染,但问题应该是通用的.) 问题:大多数 3D 应用程序使用循环来迭代渲染帧并检查消息并处理它们.但是如果打开一个对话框(MessageBox 或类似的),它会阻塞线程的执行并运行它自己的消息循环,但它显然不会调用其中的 3D 渲染函数. 即使在对话框打开时保持渲染 3D 场景的首选或“最佳"方式是什么?普通应用程序不会遇到这个问题,因为它们的重新渲染是由
..
在 Visual Studio 上使用 Spy++ 工具我可以看到像桌面或资源管理器(文件资源管理器)这样的窗口接收 WM_ 消息,但像 Firefox 或 Visual Studio 这样的窗口不接收消息. 为什么有的能收到消息,有的不能. (通过 WM_ 消息,我指的是诸如 WM_MOUSELEAVE 或 WM_SETCURSOR) 解决方案 Spy++ 需要注入一个钩子来
..
我需要拦截 TEdit 组件的 WM_PASTE 消息,该组件位于 TFrame 的后代类中. 如果不满足条件,我想执行粘贴操作. 有没有一种方法可以在帧级别执行此操作?(我的意思是,没有声明 TEdit 的后代) 解决方案 有没有一种方法可以在帧级别执行此操作?(我的意思是,没有声明 TEdit 的后代) WM_PASTE 直接发送到 TEdit 窗口,而 TFra
..
在处理WM_SETCURSOR Windows消息时,我将SetCursor称为特定光标.如果将光标设置为其他值,它将一直等待,直到通过移动或单击以实际设置鼠标来输入鼠标为止. 有没有一种方法可以解决这个问题,从而使光标在输入之前不会在视觉上看起来不对? 案例WM_SETCURSOR:{SetCursor(game-> GetCursor());//返回m_curCurrent返回true
..
我正在查看 BM_GETCHECK ,看来只有Windows Vista及更高版本才支持此功能.也就是说,这不是Windows XP中支持的消息.在线快速进行搜索不会"立刻产生了获取控制状态的另一种方法. 其他几则消息(此),据报道我也希望它可以在Windows XP上工作.有人对此有见识吗?通常如何处理Windows XP兼容性? 不幸的是,我们仍然有一个著名的Windows XP客
..
(我使用Ogre3D进行渲染,但问题应该是通用的.) 问题:大多数3D应用程序都使用一个循环,该循环迭代渲染帧并检查消息并对其进行处理.但是,如果打开一个对话框(MessageBox或类似对话框),它将阻止线程的执行并运行其自己的消息周期,但显然不会在其中调用3D渲染功能. 即使打开对话框,保持3D场景渲染的首选或“最佳"方法是什么?普通应用程序不会遇到此问题,因为它们的重新呈现是由W
..
首先很抱歉,因为对于C#来说,这可能是一个过于本地化的问题,但是无论如何,我都没有找到有关VB.NET的信息,而且我对C#的理解也不是很好. 基本上,我需要从应用程序中捕获/处理一些鼠标消息. 我该怎么做? 这只是我需要在应用程序外部进行复制的代码示例: Protected Overrides Sub WndProc(ByRef m As Message) Sel
..
我正在尝试编写更好的(我认为更好)且可重用的WndProc过程, 但是下面的代码不起作用,因为当我向子公司添加更多参数时,它表示该子公司不接受该数量的参数,这当然是合理的. 但是我知道可以做到这一点,因为前些时候我在一些第三方类中看到了这个带有很多自定义参数的wndproc子对象,我不记得在哪里见过,也不记得了他们是怎么做到的. 然后,有人可以帮助我修复此代码并在出现问题时对其进行改进
..
当应用程序窗口从后台转到前台(或从不可见/最小化到可见/最大化)时,会触发哪些Windows消息(wm_xyz)? 解决方案 存在复杂的交互作用,其中包括: WM_NCHITTEST WM_NCACTIVATE WM_ACTIVATEAPP WM_ACTIVATE WM_MOUSEACTIVATE WM_SETFOCUS WM_SHOWWINDOW WM_NCPAINT
..
我有一个第三方开放源代码控件(真的不重要,但它是CefSharp的Chromium Web浏览器[v 43]). 最初,存在一个问题,如果您在控件内单击时打开了一个窗体菜单,则该菜单不会自行消失(就像控件吞没了click事件一样). 为避免这种情况,示例应用程序建议拦截 WM_MOUSEACTIVATE ,并通过发布但是,它创建了另一个.现在,一旦您在控件(触摸屏)内部至少触摸了3次,
..
有人知道如何通过C/C ++代码检测Windows挂起消息吗? 或者,SetWindowsHookEx()函数可以做到这一点吗? 有人为我准备了这些代码吗?我想检测到此消息. 解决方案 如果您正在谈论睡眠和休眠–答案是肯定的,可以.您只需要听 消息. 假设您有一个MFC应用程序和一个窗口类,该窗口类是CWnd的子类.然后,您可以执行以下操作: BEGIN_MESSA
..
直到今天,我一直在使用以下代码以应用程序主格式捕获WM_DEVICECHANGE消息,并且该消息正常运行.但是,如果我尝试在自定义控件中使用此功能,则不会在设备插入或移除时收到通知.发生了什么事? TDriveBar = class(TCustomPanel) private procedure WMDeviceChange(var Msg: TMessage); messa
..
在C ++中,有什么方法可以使用winapi获取鼠标状态(位置,按钮状态)吗? 我不想使用Windows消息(WM_MOUSEMOVE,WM_LBUTTONDOWN等). 谢谢! 解决方案 听起来您正在寻找
..
当我在按下修饰键(Shift或Control)的情况下单击时,我的WndProc没有看到鼠标向上的通知.我看到它们没有修饰键,并且看到有修饰键的鼠标向下通知. 我试图跟踪我未编写的组件中的用户操作,因此我正在使用Windows Forms NativeWindow包装器(包装该组件)从WndProc()方法获取Windows消息. 我已经尝试跟踪我收到的通知,而我看到的唯一线索是WM_
..
我正在使用WMSysCommand消息来修改标题栏按钮(最大化/最小化)behaivor,并且要求使用WMNCHitTest进行最近的更新,但是由于冗长的代码,我不想在乘法过程中拆分这两个相关的消息. 我可以从其他消息访问私有声明(消息)吗?如果可以的话-怎么做? procedure TForm1.WMNCHitTest(var Msg: TWMNCHitTest) ; beg
..
我正在用.NET Windows窗体编写自定义控件.考虑以下代码: protected override void WndProc(ref Message m) { base.WndProc(ref m); switch(m.Msg) { case WM_LBUTTONDOWN: // Yes, it's defined correctly.
..
我正在尝试确定是否将广播消息发送到仅消息窗口,即创建为: hWnd = CreateWindow(MAKEINTATOM(RegisterClass(&wnd)), NULL, 0, 0, 0, 0, 0, 0, HWND_MESSAGE, hInstance, 0); 问题是我没有收到任何广播消息到该窗口...;) 解决方案 您的怀疑是正确的.仅消息窗口(通过为CreateWi
..