程序是这样的:
Private Declare Sub 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)
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
'********************************************************************************************
Private Sub Form_Load()
Me.Caption = "提醒"
SetWindowPos Me.hWnd, HWND_TOPMOST, 800, 200, 280, 25, SWP_NOACTIVATE + SWP_SHOWWINDOW
Call Timer1_Timer
End Sub
'****************************************************************************
Private Sub Timer1_Timer()
Timer1.Interval = 1000
Timer1.Enabled = True
Dim A(3) As Integer
A(1) = Year(Now)
A(2) = Month(Now)
A(3) = Day(Now)
下面程序有省略
If A(2) = 12 And A(3) = 29 Then
If Hour(Now) >= 12 And Hour(Now) <= 24 Then
'retValue = SetWindowPos(Me.hwnd, HWND_TOPMOST, 800, 250, 300, 20, SWP_SHOWWINDOW)
paidandate = Format(Date + 2, "yyyy/mm/dd")
Label2.FontSize = 9
Label2.Font = 宋体
Label2.FontBold = True
Label2.ForeColor = vbRed
Label2.Caption = Date & ",派单时限为" & paidandate & "!"
Form1.Show
Else
Form1.Hide
End If现在的问题是,正常情况下,FORM1窗体始终置顶的,并且不影响网页浏览以及WORD浏览等,
但是和一些单位的程序存在冲突。
1、表现为:
当FORM1置顶显示的时候,公司的应用程序无法控制鼠标。
2、理解为:
是不是对方也设置了timer控件,存在冲突导致?---修改Timer1.Interval = 60*1000,后仍然无法解决。
3、能否:
使得form1窗体置顶,但是成为非活动窗口?不影响其他程序的应用?就像flashget一样,窗体浮动在界面上
Private Declare Sub 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)
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
'********************************************************************************************
Private Sub Form_Load()
Me.Caption = "提醒"
SetWindowPos Me.hWnd, HWND_TOPMOST, 800, 200, 280, 25, SWP_NOACTIVATE + SWP_SHOWWINDOW
Call Timer1_Timer
End Sub
'****************************************************************************
Private Sub Timer1_Timer()
Timer1.Interval = 1000
Timer1.Enabled = True
Dim A(3) As Integer
A(1) = Year(Now)
A(2) = Month(Now)
A(3) = Day(Now)
下面程序有省略
If A(2) = 12 And A(3) = 29 Then
If Hour(Now) >= 12 And Hour(Now) <= 24 Then
'retValue = SetWindowPos(Me.hwnd, HWND_TOPMOST, 800, 250, 300, 20, SWP_SHOWWINDOW)
paidandate = Format(Date + 2, "yyyy/mm/dd")
Label2.FontSize = 9
Label2.Font = 宋体
Label2.FontBold = True
Label2.ForeColor = vbRed
Label2.Caption = Date & ",派单时限为" & paidandate & "!"
Form1.Show
Else
Form1.Hide
End If现在的问题是,正常情况下,FORM1窗体始终置顶的,并且不影响网页浏览以及WORD浏览等,
但是和一些单位的程序存在冲突。
1、表现为:
当FORM1置顶显示的时候,公司的应用程序无法控制鼠标。
2、理解为:
是不是对方也设置了timer控件,存在冲突导致?---修改Timer1.Interval = 60*1000,后仍然无法解决。
3、能否:
使得form1窗体置顶,但是成为非活动窗口?不影响其他程序的应用?就像flashget一样,窗体浮动在界面上
需要置顶时 请输入这段SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3取消置顶时 请输入这段SetWindowPos Me.hwnd, -2, 0, 0, 0, 0, 3都不知道Timer 有什么用!改用上面的代码简单方便 ^_^
对的