-
Notifications
You must be signed in to change notification settings - Fork 39
/
FormAlertMessage.frm
236 lines (209 loc) · 7.18 KB
/
FormAlertMessage.frm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
VERSION 5.00
Begin VB.Form FormAlertMessage
BorderStyle = 0 'None
Caption = "提醒"
ClientHeight = 3180
ClientLeft = 0
ClientTop = 0
ClientWidth = 4155
Icon = "FormAlertMessage.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
Picture = "FormAlertMessage.frx":57E2
ScaleHeight = 3180
ScaleWidth = 4155
ShowInTaskbar = 0 'False
StartUpPosition = 3 '窗口缺省
Begin VB.Timer TimerBringToTop
Interval = 10
Left = 1440
Top = 2760
End
Begin VB.Timer TimerAutoUnload
Interval = 1000
Left = 960
Top = 2760
End
Begin VB.Image ImageExit
Height = 285
Index = 0
Left = 3480
Picture = "FormAlertMessage.frx":30924
Top = 0
Width = 465
End
Begin VB.Image ImageExit
Height = 285
Index = 1
Left = 3480
Picture = "FormAlertMessage.frx":31086
Top = 0
Width = 465
End
Begin VB.Image ImageExit
Height = 285
Index = 2
Left = 3480
Picture = "FormAlertMessage.frx":317E8
Top = 0
Width = 465
End
Begin VB.Label LabelLabelAutoTip
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "秒后自动关闭。"
Height = 180
Left = 480
TabIndex = 2
Top = 2400
Width = 1260
End
Begin VB.Label LabelAutoCloseAlertInterval
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "0"
Height = 180
Left = 240
TabIndex = 1
Top = 2400
Width = 90
End
Begin VB.Label LabelInfo
BackStyle = 0 'Transparent
Caption = "info"
Height = 1695
Left = 240
TabIndex = 0
Top = 720
Width = 3735
End
End
Attribute VB_Name = "FormAlertMessage"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'****************************************************************
'
' Ty2y杀毒软件
' http://www.ty2y.com/
'
' 信息提示窗体
'
'****************************************************************
Option Explicit
'api声明
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 Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Sub Form_Activate()
SetForegroundWindow Me.hWnd
ReSkinMe
End Sub
'窗体启动函数
Private Sub Form_Load()
SetForegroundWindow Me.hWnd
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'按下鼠标左键
If Button = vbLeftButton Then
'为当前的应用程序释放鼠标捕获
ReleaseCapture
'移动窗体
SendMessage Me.hWnd, &HA1, 2, 0
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'关闭铵钮
ImageExit(0).Visible = True
ImageExit(1).Visible = False
ImageExit(2).Visible = False
End Sub
Private Sub ImageExit_Click(Index As Integer)
Unload Me
End Sub
Private Sub ImageExit_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
'退出铵钮状态
ImageExit(0).Visible = False
ImageExit(1).Visible = True
ImageExit(2).Visible = False
End Sub
Private Sub ImageExit_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
'退出铵钮状态
ImageExit(0).Visible = False
ImageExit(1).Visible = False
ImageExit(2).Visible = True
End Sub
Private Sub ImageExit_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
'退出点击铵钮
Unload Me
End Sub
'用定时器控制让窗体自动销毁
Private Sub TimerAutoUnload_Timer()
If LabelAutoCloseAlertInterval <> 0 Then
LabelAutoCloseAlertInterval.Caption = CLng(LabelAutoCloseAlertInterval.Caption) - 1
LabelAutoCloseAlertInterval.Refresh
Else
Unload Me
End If
End Sub
'用定时器控制让窗体置于最前
Private Sub TimerBringToTop_Timer()
'将窗体置于最前
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, &H1 Or &H2
DoEvents
'窗体提示音
If Dir(App.Path & "\notify.wav") <> "" Then
PlaySound App.Path & "\notify.wav", 1, 1
End If
'恢复窗体位置
SetWindowPos Me.hWnd, -2, 0, 0, 0, 0, &H1 Or &H2
TimerBringToTop.Enabled = False
'软件设置记录文件
Dim sSettingsFile As String
If Right(App.Path, 1) = "\" Then
sSettingsFile = App.Path & "Settings.ini"
Else
sSettingsFile = App.Path & "\Settings.ini"
End If
'读取防护提醒开启状态
Dim lAutoCloseAlert As Long
lAutoCloseAlert = ReadIni(sSettingsFile, "Shield", "AutoCloseAlertMessage")
If lAutoCloseAlert = 1 Then
'自动关闭提示窗口频率
Dim lAutoCloseAlertInterval As Long
lAutoCloseAlertInterval = ReadIni(sSettingsFile, "Shield", "AutoCloseAlertMessageInterval")
'设置时间
LabelAutoCloseAlertInterval.Caption = lAutoCloseAlertInterval
'激活自动关闭
TimerAutoUnload = True
Else
TimerAutoUnload = False
LabelAutoCloseAlertInterval.Visible = False
LabelLabelAutoTip.Visible = False
End If
DoEvents
Dim I As Long
For I = 0 To 2
'初始化关闭铵钮位置
With ImageExit(I)
.Left = 3480
.Top = 0
End With
Next
'关闭铵钮
ImageExit(0).Visible = True
ImageExit(1).Visible = False
ImageExit(2).Visible = False
End Sub
Public Function ReSkinMe()
With Me
.Picture = LoadPicture(App.Path & "\Skin\" & sSkin & "\ActiveDefense.bmp")
.ImageExit(0).Picture = LoadPicture(App.Path & "\Skin\" & sSkin & "\Exit0.bmp")
.ImageExit(1).Picture = LoadPicture(App.Path & "\Skin\" & sSkin & "\Exit1.bmp")
.ImageExit(2).Picture = LoadPicture(App.Path & "\Skin\" & sSkin & "\Exit2.bmp")
End With
End Function