草庐IT

安卓实时消息

全部标签

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

我正在开发一个基于其他行为模拟Windows鼠标的应用程序。一个示例是按下键盘上的+或-键将WM_MOUSEWHEEL消息发送到具有适当增量的目标窗口。问题是在某些情况下,我很难复制我认为Windows发送到目标应用程序的消息。有没有什么方法可以记录发送到特定窗口的窗口消息(希望有一个过滤器来捕获我想要捕获的消息),然后稍后查看该数据? 最佳答案 如果您有VisualStudio,它带有Spy++,它可以完成这项工作。另一种选择是Winspector-UltimateWindowsMessageSpy

c++ - 在 Qt 应用程序中接收 WM_COPYDATA 消息

我正在开发仅限Windows的Qt应用程序,我需要从MicrosoftOneNote插件接收数据。该插件是用C#编写的,可以发送WM_COPYDATA消息。我如何在C++Qt应用程序中接收这些消息?我需要:能够指定窗口在调用RegisterClassEx时注册的“类名”,这样我就可以确保插件将WM_COPYDATA消息发送到正确的窗口。有权访问消息ID以检查它是否为WM_COPYDATA和lParam,其中包含具有实际数据的COPYDATASTRUCT。此信息在WndProc中传递,但我无法找到可以拦截这些消息的Hook。 最佳答案

windows - Windows 服务可以接收 Windows 消息吗?

我创建了一个应用程序来接收广播的Windows消息,效果很好。当我把它变成一个服务、安装它并启动服务时,该服务没有收到消息。 最佳答案 服务可能必须被授予访问桌面的权限。从服务属性、“登录”选项卡、以本地系统帐户登录并选中“允许服务与桌面交互”来执行此操作。 关于windows-Windows服务可以接收Windows消息吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/293

windows - 在定义的时间内等待窗口消息

我正在用winapi编程。如何在定义的时间内等待消息?如果没有消息,我可以做另一个任务。我不能使用Sleep,因为窗口回调过程会被延迟。while(true){...//waitamessagefor30milisecondsGetMessage(&message,hwnd,0,0))orPeekMessage(&message,hwnd,0,0,PM_REMOVE)...if(no_message){call_a_function();}else{if(finish)break;TranslateMessage(&message);DispatchMessage(&message);

c++ - 在 Windows X 按钮上单击并按住鼠标时 WM_TIMER 消息被抑制

我正在开发一款客户端需要继续处理Windows消息的游戏,否则游戏可能会被利用。为了解决窗口调整大小和拖动事件期间的这个问题,我们有一个每50毫秒触发一次的WM_TIMER消息,这将重新启动主事件循环。问题是,当用户单击并按住X或窗口客户端的最小化按钮时,此技术不起作用。(所以他们没有完成点击,他们只是停止了客户端。)使用Spy++,我看到的最后消息是:00160D3CPWM_NCLBUTTONDOWNnHittest:HTCLOSExPos:1150yPos:17800160D3CPWM_MOUSEMOVEfwKeys:MK_LBUTTONxPos:1014yPos:-23在我移动鼠

windows - 仅消息窗口可以接收 WM_QUERYENDSESSION 吗?

在程序的调试版本中,我创建了一个可见窗口,WM_QUERYENDSESSION消息由其WNDPROC接收。在发布版本中,窗口应该是纯消息的,所以我在调用CreateWindowEx()时将HWND_MESSAGE指定为hWndParent。不幸的是,我再也没有收到WM_QUERYENDSESSION消息。WM_QUERYENDSESSION是那些广播消息之一吗mentionedhere?Amessage-onlywindow[...]doesnotreceivebroadcastmessages. 最佳答案 MSDN给出了“仅消息窗

windows - 什么可能导致错误消息 'Target "1"does not exist in the project "xxx”。在 Windows 上运行 Ant?

我在Windows2003Server上使用ant.bat(在Ant1.7.1中)在build.xml文件中构建all目标。(我在错误消息中用“xxx”替换了该文件中的项目名称。)构建成功,但结束时:2009-06-1017:26:03|all:2009-06-1017:26:03|2009-06-1017:26:03|BUILDFAILED2009-06-1017:26:03|Target"1"doesnotexistintheproject"xxx"....并返回非零错误代码。我在build.xml中搜索任何可能导致此错误的内容均未成功。(当然,没有目标“1”,也没有任何可能解析“

windows - 为什么 TVM_GETITEM 消息在 comctl32.ocx 或 mscomctl.ocx TreeView 上失败?

我编写了一个函数,它可以生成TreeView项的文本,即使TreeView在远程进程中也是如此。该函数在远程进程中分配两个内存块,填充TVITEM结构(已复制到远程进程中),发送TVM_GETITEM消息,最后将第二个远程内存块的内容读回本地缓冲区。这是代码:std::stringgetTreeViewItemText(HWNDtreeView,HTREEITEMitem){DWORDpid;::GetWindowThreadProcessId(treeView,&pid);HANDLEproc=::OpenProcess(PROCESS_VM_OPERATION|PROCESS_VM

windows - 为什么有些窗口收不到 Windows 消息

在VisualStudio上使用Spy++工具,我可以看到像桌面或资源管理器(文件资源管理器)之类的窗口收到WM_消息,但像Firefox或VisualStudio这样的窗口不接收消息。为什么有些人能收到消息而有些人没有。(对于WM_消息,我指的是WM_MOUSELEAVE或WM_SETCURSOR) 最佳答案 Spy++需要注入(inject)一个钩子(Hook)来监Windows口消息。为此,钩子(Hook)函数的位数需要与拥有窗口的进程的位数相匹配,因此您应该使用32位版本的Spy++来监视32位应用程序的窗口,以及64位版本

windows - 从我的应用程序发送消息 Ctrl+Alt+Del

我想在MFC中编写一个小实用程序,它将Ctrl+Alt+Del消息发送到操作系统。任何人都可以帮助我如何实现这一目标?我试过:::PostMessage(HWND_BROADCAST,WM_HOTKEY,0,MAKELONG(MOD_CONTROL|MOD_ALT,VK_DELETE));但这行不通。我想发送Ctrl+Alt+Del而不是调用TaskMgr.exe。此外,它适用于我的本地操作系统(WindowsXPServicepack2)。基本上我想使用这个应用程序来锁定我的机器并安排一些操作以及锁定。 最佳答案 这不是您可以模拟