草庐IT

消息延迟

全部标签

windows - 当您按下 "Windows+D"时 Windows 将发送什么消息

我使用SPY++Hook我的Windows消息,但是当我按下“Windows+D”时没有发送WM_SYSCOMMAND消息。当您按下“Windows+D”时,Windows会发送什么消息? 最佳答案 您的应用程序根本不会收到窗口消息。Win+D是Explorer.exe(负责显示任务栏、桌面图标等的shell程序)注册的热键。它只是使用RegisterHotKey当您按下WIN+D时,它会收到一条窗口消息,然后会处理整个显示/隐藏的事情。请注意,您可以使用上述功能注册您自己的WIN+x热键,但您不应该这样做并且会遇到问题-除非您替换

windows - 窗口消息通知 - 语言和区域设置

我想知道当我们更改语言环境设置(尤其是日期时间和语言)时发送的获胜消息是什么。我知道当窗口主题改变时我们收到WM_THEMECHANGED。 最佳答案 WM_SETTINGSCHANGE用于语言环境设置和WM_TIMECHANGE时间变化。你会得到WM_INPUTLANGCHANGEREQUEST在更改语言之前(您可以选择是接受还是拒绝更改),然后WM_INPUTLANGCHANGE语言成功更改后(如果您将WM_INPUTLANGCHANGEREQUEST传递给DefWindowProc)。

windows - Windows 线程何时需要消息循环,为什么?

我什么时候需要在Windows应用程序中使用消息循环?例如,对于Windows服务,我是否需要为我创建的每个线程或仅为主服务进程创建一个消息循环?while(true){GetMessage(&messageHandle,0,0,0);DispatchMessage(&messageHandle);} 最佳答案 每个nativeWindows程序都至少包含一个消息循环(通常称为“消息泵”),就像您举的例子一样。这是为了能够处理由程序本身、其他应用程序或操作系统发起的Windows事件。Windows事件的示例可以用于计时器、套接字通

windows - TB_SETPADDING 消息对垂直填充没有影响

我试图将工具栏填充设置为零,但TB_SETPADDING消息只影响水平填充,而不是垂直填充。我将配色方案设置为红色和绿色,以突出显示按钮边框,这是输出:有人能解释一下为什么会这样吗?完整代码:#include#include#include#pragmacomment(lib,"comctl32.lib")#defineIDB_PRINT40000LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);HINSTANCEinstance;intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInsta

windows - 查看通过 ALPC 端口发送的消息?

我试图找出在Windows7中的特定ALPC端口上使用的消息,并且由于似乎没有任何地方记录端口消息,只有实际端口本身,我想监听某些端口并查看发送到该端口的消息。有人知道如何做到这一点吗? 最佳答案 ALPC调用旨在快速,因此没有很多拦截点。你最好的选择是:启用ETW内核日志记录并使用ALPC监控消息流类(强烈推荐)与Detours打交道图书馆。我不推荐这样做,因为它是一个全局解决方案,并且不会让您查看特定端口。如果您需要部署解决方案,那就更糟了。 关于windows-查看通过ALPC端口

c# - 将消息添加到登录屏幕 windows 7

我知道在Windows8中,某些应用程序在锁定屏幕上有一个通知,一些指纹识别器可以在Windows7和更早的机器上向登录屏幕添加消息。程序是否可以使用c#在Windows7的登录屏幕上显示消息?如果是这样,该消息可以是动态的吗? 最佳答案 是的,可以添加/更改登录屏幕消息。它涉及更新注册表中的legalnotiecaption和legalnoticetext值。有关详细演练,请参阅本文:DisplayaStartupMessageBoxinWindows8它也适用于Windows7,因为我们正在修改注册表项(在Windows版本之间

windows - Internet Explorer 中是否有等效的 chrome 原生消息传递 API?

在chrome上,扩展程序可以在nativemessagingAPIs的帮助下与native应用程序交换消息。我们如何在IE上实现这一点?用例:我们有自己的桌面应用程序,用户可以从我们的站点下载和安装。下次他们再次访问时,我们应该能够检测到native应用程序是否已安装并在可用时启动。借助一个扩展,我们能够在chrome上构建解决方案,该扩展利用chrome原生消息传递API连接到原生应用程序。需要在IE浏览器上有类似的东西,或者需要一个适用于所有主流浏览器的通用解决方案。 最佳答案 您可能想看看URL处理程序,Firefox、Ch

c++ - 如何在 VC++ 的 Windows 7 或 Windows 8 中延迟关机/重启/休眠

我正在使用使用C++开发的基于vs2012的应用程序。如果应用程序正在运行并进行一些处理,并且用户触发重启/关机或休眠,则重启/关机应该暂停,直到应用程序处理完成。应用程序处理完成后,Windows应恢复重启/关闭。如果可以提供一些引用或示例代码,我将不胜感激谢谢 最佳答案 我做了这样的事情boolshutdownSystemWin(EShutdownActionsaction){HANDLEhToken;TOKEN_PRIVILEGEStkp;//Getatokenforthisprocess.if(!OpenProcessTok

windows - 如何捕获从此菜单发送的 Windows 消息?

在大多数应用程序中,当您单击某个MenuItem时,会发送一个WindowsMessage(通常是WM_COMMAND),其中包含一个wParam表示所选MenuItem的ID。某个程序有一个窗口菜单(通过单击标题栏上的程序图标可以访问该菜单),我想知道当我从该菜单中选择特定的MenuItem时发送的WindowsMessage是什么。该程序是众所周知的-WindowsXP中的命令提示符窗口:(cmd.exe)这是窗口菜单:我想为那里的MenuItem捕获WindowsMessage和wParam,例如“粘贴”菜单项。(但不只是它..任何其他可能也是如此)这是我尝试过的:方法一:我经常

windows - 如何使用延迟变量扩展从字符串中引用变量

我正在尝试创建一个小脚本来执行轻型模板替换任务,但我无法按照我想要的方式取消引用变量。这是我的模板替换批处理文件:@echooffecho------------echo%~nx0%SETLOCALENABLEDELAYEDEXPANSIONSET"src=%~1"SET"dst=%~2"ECHO%src%FOR/F"tokens=1,2*delims=%%"%%iIN(%src%)DO(IF"%%k"==""(ECHO%%i>>%dst%)ELSE(SET"first=%%i"SET"middle=%%j"SET"last=%%k"SET"replace=!middle:~2,-1!