将.NET应用程序带到第二台显示器上

时间:2015-03-07 02:27:10

标签: .net multiple-monitors topmost

我有一个.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,因为我不想让应用程序集中注意力或使用计时器,所以有没有办法把它/设置为'始终,无论如何什么,无论什么显示器,你都处于所有其他应用程序的顶层?

0 个答案:

没有答案