驻留系统栏的服务程序,windows系统出现异常后,图标消失了怎么办?(200分)

F

fbyang

Unregistered / Unconfirmed
GUEST, unregistred user!
我做的驻留系统栏的服务程序,如果windows出现异常后,如“explorer错误”等,确定后,通常
屏幕会变成空白,然后再陆续出现任务栏、系统栏、桌面内容等,但此时,我的服务程序在系统栏
(右下角)就找不到了,只能在任务管理器中看到。
请问各位大虾,使用什么办法可以使windows异常后,我的程序的图标可以像windows自己的图标如
声音、网络连接那样,重新显示呢?
 
为啥就你的图标消逝了呢?
 
在abc6.0控件中有一个abctrayicon,他有一个选项可以监视trayicon,当trayicon有异常
时恢复显示,里面有源码,你可以看看
 
pink_wt:你好,非常抱歉,你能告诉我什么地方有abc6.0吗?我在google中搜了一下,没有找到!
谢谢
 
www.51delphi.com
 
任务栏在重建的时候会发布消息给程序。
打开这个工程:$(Delphi)/Source/Vcl/ScktSrvr.dpr
然后在ScktMain.pas中查找FTaskMessage相关的代码,你要的答案就有了。

if IE4Installed then
FTaskMessage := RegisterWindowMessage('TaskbarCreated')

procedure TSocketForm.WndProc(var Message: TMessage);
begin
if Message.Msg = FTaskMessage then
begin
AddIcon;
Refresh;
end;
inherited WndProc(Message);
end;
 
最好的办法是自己设定一个HOTKEY能把自己的程序呼出,自己刷新。就象输入法一样
 
这方面我是菜鸟,各位大虾请明示!
 
弄一个动画图标,哈哈,本身就在不停刷新,
 
楼上,动画图标不好用!如果系统出错,还是无法显示!
 

Similar threads

顶部