当用户单击任务栏中的窗口标题/按钮时,什么.NET事件(或Windows API消息)被发送到窗口?当点击任务栏中的按钮时,哪些事件发送到Windows窗口窗口?
我使用的是C#/ .NET 2.0/Windows Forms。
谢谢
当用户单击任务栏中的窗口标题/按钮时,什么.NET事件(或Windows API消息)被发送到窗口?当点击任务栏中的按钮时,哪些事件发送到Windows窗口窗口?
我使用的是C#/ .NET 2.0/Windows Forms。
谢谢
地发现,在你应该考虑使用微软间谍++不同点发送到窗口的消息。在我的机器上,它位于以下路径
"D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\spyxx.exe"
注意我使用64位操作系统,因此(x86)。
消息的类型和数量是相当大的,我相信在XP和Windows 7等操作系统版本之间略有不同。然而,关键事件/消息可能保持不变。
WM_ACTIVATE(当启用和停用) WM_WINDOWPOSCHANGING WM_WINDOWPOSCHANGED 等
另外一个很好的工具是ManagedSpy中,但我还没有尝试过上比XP以外的任何东西,它似乎并没有在Windows 7上运行64位,但我没有做太多的调查(然而!)。 http://msdn.microsoft.com/en-us/magazine/cc163617.aspx
当您单击任务栏按钮时,激活和停用事件通常会发生,但并非总是如此。当你点击窗口或者点击另一个窗口时,它们也会出现。
有一次,我发现他们不会发生的是,当窗口处于活动状态时,您单击任务栏按钮以最小化应用程序,并停用以及激活。然后,当您单击任务栏按钮以恢复窗口时,激活的事件不会触发。这对我来说似乎很奇怪。