草庐IT

消息键

全部标签

Windows 消息循环异常

当存在模式对话框时,使用PostMessage发送到主窗口的消息不会经过该窗口的消息循环。事实上,当模态对话框存在时,没有消息通过主窗口的消息循环。他们确实通过对话框处理中的一些消息循环到达了主窗口的WndProc。这是正常的还是我在做一些奇怪的事情? 最佳答案 这是正常的,对话框通过抽取自己的消息循环变成模态的。这应该不是问题,DispatchMessage仍然将消息传递给窗口过程。确保您使用有效的窗口句柄发布。否则,如果线程创建任何窗口,PostThreadMessage()也是一个有保证的失败鲸鱼的原因。比如MessageBo

c++ - WM_KEYDOWN 消息未发送

我一直在尝试找出程序中的错误。我注意到,每当我按住向上和向左箭头键并按空格键时,我的WndProc永远不会接收或处理WM_KEYDOWN消息以及WPARAM为VK_SPACE。我有点好奇,所以我打开了Spy++并开始查看发送到我窗口的消息。我注意到,当我按住向左和向上箭头键并按另一个键(比如A)时,WM_KEYDOWN(以及WM_CHAR)消息会发送到我的窗口。但是,如果我按住向上和向左箭头键并按下空格键,则不会向我的窗口发送空格键命中的WM_KEYDOWN消息。这是什么原因?谁能证实这种行为? 最佳答案 发生这种情况是因为您的键盘

c# - WndProc 覆盖奇怪的消息,不合适

我正在查看发布的代码here,特别是重写方法WndProc中的SyntaxRichTextBox.cs。这只是代码中的错字吗?0x00f是什么Windows消息?他们的意思是0x0f用于WM_PAINT吗?捕获该消息的代码的作者是什么?代码:protectedoverridevoidWndProc(refSystem.Windows.Forms.Messagem){if(m.Msg==0x00f){if(m_bPaint)base.WndProc(refm);elsem.Result=IntPtr.Zero;}elsebase.WndProc(refm);}

android - 从 Windows 读取 android 短信中的消息

我正在尝试从Win7机器读取存储在我的Android手机中的短信(首先)。我还没有弄清楚我可以/应该使用的API/接口(interface)。我可以接受任何语言。希望有人能指出我正确的方向。它不需要像API那样直接。我也接受一些技巧。 最佳答案 我想到了两种解决方案,如果您的手机是root,使用adbpull获取SMS数据库,它在联系人包编写一个带有BroadcastReceiver的Android应用程序来监听新消息。当一个新的出现时,将其信息记录到一个文件中。使用adb获取此文件。

windows - npapi 插件如何从浏览器获取 WM_ACTIVATE 消息?

在Windows平台上,当我切换到另一个窗口时,浏览器将收到一条WM_ACTIVATE消息。无论如何将WM_ACTIVATE消息传递给插件?我试过NPP_HandleEvent,但它似乎根本不起作用。 最佳答案 对于WindowsNPP_HandleEvent()仅用于无窗口插件,默认情况下它们是有窗口的。因此,除非您明确选择无窗口,否则这就是NPP_HandleEvent()未被调用的原因。对于窗口插件,您需要子类化插件窗口以接收窗口消息(参见Mozillas测试插件源中的Subclass())。对于无窗口插件(应该是首选),WM

windows - VS 2012 中 'Debugger Immediate Window' 中的 KdPrintEx 未打印任何消息

我正在使用主机上的VS2012调试安装在目标VM上的KmdfSmall驱动程序。但是,主机上VS2012中的“调试器即时窗口”不打印任何消息。我在这里使用KdPrintEx((DPFLTR_IHVDRIVER_ID,DPFLTR_INFO_LEVEL,"\nKmdfSmallEvtDeviceAddhasbeencalled\n")),因为它在msdn中给出。.我更新了flag的值以及在OSRonline中描述的.“HKLM\SYSTEM\CCS\Control\SessionManager\DebugPrintFilter”。在此键下,创建一个名为“DEFAULT”的值,并将此键的值

Windows消息循环困惑

我在WTL中有一个GUI窗口,它在CMessageLoop实例内的线程内运行,该实例已添加到应用程序实例并运行。现在,在主GUI的按钮处理程序中,我创建了一个新窗口。单击该按钮并创建窗口并尝试将退出消息发布到主GUI循环后。代码:主窗口,有自己的线程:CMessageLooptheLoop;_MyppModule.AddMessageLoop(&theLoop);if(m_pMyDlg==NULL){m_pMyDlg=newCMyDlg();if(!IsWindow(*m_pMyDlg)){m_pMyDlg->Create(NULL);m_pMyDlg->ShowWindow(SW_S

windows - 将消息从 "CMD"放入 IBM Websphere MQ 时出现问题

我们在AIX平台上有一个IBMwebsphereMQ[v5.2],我的机器是装有MQ客户端v7.5的Windows7专业版。我尝试远程连接到服务器,但收到了Authorization错误消息。这是因为我的本地用户帐户确实有权远程连接到队列管理器。因此,我在我的系统中创建了一个新的用户帐户,其名称与服务器上的名称相同,它有权放置/获取消息,现在我可以在客户端模式下连接[WebsphereMQv7.5]。我不知道它是否真的连接到服务器,但它没有给我授权错误消息,所以我认为它是成功的。但问题是,当我尝试使用amqsputcQueue_namemqm从cmd将消息放入队列时,队列正在打开并接收

c - 是否可以在没有消息循环的情况下运行窗口应用程序

我有一个非常古老的应用程序,我很惊讶。此应用程序在没有消息循环的情况下运行。(GetMessage或PeekMessage)。这怎么可能?来自VisualStudio的编辑示例:HINSTANCEg_hInstance=NULL;LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);BOOLInitInstance(HINSTANCEhInstance,intnCmdShow);ATOM_RegisterClass(HINSTANCEhInstance);intAPIENTRYWinMain(HIN

python - subprocess.Popen 成功消息

每当我使用subprocess.Popen生成应用程序时,Windows命令行都会启动一秒钟,其中包含以下消息:操作成功完成。这真的很烦人。有没有办法禁用它?我必须设置级别报告还是什么? 最佳答案 这应该有效:si=subprocess.STARTUPINFO()si.dwFlags=subprocess.STARTF_USESHOWWINDOWsubprocess.Popen(["application.exe"],env=os.environ.copy(),close_fds=True,startupinfo=si)它的作用是告