系統托盤建立

hongyanyang發表於2024-11-08

@"von"#p7
你好,如果你說的是僅使用托盤不顯示視窗情況有多種使用方式和實現。
以下提及兩種使用

  1. 在windows下使用lcl+cef網頁托盤,在這種情況下主視窗是需要建立和初始化,目前energy初始化時有一些必要的功能,因此 lcl+cef 網頁托盤需要這些功能。
    實際這種效果,如果你對框架有深層次瞭解完全可以拋開主視窗,而自己實現單獨僅使用網頁托盤。
    當前解決辦法:主視窗初始化時設定它的 x 和 y 座標到螢幕之外建立完之後隱藏掉它,例如視窗大小是 800x600, x=-800, y=-600。
  2. 純原生lcl系統托盤,在 cef.BrowserWindow.SetBrowserInit 回撥函式內設定主視窗隱藏 lcl.Application.SetShowMainForm(false)
    這時如果退出應用預設的closeCloseBrowserWindow函式將不起作用。需要呼叫lcl.Application.Terminate()退出應用

在windows下如果自己實現lcl+cef托盤,且僅有托盤功能。
把主視窗做為托盤頁面。此時你可能需要根據需求設定視窗的預設隱藏。
然後建立lcl原生托盤,在托盤功能事件裡管理主視窗,控制托盤顯示和隱藏等等,可以參考 lclcef 托盤實現原始碼。

相關文章