Tim Posted November 7, 2018 Share Posted November 7, 2018 When a UniGui project is compiled and run as Standalone Server, a square purple icon appears in the Windows system tray: Is there any way to prevent this icon appearing? Link to comment Share on other sites More sharing options...
Sherzod Posted November 7, 2018 Share Posted November 7, 2018 Hello, And how will you stop the application, or do you mean debug mode ?! Link to comment Share on other sites More sharing options...
Tim Posted November 7, 2018 Author Share Posted November 7, 2018 Hello, thanks for the reply. It will be started and stopped automatically by another Delphi executable. Tim Link to comment Share on other sites More sharing options...
Tim Posted November 14, 2018 Author Share Posted November 14, 2018 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 More sharing options...
Jean-Marc Kiener Posted November 15, 2018 Share Posted November 15, 2018 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 More sharing options...
Tim Posted November 19, 2018 Author Share Posted November 19, 2018 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 More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now