unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ShellApi;
const
WM_BARICON = WM_USER + 200;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
function createNotifyIcon:PNotifyIconData; //创建托盘图标
procedure deleteNotifyIcon(lpData:PNotifyIconData); //删除托盘
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
AppniData:PNotifyIconData = nil; //应用程序图标implementation{$R *.dfm}
function Tform1.createNotifyIcon:PNotifyIconData;
var lpData:PNotifyIconData;
begin
lpData := new(PNotifyIconDataA);
lpData.cbSize := 88;
lpData.Wnd := Form1.Handle;
lpData.hIcon := Form1.Icon.Handle;
lpData.uCallbackMessage := WM_BARICON;
lpData.uID := 0;
lpData.szTip := '点击恢复窗口';
lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
Shell_NotifyIcon(NIM_ADD, lpData);
dispose(lpData);
result := lpData;
end;
procedure TForm1.deleteNotifyIcon(lpData:PNotifyIconData);
begin
Shell_NotifyIcon(NIM_DELETE,@lpData);
dispose(lpData);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
AppniData := createNotifyIcon();
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
deleteNotifyIcon(AppniData);
end;end.
就是窗口创建的时候创建一个托盘
关闭的时候关闭托盘运行的时候报错了 大家帮我分析一下 哪里有问题啊 谢谢了
解决方案 »
- 求一个所有国家的省市区数据库
- 求dll里面的变量问题.
- 怎么快速获得可用分
- 非常十分以及极其迷糊中,,,,,,,,,,,,,,,,,,,,,,,
- 请教各位高手开发系统的时候,主界面是如何设计的?
- 我想了一天了还没搞定!高手救救我吧!如何获得Treeview中某一被选中的节点所在的层中共有多少个节点??详情请见正文!
- 哪里可以找到关于机械方面的象csdn这样的论坛!100分相赠!
- listview控件的使用
- 高兴!Delphi7终于去掉可恶的Quick Report了
- 问各位猛人,到底怎样才能学好delphi?delphi是不是仅仅适合开发数据库?
- delphi xe 如何设置 bin 输出目录
- delphi有没有根据key,显示value的数据库控件
dispose(lpData); ////////// 这里释放了,还返回什么呢?????
result := lpData;