Jump to content

How to hide Windows tray icon?


Tim

Recommended Posts

Still looking for a solution to this...

Is there some simple way for a UniGui application to obtain the handle to its own Windows tray icon? Then i might be able to close it using Shell_NotifyIcon(NIM_DELETE...) 

Any other suggestions?

Link to comment
Share on other sites

Our unigui app is a portal app for logging and controlling a non visual delphi program. The delphi program starts the unigui portal when itself starts and close it when itself closes. The portal app should not show any tray icon. It should run silently in background and serve the portal website for the non visual delphi program (http://localhost:8080). Running the unigui app as a service is no option. We are not allowed to install it as a service.

It would be nice if we could set a property "ShowTrayIcon" in ServerModule.

Link to comment
Share on other sites

I was able to hide the Windows tray icon after startup by adding the following code to ServerModule:

 

uses
  ShellAPI,
  Forms,

...

procedure TUniServerModule.UniGUIServerModuleCreate(Sender: TObject);
var
  NotifyIconData : TNotifyIconData;
begin
  FillChar( NotifyIconData, System.SizeOf(TNotifyIconData), 0 );
  NotifyIconData.cbSize := SizeOf(TNotifyIconData);
  NotifyIconData.Wnd := Application.MainForm.Handle;
  NotifyIconData.uID := 1002;
  Shell_NotifyIcon( NIM_DELETE, @NotifyIconData );
end;

 

Does this seem like a valid approach? It works fine in my tests so far (using v1.50.0.1481 on Windows 10).

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...