读书人

点击任务栏中的窗口时会响应什么消息

发布时间: 2012-03-30 17:32:09 作者: rapoo

点击任务栏中的窗口时,会响应什么消息?
如题。
注:此任务栏非托盘。

[解决办法]
会关联产生多个消息,你关心哪个?

窗口最小化是
WM_SYSCOMMAND 消息ID:SC_MINIMIZE

窗口还原是
WM_SYSCOMMAND 消息ID:SC_RESTORE
[解决办法]
那是个 MS 未公开的消息代码 0x0313
你需要自己响应

C/C++ code
ON_MESSAGE(0x0313, &CXXXDlg::OnXXX)
[解决办法]
探讨
不是点右键的那个消息,我的窗口风格是none,我想捕捉这个消息,然后控制其最小化

[解决办法]
就像1楼说的那样了。会响应WM_SYSCOMMAND 消息。捕捉WM_SYSCOMMAND 消息就是了。
[解决办法]
探讨
是这样的,如果是非none风格的dialog确实会响应那几消息,这样的话,我就不用愁了,问题是,现在我的dialog风格是none,这样的话这个dialog就不会相应1楼的那几个消息,而是wm_active,wm_activeapp,这两个,但是这两个没有办法判断我点的是任务栏中的图标还是其他的应用程序

[解决办法]
应用程序收不到任务栏的消息
[解决办法]
使用COM接口~
C/C++ code
DECLARE_INTERFACE_(ITaskbarList, IUnknown) {    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    STDMETHOD(ActivateTab)(HWND) PURE;    STDMETHOD(AddTab)(HWND) PURE;    STDMETHOD(DeleteTab)(HWND) PURE;    STDMETHOD(HrInit)(void) PURE;}; 

读书人网 >VC/MFC

热点推荐