使窗口总在最前

使窗口总在最前

   曾看到一个问题:如何使我的窗口总在最前?使用api函数 SetWindowPos 可以很容易的作到。

   顾名思义, SetWindowPos 就是完成设置窗口位置和状态(pos=position)的功能。源代码如下:

   Option Explicit

 

  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

 

  Private Const HWND_TOPMOST& = -1

   ' 将窗口置于列表顶部,并位于任何最顶部窗口的前面

  Private Const SWP_NOSIZE& = &H1

   ' 保持窗口大小

  Private Const SWP_NOMOVE& = &H2

   ' 保持窗口位置

 

  Private Sub Form_Load()

       SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE

       ' 将窗口设为总在最前

   End Sub