我没有尝试过,所以认为很难!请问如何把一个delphi做好的exe文件让他在运行的时候,最小化就像是qq那样能放在任务栏的右边,成为一个小的图标!
我不知道怎么下手阿!求救阿!
我不知道怎么下手阿!求救阿!
解决方案 »
- 输入法自动改变了
- dbgrideh 隐藏列 取值问题?
- 在webbrowser中执行js语句,不能进行 多行文本的赋值,如何解决?
- dbgrideh 的一个小问题,超难很有用(自动计算) 我想这个问题很有用?对大家也有很帮助
- QuickRep报表,这个表要怎么作
- 关于动态创建类报错问题!!!!!!
- 当把TDataSetProvider的UpdateMode设置成upWhereKeyOnly是,使用TClientDataSet的ApplyUpdates()更新数据,应注意什么。
- 求助!!!初学QReport,请教一个问题!!!!急急急!!!!(在线等待)
- Tadtable!!
- 请大家推荐object pascal书籍
- 如何让一个窗口总是在最前?
- 各位程序員早呀!我有一個問题要請教妳们!多謝!
delphibbs里有答案的。搜索“托盘”应该可以找到的
[email protected]
var
nid: TNotifyIconData;
begin //To Create TrayIcon
with Nid do
begin
cbSize := sizeof(nid);
wnd := Handle;
uID := 0;
hIcon := Application.Icon.Handle;
szTip := 'Server Listening';
uCallbackMessage := MY_MESSAGE;
uFlags := NIF_ICON OR NIF_TIP OR NIF_MESSAGE;
if not Shell_NotifyIcon(NIM_ADD,@nid) then
Application.Terminate;
end;
//To hide the application on TaskBar
Application.ShowMainForm := False;
end;
重新打开项目文件,用先面的代码就可实现应用程序图标在任务栏了
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,shellapi;
const
//定义用到的图标的ID
TrayIconId=1;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
//程序图标
AppIcon:TIcon;
//定义一个TNotifyIconData类型的变量,通过操作它来完成程序图标的设置
nid:TNOtifyIconData;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
//将trayicon调用到程序中,如果失败终止程序
appicon:=Ticon.Create;
appicon.Handle:=loadIcon(hinstance,'trayicon');
if appicon.Handle=0 then
begin
messagebox(handle,'不能打开图标文件!','提示',mb_ok);
application.Terminate;
exit;
end;
//将nid数据结构初始化
with nid do
begin
cbsize:=sizeof(tnotifyicondata);
wnd:=handle;
uId:=trayiconid;
uflags:=NIF_MESSAGE OR NIF_ICON OR NIF_TIP;
UCALLBACKMESSAGE:=0;
hicon:=appicon.Handle;
strpcopy(sztip,'the test app');
end;
//加载图标
shell_notifyicon(NIM_ADD,@nid);
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//推出程序时候删除任务栏的图标
shell_notifyicon(NIm_delete,@nid);
appicon.Free;
end;end.