Module1.bas
上传用户:albinfu
上传日期:2021-08-24
资源大小:71k
文件大小:8k
源码类别:

杀毒

开发平台:

Visual Basic

  1. Attribute VB_Name = "Message"
  2. Public Type NOTIFYICONDATA
  3.     cbSize As Long
  4.     hwnd As Long
  5.     uId As Long
  6.     uFlags As Long
  7.     ucallbackMessage As Long
  8.     hIcon As Long
  9.     szTip As String * 64
  10. End Type
  11. Public Const NIM_ADD = &H0
  12. Public Const NIM_MODIFY = &H1
  13. Public Const NIM_DELETE = &H2
  14. Public Const NIF_MESSAGE = &H1
  15. Public Const NIF_ICON = &H2
  16. Public Const NIF_TIP = &H4
  17. Public Const WM_LBUTTONDBLCLK = &H203
  18. Public Const WM_LBUTTONDOWN = &H201
  19. Public Const WM_RBUTTONUP = &H205
  20.  Public Const WM_MOUSEMOVE = &H200
  21. Public Const WM_RBUTTONDOWN = &H204
  22. Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
  23. Public 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
  24. Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  25. Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
  26. Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
  27. Public Declare Function GetForegroundWindow Lib "user32" () As Long
  28. Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
  29. Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
  30. Public TrayI As NOTIFYICONDATA
  31. Public Const DRIVE_REMOVABLE = 2
  32. Public Const DRIVE_FIXED = 3
  33. Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
  34. Public Declare Function GetMenuItemCount Lib "user32" (ByVal hmenu As Long) As Long
  35. Public Declare Function RemoveMenu Lib "user32" (ByVal hmenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
  36. Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
  37. Public Const MF_BYPOSITION = &H400&
  38. Public Const MF_REMOVE = &H1000&
  39. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  40. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  41. Public Const WS_CAPTION = &HC00000
  42. Public Const WS_MINIMIZEBOX = &H20000
  43. Public Const WS_MAXIMIZEBOX = &H10000
  44. Public Const WS_SYSMENU = &H80000
  45. Public Const GWL_STYLE = (-16)
  46. Public Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
  47. Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
  48. Public Const KEYEVENTF_KEYUP = &H2
  49. Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  50. Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
  51. Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  52. Public Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
  53. Public Const FILE_ATTRIBUTE_ARCHIVE = &H20 '存档
  54. Public Const FILE_ATTRIBUTE_COMPRESSED = &H800 '压缩
  55. Public Const FILE_ATTRIBUTE_DIRECTORY = &H10 '目录
  56. Public Const FILE_ATTRIBUTE_HIDDEN = &H2 '隐藏
  57. Public Const FILE_ATTRIBUTE_NORMAL = &H80 '正常
  58. Public Const FILE_ATTRIBUTE_READONLY = &H1 '只读
  59. Public Const FILE_ATTRIBUTE_SYSTEM = &H4 '系统
  60. Public Const SW_MINIMIZE = 6
  61. Public Const SW_SHOWMAXIMIZED = 3
  62. Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
  63. Public Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
  64. Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
  65. Function TitleBar()
  66. Dim hmenu As Long
  67. Dim ncount As Long
  68. hmenu = GetSystemMenu(Form1.hwnd, 0)
  69. ncount = GetMenuItemCount(hmenu)
  70. Call RemoveMenu(hmenu, 0, MF_REMOVE Or MF_BYPOSITION)
  71. Call RemoveMenu(hmenu, 1, MF_REMOVE Or MF_BYPOSITION)
  72. Call RemoveMenu(hmenu, 2, MF_REMOVE Or MF_BYPOSITION)
  73. 'Call RemoveMenu(hmenu, 3, MF_REMOVE Or MF_BYPOSITION)
  74. 'Call RemoveMenu(hmenu, 4, MF_REMOVE Or MF_BYPOSITION)
  75. DrawMenuBar Form1.hwnd
  76. Dim SN As Long
  77. SN = GetWindowLong(Form1.hwnd, GWL_STYLE)
  78. 'SN = SN And Not WS_SYSMENU
  79. SN = SN And Not WS_MAXIMIZEBOX
  80. 'SN = SN And Not WS_MINIMIZEBOX
  81. 'SN = SN And Not WS_CAPTION
  82. SetWindowLong Form1.hwnd, GWL_STYLE, SN
  83. End Function
  84. Function GetAutoRun(Mypath As String) As String '====判断根目录下所有文件的类型
  85. If Mypath = "" Then Exit Function
  86. Dim ATest As Integer, FileT As String
  87. ATest = GetFileAttributes(Mypath)
  88. If ATest And FILE_ATTRIBUTE_ARCHIVE Then FileT = FileT & "A"
  89. If ATest And FILE_ATTRIBUTE_DIRECTORY Then FileT = FileT & "D"
  90. If ATest And FILE_ATTRIBUTE_HIDDEN Then FileT = FileT & "H"
  91. If ATest And FILE_ATTRIBUTE_NORMAL Then FileT = FileT & "N"
  92. If ATest And FILE_ATTRIBUTE_READONLY Then FileT = FileT & "R"
  93. If ATest And FILE_ATTRIBUTE_SYSTEM Then FileT = FileT & "S"
  94. GetAutoRun = FileT
  95. End Function
  96. Function TellFileType(GiveMe As String) As String  '====文件属性中文说明====
  97. Dim FT As String
  98. If InStr(GiveMe, "A") Then FT = FT & "存档" & "+"
  99. If InStr(GiveMe, "D") Then FT = FT & "目录" & "+"
  100. If InStr(GiveMe, "H") Then FT = FT & "隐藏" & "+"
  101. If InStr(GiveMe, "N") Then FT = FT & "正常" & "+"
  102. If InStr(GiveMe, "R") Then FT = FT & "只读" & "+"
  103. If InStr(GiveMe, "S") Then FT = FT & "系统" & "+"
  104. TellFileType = Left(FT, Len(FT) - 1)
  105. End Function
  106. Function WriteLog(xx As String) '====转入后台记录====
  107. If xx = "" Then Exit Function
  108. Dim fso, w
  109. Set fso = CreateObject("scripting.filesystemobject")
  110. Set w = fso.opentextfile("d:usb.txt", 8, True)
  111. w.writeline xx
  112. w.Close
  113. End Function
  114. Function RecordNumber() As Integer '=====记录条数====
  115. Dim fso, f, FF
  116. RecordNumber = 0
  117. On Error Resume Next
  118. Set fso = CreateObject("scripting.filesystemobject")
  119. If fso.fileexists("d:usb.txt") = False Then Exit Function
  120. Set f = fso.opentextfile("d:usb.txt", 1, True)
  121. FF = f.readall
  122. RecordNumber = f.Line - 1
  123. f.Close
  124. End Function
  125. Function GetFactory(ll As String) As String  '====卷标名称====
  126. Dim Volume As String * 255
  127. If ll = "" Then Exit Function
  128. Call GetVolumeInformation(ll, Volume, 255, 0&, 0&, 0&, 0&, 255)
  129. GetFactory = Left(Volume, InStr(Volume, vbNullChar) - 1)
  130. End Function
  131. 'Function HelpMe(i As Integer) As String  '===帮助=====
  132. 'Dim s(1 To 9) As String, X As String
  133. 's(1) = "打开目录功能:当插入可移动磁盘时,自动扫描隐藏文件并确认安全后再自动打开U盘所在目录。"
  134. 's(2) = "最前显示功能:当前窗口置于所有窗口之上,或以正常窗口显示当有新窗口打开时被覆盖。"
  135. 's(3) = "消息提示功能:当插入、移除U盘、自动隐藏时,均有进度条状态显示。"
  136. 's(4) = "自动隐藏功能:一段时间没有鼠标动作后(30秒)将自动隐藏转入后台处理,不影响正常工作。"
  137. 's(5) = "时间显示功能:显示当前程序已启动时间,可以观察程序运行状态有无异常。"
  138. 's(6) = "窗口检测功能:100MHZ频率自动扫描,能自动跟随鼠标活动,一旦发现磁盘目录有危险性文件时,能在病毒运行之前先删除它。"
  139. 's(7) = "安全打开功能:能打开当前U盘所在盘符目录,而非鼠标双击打开,窗口标题会有提示。"
  140. 's(8) = "查看删除功能:对可移动磁盘的所有动作均在后台作详细记录,可查看操作记录,删除记录。"
  141. 's(9) = "系统扫描功能:对可移动磁盘、本地磁盘作全面扫描,发现病毒文件立即删除。"
  142. 'HelpMe = s(i)
  143. 'End Function