T trancechow Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-06 #1 当用户按下windows的显示桌面按钮后,程序处于一种什么状态,好像不是最小化状态,如果要在用户按下显示桌面按钮后程序做出反应,比如像flashget那样从任务栏上消失,改怎么实现
F feiren Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-06 #3 有个api函数可以实现,就是让程序最小化到托盘区,而不是任务栏,你查一下吧,我记不得了,很简单的
L lhc4000 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-06 #4 不要错解了楼主的意思,他是想知道,在用户按下显示桌面按钮后程序会得到什么消息,不是不知道怎样最小化到托盘区。
N nmyhu Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-06 #5 用windowsAPI函数的shell_nofityicon,系统托盘函数.[8D]
S sql1981 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-06 #6 uses shellapi;<br>shell_notifyicon;对任务栏的图表进行操作;<br>要不改变窗口样式应该也行;<br>setwindowlong(handle,gwl_style,getwindowlong(handle,gwl_style) or ws_ex_toolwindow);
uses shellapi;<br>shell_notifyicon;对任务栏的图表进行操作;<br>要不改变窗口样式应该也行;<br>setwindowlong(handle,gwl_style,getwindowlong(handle,gwl_style) or ws_ex_toolwindow);
Z zjan521 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-07 #7 不是最小化就是隐藏,当然这是指的Application.Handle.至于比如主窗体,我不太清楚。<br>你可以通过ApplicationEvent截获状态变化(最小化/最大化/显示/隐藏),然后添加到MEMO里边,检查一下,,我想应该有结果。
不是最小化就是隐藏,当然这是指的Application.Handle.至于比如主窗体,我不太清楚。<br>你可以通过ApplicationEvent截获状态变化(最小化/最大化/显示/隐藏),然后添加到MEMO里边,检查一下,,我想应该有结果。
T trancechow Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-07 #8 我现在怎么表达能力这么差啊,还有这么多人回答我怎么做系统托盘,拜托了,我不是问这个问题。<br>zjan521,我试了一下,程序会收到失去焦点这样一个消息,窗体还是处于normal状态,到底我改怎么做呢
我现在怎么表达能力这么差啊,还有这么多人回答我怎么做系统托盘,拜托了,我不是问这个问题。<br>zjan521,我试了一下,程序会收到失去焦点这样一个消息,窗体还是处于normal状态,到底我改怎么做呢
明 明天0 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-07 #9 trancechow,<br>你好 我想你是想问 当按下'显示桌面'时<br>,系统向当前桌面上的程序发送了什么消息是吗?<br>
T trancechow Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-08 #10 明天0,是的,但好像程序只收到了失去焦点的消息
Y ywhbn Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-08 #11 或许你可以这样: 改写“失去焦点”事件的事件处理过程,在里面加入实现“从任务栏上消失”的代码
S sunus.net Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-10 #14 我看了一下,好象程序没有收到什么有价值的消息,到是桌面的工作区收到了四个消息:<br>WM_WINDOWPOSCHANGING 00000000 00EAFEA0 1<br>WM_WINDOWPOSCHANGED 00000000 00EAFEA0 2<br>WM_ACTIVATEAPP 00000001 00000000 3<br>WM_ACTIVATEAPP 00000000 00000370 4<br>其中最后两个比较有价值,你可以从这里着手。
我看了一下,好象程序没有收到什么有价值的消息,到是桌面的工作区收到了四个消息:<br>WM_WINDOWPOSCHANGING 00000000 00EAFEA0 1<br>WM_WINDOWPOSCHANGED 00000000 00EAFEA0 2<br>WM_ACTIVATEAPP 00000001 00000000 3<br>WM_ACTIVATEAPP 00000000 00000370 4<br>其中最后两个比较有价值,你可以从这里着手。