草庐IT

WM_MOTOR_WARNING_MESSAGE

全部标签

windows - 未收到 WM_LBUTTONDOWN 和 WM_LBUTTONUP

我创建了顶层窗口,但由于未知原因,我的WNDPROC没有收到WM_LBUTTONDOWN/WM_LBUTTONUP和WM_MOUSEMOVE消息。有什么建议吗?相关代码:WNDCLASSEXwc={0};Wc.cbSize=48;Wc.cbWndExtra=80;Wc.hCursor=LoadCursorW(g_hInstance,MAKEINTRESOURCEW(1002));Wc.style=CS_GLOBALCLASS|CS_DBLCLKS;Wc.lpszClassName=Ici[dItemIndex].sInit;Wc.lpfnWndProc=Ici[dItemIndex].

c# - .NET Windows 服务 (WTSSendMessage) : Displays message on XP but not Windows 7

我在Windows7上使用.NET窗口服务显示消息时遇到问题。它在WindowsXP上正常工作。我知道它在Windows7上不起作用,如Microsoft网站和一些论坛(包括Stackoverflow)中所述。我按照Stackoverflow中提到的来自Pinvoke.NET的以下示例(使用WTSSendMessage)进行了操作。但它也没有工作。该示例在WindowsXP上正常工作。有人可以帮助我吗,因为这是一个非常大的问题需要尽快修复,因为我们已经迁移到Windows7。签名:[DllImport("wtsapi32.dll",SetLastError=true)]staticex

c# - C# 程序集中是否定义了 WM_KEYDOWN 常量?

我将在C#程序中使用WM_KEYDOWN和其他WM_消息。这些常量是在某处定义还是应该在每个程序中手动定义? 最佳答案 因为这些常量是在winapi库而不是.net中定义的,所以您需要自己在某个地方重新创建它们。使用这些常量的函数也在winapi中定义,因此您需要使用互操作才能在您的应用程序中使用它们。http://www.pinvoke.net/是对这些winapi常量和函数的互操作版本进行原型(prototype)设计的好资源。 关于c#-C#程序集中是否定义了WM_KEYDOWN常

c# - Windows 7 Message Box 的图标存储在哪里 [.DLL]

有谁知道Windows中的MessageBox符号存储在哪里(错误图标、感叹号图标...)。我认为它们在.dll文件中! 最佳答案 使用System.Drawing.SystemIconsclass访问Windows中使用的常用图标。它包括MessageBox中使用的图标。从技术上讲,您可以在VisualStudio中使用文件+打开+文件并导航到c:\windows\system32\user32.dll来获取这些图标。然而,这是不合法的。也不能保证它们在更高版本的Windows上看起来相同,它们可能不会。请改用SystemIcon

WM_QUERYENDSESSION 的 Windows 2003 Server 和远程桌面问题

我编写的用于检测Windows关机的小应用程序遇到了一个奇怪的问题。使用远程桌面连接到Windows2003服务器,有时在登录时我会从操作系统获得WM_QUERYENDSESSION,其中lParam=0,我的应用将其解释为关闭请求(如http://msdn.microsoft.com/en-us/library/aa376890%28VS.85%29.aspx中所述),因此,执行其任务。问题是,我实际上是在登录,而不是关闭或重新启动系统。我认为这可能与Windows2003Server下的session管理有关,因为同一工具在WindowsXP上的表现非常好。我尝试将远程访问限制为每

windows - 请帮助 - 来自 Aero Shake/3D 翻转的 WM_SYSCOMMAND 消息

你好我有一个用Delphi2006编写的应用程序。我注意到在Windows7下运行时,该应用程序没有收到来自AeroShake的WM_SYSCOMMAND消息。但是,如果我以管理员身份运行该应用程序,那么它会在执行AeroShake时收到WM_SYSCOMMAND。我已经尝试为WM_SYSCOMMAND调用ChangeWindowMessageFilter并得到True的结果表明调用成功但我仍然无法从AeroShake获得WM_SYSCOMMAND消息。有谁知道为什么以及如何解决这个问题?谢谢 最佳答案 Thisdiscussion

c++ - Windows 在 WM_WINDOWPOSCHANGED 中挂起

我有一个DirectX9应用程序偶尔会在WM_WINDOWPOSCHANGED中挂起。当alt+tab键进入和退出全屏独占模式时,挂起很少发生。应用程序挂起是因为主窗口消息处理线程卡在DefWindowProc处理程序中的WaitForSingleObject()处。我们创建的其他线程运行正常。卡住的主线程上的调用堆栈:ntdll.dll!_NtWaitForSingleObject@12()+0x15bytesntdll.dll!_NtWaitForSingleObject@12()+0x15byteskernel32.dll!_WaitForSingleObjectExImplem

windows - SetCursorPos 无法通过远程桌面工作(从 WM_INPUT 事件中读取)

当在WM_INPUT事件中读取鼠标位置时,鼠标光标被隐藏,当通过远程桌面使用应用程序时,SetCursorPos似乎不起作用。当应用程序不通过远程桌面使用时,同样的代码也能正常工作。即,我可以在所有方向上无限移动鼠标,因为在本地访问应用程序时SetCursorPos会正确地将鼠标光标移动到屏幕中心。从远程桌面访问时,它是否是SetCursorPos的限制(可能与安全相关)?或者有解决方法吗?或者可能是因为鼠标位置值是绝对值(MOUSE_MOVE_ABSOLUTE位已设置)?无论我在SetCursorPos中设置什么,我从WM_INPUT读取的所有值都不会受到影响。感谢任何帮助,谢谢!

c++ - 为什么对 BeginPaint() 的调用总是生成 WM_NCPAINT 消息?

我在Win32API上遇到了问题。我有一个程序,当它处理WM_PAINT消息时,它调用BeginPaint来剪辑区域并验证更新区域,但是BeginPaint函数始终生成具有相同更新区域的WM_NCPAINT消息,即使需要重新绘制的触摸部分仅在客户区域内。有人知道为什么会这样吗?它位于具有WS_CHILD样式的子窗口上。 最佳答案 WM_PAINT的MSDN条目说:ThefunctionmayalsosendtheWM_NCPAINTmessagetothewindowprocedureifthewindowframemustbepa

c++ - 如何获取WM_TIMER 的独占定时器ID?

我子类化了一个控件,控件本身有wm_timer。我需要为我的代码创建一个计时器,我怎样才能为我的代码获取一个独有的计时器ID? 最佳答案 不幸的是,你只能得到SetTimer当HWND为空时创建一个新ID。如果您想要一个独特的计时器,您需要使用不带HWND的SetTimer,在这种情况下,计时器消息会直接发布到您的计时器过程。要将计时器消息发送到子类窗口,您只需选择一个您希望唯一的计时器ID。 关于c++-如何获取WM_TIMER的独占定时器ID?,我们在StackOverflow上找到