象qq的隐含起来,把程序放在任务栏里,应该是一个简单的问题。 (50分)

  • 主题发起人 主题发起人 Wizard00
  • 开始时间 开始时间
W

Wizard00

Unregistered / Unconfirmed
GUEST, unregistred user!
把程序象qq一样放在任务栏里
问过一个大师级的朋友,他给了我一段很长的程序,太难了,我记得好像曾经做过一回,
应该是几句的事呀,哪位朋友帮帮忙,小弟这相有理了,~_~
 
Shell_NotifyIcon
仔细查一下这个API吧,写得非常详细了
 
同意楼上的说法
 
托盘程序,全文检索一下,应该可以找到
 
我查了很多次了,大家都说这是一个很菜的东东,可是我就是找不到
摆脱能不能给一个完整点的代码呀,先谢谢了。
 
function LoadWinSock2: Boolean;
const
DLLName = 'ws2_32.dll';
begin
Result := hWinSock2 > 0;
if Result then
Exit;
hWinSock2 := LoadLibrary(PChar(DLLName));
Result := hWinSock2 > 0;
if Result then
begin
WSACreateEvent := GetProcAddress(hWinSock2, 'WSACreateEvent');
WSAResetEvent := GetProcAddress(hWinSock2, 'WSAResetEvent');
WSACloseEvent := GetProcAddress(hWinSock2, 'WSACloseEvent');
WSAEventSelect := GetProcAddress(hWinSock2, 'WSAEventSelect');
end;
end;
 

//在任务栏的右下脚创建图标
//设定 TNotifyIconData 的记录长度
MyTrayIcon.cbSize :=SizeOf(tnotifyicondata);
//确定调用程序的窗体句柄
MyTrayIcon.Wnd :=Handle;
//确定图标的 uID
MyTrayIcon.uID :=1;
//设定显示标记
MyTrayIcon.uFlags :=NIF_ICON or NIF_TIP or NIF_MESSAGE;
//用户自定义消息
MyTrayIcon.uCallbackMessage := WM_MYTRAYICONCALLBACK;
//托盘图标的句柄
MyTrayIcon.hIcon := Application.Icon.Handle;
//托盘图标的提示信息
MyTrayIcon.szTip :='哈里斯软电话';
//向托盘中添加图标
Shell_NotifyIcon(NIM_ADD,@mytrayicon);
MyTrayIcon.szTip := 'SoftPhone';
MainForm.Initialize;
end;
 
谢谢大家的帮助,可是我把代码粘贴到程序里,还是有很多错误,无法编译,
我对这个一点都不熟,有没有可以编译的代码呀,有的话,发一个吧,谢谢!
 
可以去看看下面的控件
CoolTrayIcon v3.0.0
自动将Form缩小为TrayIcon,可设置MinimizeToTrayIcon为True,则Form最小化时不显示在任务栏上。
个人认为较RxLib中的RxTrayIcon好用,而且还有源代码哦!
新增加了些属性和方法,如BitMapToIcon方法可以将位图转换为Icon使用。此外,还添加了一个新控件
TextTrayIcon,它直接将文字作为Tray Icon,可以设置字体、颜色等,和Timer结合起来你就可以实现动态文字的TrayIcon了,这还是满酷的嘛:-)
完整功能. 源代码: 有
适用于 CB3 CB4 CB5 D2 D3 D4 D5 D6
设置几个属性就可以了
有例子程序
 
谢谢大家的帮助,我的本来想自己编的,后来太难了,只好用第三方控件了,朋友给了,呵呵
 
多人接受答案了。
 
后退
顶部