去掉程序圖標並保持TOPMOST

程序是一個異形窗口,按照傳統的DELPHI (2009)處理方式   

  Application.MainFormOnTaskbar := FALSE;

窗口的ONSHOW:

ShowWindow(Handle, SW_HIDE)

發現透明效果出現了問題,當然可以跟蹤下爲什麼透明效果畫出來不正確。但是比較麻煩。

經過驗證,放棄上述方式,在窗口構造函數加以下代碼可滿足要求:

 style := GetWindowLong(Handle, GWL_EXSTYLE);
    style := style and (not WS_EX_APPWINDOW);
  style := style or WS_EX_TOOLWINDOW;
  SetWindowLong(Handle, GWL_EXSTYLE, Style);

效果可以參考各種音樂播放軟件(QQ音樂,網易雲音樂)的桌面歌詞效果。

任務欄看不到圖標,桌面歌詞始終顯示TOPMOST。用SPY++查看該窗口屬性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章