新手问题,关于系统托盘!

superjs 2001-08-31 11:52:58
问个问题,把程序缩到系统托盘的程序该如何写!我看了很多以前的例子都不能用的,我是刚从delphi6开始学的,请多指教,另外我用的是Win2k Server+Sp2+Delphi6,请给我一个例子,注意以前版本的例子都不能运行了,或者没有结果!
jiansh@yeah.net
谢谢一定给分!

...全文
161 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
superjs 2001-08-31
  • 打赏
  • 举报
回复
谢谢dana,我看看先!
柯本 2001-08-31
  • 打赏
  • 举报
回复
CB5 中有trayicon构件,很好用!
dana 2001-08-31
  • 打赏
  • 举报
回复
在C:\Program Files\Borland\Delphi6\Source\Vcl下有一个例程是ScktSrvr
就有写托盘照搬就是了.
superjs 2001-08-31
  • 打赏
  • 举报
回复
再问个问题,如何读取内存中指定地址的数据!一并给分!
superjs 2001-08-31
  • 打赏
  • 举报
回复
各位来看看吧!
superjs 2001-08-31
  • 打赏
  • 举报
回复
各位看一下吧!
superjs 2001-08-31
  • 打赏
  • 举报
回复
再问个问题,vb中的createobject方法,在delphi6中该怎么用!
不是ole对象!
cobi 2001-08-31
  • 打赏
  • 举报
回复
直接使用trayicon就可以了
qiandeng 2001-08-31
  • 打赏
  • 举报
回复
都写好了
我就不发表了
machin 2001-08-31
  • 打赏
  • 举报
回复

我做了一个。 你去试试咯。。。

procedure TForm1.FormCreate(Sender: TObject);
begin
//程序一启动先不显示主界面
visible := false;
application.ShowMainForm := Visible;

//创建tray
MyTrayIcon.cbSize := sizeof(TNotifyIconData);
//确定调用程序的窗体句柄
MyTrayIcon.Wnd := Handle;
//确定tray的UID
MyTrayIcon.uID := 1;
//设定显示标记
mytrayicon.uFlags := nif_icon or nif_tip or nif_message;
//用户自定义消息
mytrayicon.uCallbackMessage := WM_MYTRAYICONCALLBACK;

mytrayicon.hIcon := loadicon(0,idi_winlogo);

mytrayicon.szTip := 'Tray With POP Menu' ;
//加入到系统托盘中去
shell_notifyicon(nim_add,@mytrayicon);
end;

procedure Tform1.WMMyTrayIconCallback (var Msg:TMessage);
var
CursorPos : TPoint;
begin
case msg.LParam of
WM_LBUTTONDBLCLK:begin //左键双击
//取得光标当前的位置
GetCursorPos(cursorpos);
//弹出菜单
popupmenu1.popup(CursorPos.x,CursorPos.y);
end;
WM_LBUTTONDOWN: begin //单击左键
getcursorpos(cursorpos);
Popupmenu1.Popup (cursorpos.x,cursorpos.y);
end;


end;//end case

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE, @MyTrayIcon);
end;

procedure TForm1.show1Click(Sender: TObject);
begin
visible := true;
//application.ShowMainForm := visible;
//setforegroundwindow(application.handle);
end;

procedure TForm1.hide1Click(Sender: TObject);
begin
visible := false;
end;

以上代码就是。。。
ecgnis 2001-08-31
  • 打赏
  • 举报
回复
用abf_software在DELPHI6的Disk2里,那里有系统托盘的控件
Tense 2001-08-31
  • 打赏
  • 举报
回复
关注。
peihexian 2001-08-31
  • 打赏
  • 举报
回复
gz
delphi_user 2001-08-31
  • 打赏
  • 举报
回复
var
icondata:TNOTIFYICONDATA;
procedure TfrmSrvMain.FillDataStructure;
begin
with IconData do begin
cbSize := sizeof(TNOTIFYICONDATA);
wnd :=Self.Handle ;
uID := 0; // is not passed in with message so make it 0
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
hIcon := Self.Icon.Handle;
StrPCopy(szTip,'会员服务程序');
uCallbackMessage := WM_TOOLTRAYICON;
end;
end;
Self.Hide;
FillDataStructure;
Shell_NotifyIcon(NIM_Add,@IconData);
还有在程序中加上uses shellapi

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧