程序运行时窗体不出现在屏幕上和任务栏中(100分)

W

wjshh

Unregistered / Unconfirmed
GUEST, unregistred user!
程序运行时窗体不出现在屏幕上和任务栏中
 
1、托盘实现
const
ICON_ID = 1;
MI_ICONEVENT = WM_USER + 1;
//过程定义
private
procedure InstallIcon;
//装图标
procedure UnInstallIcon;
//卸载图标
procedure IconOnClick(var message: TMessage);
//单击图标
message MI_ICONEVENT;
procedure TForm1.IconOnClick(var message: TMessage);
var
p: TPoint;
begin
if (message.LParam = WM_RBUTTONDOWN) then
begin
GetCursorPos(p);
PopupMenu1.Popup(p.X, p.Y);
end;
end;

procedure TForm1.InstallIcon;
var
IconData: TNotifyIconData;
begin
sysTrayIcon := TIcon.Create;
sysTrayIcon := Application.Icon;
IconData.cbSize := sizeof(IconData);
IconData.Wnd := Handle;
IconData.uID := ICON_ID;
IconData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
IconData.uCallbackMessage := MI_ICONEVENT;
IconData.hIcon := sysTrayIcon.Handle;
IconData.szTip := 'Example';
Shell_NotifyIcon(NIM_ADD, @IconData);
end;

procedure TForm1.UnInstallIcon;
var
IconData: TNotifyIconData;
begin
IconData.cbSize := sizeof(IconData);
IconData.Wnd := Handle;
IconData.uID := ICON_ID;
Shell_NotifyIcon(NIM_DELETE, @IconData);
end;

2、任务兰里没有图标:
在FormCreate和FormActivate中写入
ShowWindow(Form1.Handle, SW_HIDE);
ShowWindow(Application.Handle, SW_HIDE);
 
^_^,楼上说的没错。
 
我来迟了,楼上的说得对
 
如果不想有任何显示,那么就隐藏一下好了:
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
 
屏幕上不出现可用: application.showmainform := False;
 
太简单了吧,以后先上网查查资料再问,免得浪费大家的时间!
我这儿有两种简单方法:
1.APPLICATION.SHOWMAINFORM:=FALSE;
2.FORM1.TOP := -1000;
 
我来迟了
 
Alex_Y:
请问除了大富翁,那里还能查到delphi资料!
 
大富翁离线浏览器到资料下载里下载!
 
多人接受答案了。
 
顶部