我有一个.NET应用程序(C#和VB),它位于第二个监视器上,有点像一个小部件。它显示时间,天气,笔记和其他misc功能。
所以我看了很多解决方案,将窗口放到桌面上所有其他窗口的前面,包括:
.Show
.TopMost
.Owner
AppActivate(System.Diagnostics.Process.GetCurrentProcess.Id)
和
DllImport("user32.dll", SetLastError:=True)> Private Shared Function
SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, ByVal X
As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer,
ByVal uFlags As Integer) As Boolean
End Function
SetWindowPos(Me.Handle(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
我正在使用第二台桌面上的应用程序进行双显示器设置。应用程序将保持最顶层的窗口一段时间,但如果我切换到主监视器,然后返回到第二个监视器,它将应用程序发送到后面,除非我使用AppActivate
定时器来定期运行。
我不想使用AppActivate
,因为我不想让应用程序集中注意力或使用计时器,所以有没有办法把它/设置为'始终,无论如何什么,无论什么显示器,你都处于所有其他应用程序的顶层?