如何将自己创建的窗口永久的置顶在任务栏之上?

我想用自己的窗口挡住一半的桌面,但我置顶了窗口之后单击任务栏时任务栏跑到了
我的窗口的上面,如何能让我的窗口一直处在任务栏的上面呢?有没有大神能帮我解决?

设置topmost属性。同时设置窗口父窗口为桌面。

C#用this.TopMost = true
Delphi类似
VB、C++用API SetWindowPos,传递SWP_TOPMOST

用定时器反复覆盖

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const hwnd_topmost = -1
Const swp_nosize = &H1
Const swp_nmove = &H2
Private Sub Form_Load()
        Timer1.Enabled = True
        Timer1.Interval = 100
    SetWindowPos Me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nosize Or swp_nmove
End Sub
Private Sub Timer1_Timer()
    SetWindowPos Me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nosize Or swp_nmove
End Sub