如何制作托盘程序(50分)

  • 主题发起人 主题发起人 suntao
  • 开始时间 开始时间
S

suntao

Unregistered / Unconfirmed
GUEST, unregistred user!
当程序运行FORM激发时,自动在开始的状态栏缩成图标,像OICQ一样,据说使用<br>一条API函数。请教各位大侠。
 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=140127<br>http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=116066<br>http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=171563<br>http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=93267<br>尤其看:<br>http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=200349
 
Shell_NotifyIcon<br><br>或者用第3方控件
 
To Crane:<br>尤其看我贴的整个例子是吧 :-)
 
to snutao:这不叫托盘程序,而是任务栏程序。
 
WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(<br>&nbsp; &nbsp; DWORD dwMessage, // message identifier<br>&nbsp; &nbsp; PNOTIFYICONDATA pnid // pointer to structure<br>&nbsp; &nbsp;); <br><br>参数说明:<br>&nbsp;dwMessage<br>&nbsp; 向系统发出的对任务条状态区图标的控制消息,可以为以下三个值:<br><br>&nbsp; NIM_ADD 向任务条状态区添加图标.<br>&nbsp; NIM_DELETE 删除任务条状态区的图标.<br>&nbsp; NIM_MODIFY 更换任务条状态区的图标. <br><br>&nbsp;pnid<br><br>&nbsp; 指向记录型数据NOTIFYICONDATA的指针.<br><br>返回值:成功则返回非零值,失败则返回零值。<br><br>typedef struct _NOTIFYICONDATA { <br>&nbsp; &nbsp; DWORD cbSize; <br>&nbsp; &nbsp; HWND hWnd; <br>&nbsp; &nbsp; UINT uID; <br>&nbsp; &nbsp; UINT uFlags; <br>&nbsp; &nbsp; UINT uCallbackMessage; <br>&nbsp; &nbsp; HICON hIcon; <br>&nbsp; &nbsp; char szTip[64]; <br>} NOTIFYICONDATA, *PNOTIFYICONDATA; <br>&nbsp;<br><br>记录成员:<br><br>cbSize<br><br>记录型数据NOTIFYICONDATA的大小 .<br><br>hWnd<br><br>需要在任务条状态区生成图标的应用程序窗口的句柄。<br><br>uID<br><br>应用程序定义的任务条图标的标识.<br><br>uFlags<br><br>显示其他成员是否有确定的数据标志性数组,其他成员有:<br><br>NIF_ICON &nbsp; &nbsp; &nbsp;确认hIcon成员. <br>NIF_MESSAGE &nbsp; &nbsp;确认uCallbackMessage成员.<br>NIF_TIP &nbsp; &nbsp; &nbsp;确认szTip成员.<br>&nbsp;<br>uCallbackMessage<br><br>当鼠标事件发生在任务条图标区域时所发出的应用程序自定义的消息。<br><br>hIcon<br><br>要操作的图标的句柄。<br><br>szTip<br><br>图标所显示的hint文字.<br>
 
to wjiachun:<br>&nbsp; 是托盘, tray ,ok?<br><br>任务栏是最小化以后的那个位置。呵呵,
 
哦,我以为网蚁的那个小窗口才叫托盘,不好意思……
 
昨晚根据各位高手指点试了一下,但不能把整个FORM缩成右下图标,想继续请教。可能都用过OICQ,能否实现当缩小时不在中间的状态栏中出现,而只有右下出现图标,谢谢!
 
你的 mainform.Hide()<br><br>ShowWindow(Application.Handle,SW_HIDE)
 
OK了!高手就是高手,再会。
 
别走........给分呀!
 
多人接受答案了。
 
后退
顶部