我在谷歌上花了很多时间,但没有找到关于这个特定主题的任何相关结果。
我有一个应用程序,当用户在任务栏中单击它时,我希望将其最小化(如果它尚未最小化)。问题似乎与窗口是无边框的事实有关。当我将它设置为有边框时,在任务栏中单击它时它会最小化,无需任何代码干预。但是我需要无边框窗口,因为我正在使用客户区制作“自定义边框”。
tl;dr 如何检查当前应用程序是否在任务栏中被单击?
非常感谢!塞缪尔
无需修改任务栏。
只需确保WS_MINIMIZEBOX|WS_MAXIMIZEBOX
为您的窗口设置了样式。否则,你的窗口不会处理WM_SYSCOMMAND
与wParam
中SC_MINIMIZE
和SC_RESTORE
。
某些资源编辑器(例如 Visual Studio 中的资源编辑器)在WS_MINIMIZEBOX|WS_MAXIMIZEBOX
删除标准窗口边框时无法进行设置。您可以像这样以编程方式添加样式:
DWORD style = GetWindowLong( hwnd, GWL_STYLE );
SetWindowLong( hwnd, GWL_STYLE, style | WS_MINIMIZEBOX | WS_MAXIMIZEBOX );
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句