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

杀毒

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Begin VB.Form Form1 
  4.    AutoRedraw      =   -1  'True
  5.    BackColor       =   &H80000018&
  6.    Caption         =   "Form1"
  7.    ClientHeight    =   3135
  8.    ClientLeft      =   60
  9.    ClientTop       =   450
  10.    ClientWidth     =   7320
  11.    Icon            =   "Form1.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    Picture         =   "Form1.frx":0442
  14.    ScaleHeight     =   3135
  15.    ScaleWidth      =   7320
  16.    Begin VB.Frame Frame6 
  17.       BackColor       =   &H80000018&
  18.       Caption         =   "设定 选择操作"
  19.       BeginProperty Font 
  20.          Name            =   "Arial"
  21.          Size            =   9.75
  22.          Charset         =   0
  23.          Weight          =   400
  24.          Underline       =   0   'False
  25.          Italic          =   0   'False
  26.          Strikethrough   =   0   'False
  27.       EndProperty
  28.       Height          =   1185
  29.       Left            =   4200
  30.       TabIndex        =   35
  31.       Top             =   720
  32.       Width           =   3130
  33.       Begin VB.PictureBox BN 
  34.          AutoRedraw      =   -1  'True
  35.          BackColor       =   &H80000018&
  36.          BorderStyle     =   0  'None
  37.          ForeColor       =   &H00C00000&
  38.          Height          =   855
  39.          Index           =   3
  40.          Left            =   2280
  41.          Picture         =   "Form1.frx":0884
  42.          ScaleHeight     =   855
  43.          ScaleWidth      =   735
  44.          TabIndex        =   39
  45.          Top             =   240
  46.          Width           =   735
  47.       End
  48.       Begin VB.PictureBox BN 
  49.          AutoRedraw      =   -1  'True
  50.          BackColor       =   &H80000018&
  51.          BorderStyle     =   0  'None
  52.          ForeColor       =   &H00C00000&
  53.          Height          =   855
  54.          Index           =   5
  55.          Left            =   80
  56.          Picture         =   "Form1.frx":0CC6
  57.          ScaleHeight     =   855
  58.          ScaleWidth      =   735
  59.          TabIndex        =   37
  60.          Top             =   240
  61.          Width           =   735
  62.       End
  63.       Begin VB.PictureBox BN 
  64.          AutoRedraw      =   -1  'True
  65.          BackColor       =   &H80000018&
  66.          BorderStyle     =   0  'None
  67.          ForeColor       =   &H00C00000&
  68.          Height          =   855
  69.          Index           =   6
  70.          Left            =   1080
  71.          Picture         =   "Form1.frx":1108
  72.          ScaleHeight     =   855
  73.          ScaleWidth      =   975
  74.          TabIndex        =   36
  75.          Top             =   240
  76.          Width           =   975
  77.       End
  78.    End
  79.    Begin VB.PictureBox PIC 
  80.       Height          =   615
  81.       Index           =   12
  82.       Left            =   3360
  83.       Picture         =   "Form1.frx":154A
  84.       ScaleHeight     =   555
  85.       ScaleWidth      =   675
  86.       TabIndex        =   34
  87.       Top             =   6120
  88.       Width           =   735
  89.    End
  90.    Begin VB.PictureBox PIC 
  91.       Height          =   615
  92.       Index           =   11
  93.       Left            =   2640
  94.       Picture         =   "Form1.frx":198C
  95.       ScaleHeight     =   555
  96.       ScaleWidth      =   675
  97.       TabIndex        =   33
  98.       Top             =   6120
  99.       Width           =   735
  100.    End
  101.    Begin VB.PictureBox PIC 
  102.       Height          =   615
  103.       Index           =   10
  104.       Left            =   1920
  105.       Picture         =   "Form1.frx":1DCE
  106.       ScaleHeight     =   555
  107.       ScaleWidth      =   675
  108.       TabIndex        =   32
  109.       Top             =   6120
  110.       Width           =   735
  111.    End
  112.    Begin VB.PictureBox PIC 
  113.       Height          =   615
  114.       Index           =   9
  115.       Left            =   8400
  116.       Picture         =   "Form1.frx":2210
  117.       ScaleHeight     =   555
  118.       ScaleWidth      =   675
  119.       TabIndex        =   31
  120.       Top             =   5520
  121.       Width           =   735
  122.    End
  123.    Begin VB.PictureBox PIC 
  124.       Height          =   615
  125.       Index           =   8
  126.       Left            =   7680
  127.       Picture         =   "Form1.frx":2ADA
  128.       ScaleHeight     =   555
  129.       ScaleWidth      =   675
  130.       TabIndex        =   30
  131.       Top             =   5520
  132.       Width           =   735
  133.    End
  134.    Begin VB.PictureBox PIC 
  135.       Height          =   615
  136.       Index           =   7
  137.       Left            =   6960
  138.       Picture         =   "Form1.frx":2F1C
  139.       ScaleHeight     =   555
  140.       ScaleWidth      =   675
  141.       TabIndex        =   27
  142.       Top             =   5520
  143.       Width           =   735
  144.    End
  145.    Begin VB.PictureBox PIC 
  146.       Height          =   615
  147.       Index           =   6
  148.       Left            =   6240
  149.       Picture         =   "Form1.frx":3226
  150.       ScaleHeight     =   555
  151.       ScaleWidth      =   675
  152.       TabIndex        =   26
  153.       Top             =   5520
  154.       Width           =   735
  155.    End
  156.    Begin VB.PictureBox PIC 
  157.       Height          =   615
  158.       Index           =   5
  159.       Left            =   5520
  160.       Picture         =   "Form1.frx":3668
  161.       ScaleHeight     =   555
  162.       ScaleWidth      =   675
  163.       TabIndex        =   25
  164.       Top             =   5520
  165.       Width           =   735
  166.    End
  167.    Begin VB.CommandButton Command1 
  168.       BackColor       =   &H80000010&
  169.       Caption         =   "退出程序"
  170.       BeginProperty Font 
  171.          Name            =   "Arial"
  172.          Size            =   9
  173.          Charset         =   0
  174.          Weight          =   400
  175.          Underline       =   0   'False
  176.          Italic          =   0   'False
  177.          Strikethrough   =   0   'False
  178.       EndProperty
  179.       Height          =   495
  180.       Index           =   5
  181.       Left            =   7440
  182.       TabIndex        =   23
  183.       Top             =   1320
  184.       Width           =   975
  185.    End
  186.    Begin VB.CommandButton Command1 
  187.       BackColor       =   &H80000014&
  188.       Caption         =   "安全打开"
  189.       BeginProperty Font 
  190.          Name            =   "Arial"
  191.          Size            =   9
  192.          Charset         =   0
  193.          Weight          =   400
  194.          Underline       =   0   'False
  195.          Italic          =   0   'False
  196.          Strikethrough   =   0   'False
  197.       EndProperty
  198.       Height          =   495
  199.       Index           =   0
  200.       Left            =   7440
  201.       TabIndex        =   22
  202.       Top             =   1920
  203.       Width           =   975
  204.    End
  205.    Begin VB.CommandButton Command1 
  206.       Caption         =   "查看记录"
  207.       BeginProperty Font 
  208.          Name            =   "Arial"
  209.          Size            =   9
  210.          Charset         =   0
  211.          Weight          =   400
  212.          Underline       =   0   'False
  213.          Italic          =   0   'False
  214.          Strikethrough   =   0   'False
  215.       EndProperty
  216.       Height          =   495
  217.       Index           =   2
  218.       Left            =   7440
  219.       TabIndex        =   21
  220.       Top             =   120
  221.       Width           =   960
  222.    End
  223.    Begin VB.CommandButton Command1 
  224.       Caption         =   "删除记录"
  225.       BeginProperty Font 
  226.          Name            =   "Arial"
  227.          Size            =   9
  228.          Charset         =   0
  229.          Weight          =   400
  230.          Underline       =   0   'False
  231.          Italic          =   0   'False
  232.          Strikethrough   =   0   'False
  233.       EndProperty
  234.       Height          =   495
  235.       Index           =   3
  236.       Left            =   7440
  237.       TabIndex        =   20
  238.       Top             =   720
  239.       Width           =   975
  240.    End
  241.    Begin VB.Frame Frame5 
  242.       BackColor       =   &H80000018&
  243.       Height          =   400
  244.       Left            =   5430
  245.       TabIndex        =   18
  246.       Top             =   1890
  247.       Width           =   1900
  248.       Begin VB.Label Label3 
  249.          BackColor       =   &H80000018&
  250.          Caption         =   "正在启动. . ."
  251.          BeginProperty Font 
  252.             Name            =   "Arial"
  253.             Size            =   9
  254.             Charset         =   0
  255.             Weight          =   400
  256.             Underline       =   0   'False
  257.             Italic          =   0   'False
  258.             Strikethrough   =   0   'False
  259.          EndProperty
  260.          Height          =   225
  261.          Left            =   80
  262.          TabIndex        =   19
  263.          Top             =   120
  264.          Width           =   1720
  265.       End
  266.    End
  267.    Begin VB.Timer Timer2 
  268.       Left            =   9600
  269.       Top             =   120
  270.    End
  271.    Begin VB.PictureBox PIC 
  272.       Height          =   615
  273.       Index           =   4
  274.       Left            =   4800
  275.       Picture         =   "Form1.frx":3AAA
  276.       ScaleHeight     =   555
  277.       ScaleWidth      =   675
  278.       TabIndex        =   13
  279.       Top             =   5520
  280.       Width           =   735
  281.    End
  282.    Begin VB.Frame Frame4 
  283.       BackColor       =   &H80000018&
  284.       Height          =   400
  285.       Left            =   20
  286.       TabIndex        =   11
  287.       Top             =   1890
  288.       Width           =   5415
  289.       Begin MSComctlLib.ProgressBar PASS2 
  290.          Height          =   255
  291.          Left            =   45
  292.          TabIndex        =   14
  293.          Top             =   120
  294.          Width           =   4815
  295.          _ExtentX        =   8493
  296.          _ExtentY        =   450
  297.          _Version        =   393216
  298.          Appearance      =   1
  299.       End
  300.       Begin VB.Label Label2 
  301.          BackColor       =   &H80000018&
  302.          Caption         =   "%"
  303.          BeginProperty Font 
  304.             Name            =   "Arial"
  305.             Size            =   9.75
  306.             Charset         =   0
  307.             Weight          =   400
  308.             Underline       =   0   'False
  309.             Italic          =   0   'False
  310.             Strikethrough   =   0   'False
  311.          EndProperty
  312.          Height          =   225
  313.          Left            =   4930
  314.          TabIndex        =   12
  315.          Top             =   120
  316.          Width           =   420
  317.       End
  318.    End
  319.    Begin VB.Frame Frame3 
  320.       BackColor       =   &H80000018&
  321.       Caption         =   "设定: 选择操作"
  322.       BeginProperty Font 
  323.          Name            =   "Arial"
  324.          Size            =   9.75
  325.          Charset         =   0
  326.          Weight          =   400
  327.          Underline       =   0   'False
  328.          Italic          =   0   'False
  329.          Strikethrough   =   0   'False
  330.       EndProperty
  331.       Height          =   860
  332.       Left            =   20
  333.       TabIndex        =   7
  334.       Top             =   2280
  335.       Width           =   7320
  336.       Begin VB.CheckBox Check7 
  337.          BackColor       =   &H80000018&
  338.          Caption         =   "限制窗口移出屏幕"
  339.          BeginProperty Font 
  340.             Name            =   "Arial"
  341.             Size            =   9.75
  342.             Charset         =   0
  343.             Weight          =   400
  344.             Underline       =   0   'False
  345.             Italic          =   0   'False
  346.             Strikethrough   =   0   'False
  347.          EndProperty
  348.          Height          =   240
  349.          Left            =   4920
  350.          TabIndex        =   40
  351.          Top             =   280
  352.          Width           =   2250
  353.       End
  354.       Begin VB.CheckBox Check6 
  355.          BackColor       =   &H80000018&
  356.          Caption         =   "前端显示"
  357.          BeginProperty Font 
  358.             Name            =   "Arial"
  359.             Size            =   9.75
  360.             Charset         =   0
  361.             Weight          =   400
  362.             Underline       =   0   'False
  363.             Italic          =   0   'False
  364.             Strikethrough   =   0   'False
  365.          EndProperty
  366.          Height          =   255
  367.          Left            =   1800
  368.          TabIndex        =   17
  369.          Top             =   280
  370.          Width           =   1290
  371.       End
  372.       Begin VB.CheckBox Check5 
  373.          BackColor       =   &H80000018&
  374.          Caption         =   "检查当前窗口的文件状态"
  375.          BeginProperty Font 
  376.             Name            =   "Arial"
  377.             Size            =   9.75
  378.             Charset         =   0
  379.             Weight          =   400
  380.             Underline       =   0   'False
  381.             Italic          =   0   'False
  382.             Strikethrough   =   0   'False
  383.          EndProperty
  384.          Height          =   255
  385.          Left            =   100
  386.          TabIndex        =   16
  387.          Top             =   550
  388.          Width           =   2955
  389.       End
  390.       Begin VB.CheckBox Check4 
  391.          BackColor       =   &H80000018&
  392.          Caption         =   "显示运行时间"
  393.          BeginProperty Font 
  394.             Name            =   "Arial"
  395.             Size            =   9.75
  396.             Charset         =   0
  397.             Weight          =   400
  398.             Underline       =   0   'False
  399.             Italic          =   0   'False
  400.             Strikethrough   =   0   'False
  401.          EndProperty
  402.          Height          =   240
  403.          Left            =   3120
  404.          TabIndex        =   15
  405.          Top             =   550
  406.          Width           =   1770
  407.       End
  408.       Begin VB.CheckBox Check1 
  409.          BackColor       =   &H80000018&
  410.          Caption         =   "打开U盘目录"
  411.          BeginProperty Font 
  412.             Name            =   "Arial"
  413.             Size            =   9.75
  414.             Charset         =   0
  415.             Weight          =   400
  416.             Underline       =   0   'False
  417.             Italic          =   0   'False
  418.             Strikethrough   =   0   'False
  419.          EndProperty
  420.          Height          =   240
  421.          Left            =   100
  422.          TabIndex        =   10
  423.          Top             =   280
  424.          Width           =   1755
  425.       End
  426.       Begin VB.CheckBox Check2 
  427.          BackColor       =   &H80000018&
  428.          Caption         =   "自动消息提示"
  429.          BeginProperty Font 
  430.             Name            =   "Arial"
  431.             Size            =   9.75
  432.             Charset         =   0
  433.             Weight          =   400
  434.             Underline       =   0   'False
  435.             Italic          =   0   'False
  436.             Strikethrough   =   0   'False
  437.          EndProperty
  438.          Height          =   240
  439.          Left            =   3120
  440.          TabIndex        =   9
  441.          Top             =   280
  442.          Width           =   1755
  443.       End
  444.       Begin VB.CheckBox Check3 
  445.          BackColor       =   &H80000018&
  446.          Caption         =   "30秒自动隐藏窗口"
  447.          BeginProperty Font 
  448.             Name            =   "Arial"
  449.             Size            =   9.75
  450.             Charset         =   0
  451.             Weight          =   400
  452.             Underline       =   0   'False
  453.             Italic          =   0   'False
  454.             Strikethrough   =   0   'False
  455.          EndProperty
  456.          Height          =   240
  457.          Left            =   4920
  458.          TabIndex        =   8
  459.          Top             =   550
  460.          Width           =   2250
  461.       End
  462.    End
  463.    Begin VB.PictureBox PIC 
  464.       Height          =   615
  465.       Index           =   3
  466.       Left            =   4080
  467.       Picture         =   "Form1.frx":97FC
  468.       ScaleHeight     =   555
  469.       ScaleWidth      =   675
  470.       TabIndex        =   6
  471.       Top             =   5520
  472.       Width           =   735
  473.    End
  474.    Begin VB.PictureBox PIC 
  475.       Height          =   615
  476.       Index           =   2
  477.       Left            =   3360
  478.       Picture         =   "Form1.frx":9C3E
  479.       ScaleHeight     =   555
  480.       ScaleWidth      =   675
  481.       TabIndex        =   5
  482.       Top             =   5520
  483.       Width           =   735
  484.    End
  485.    Begin VB.PictureBox PIC 
  486.       Height          =   615
  487.       Index           =   1
  488.       Left            =   2640
  489.       Picture         =   "Form1.frx":A080
  490.       ScaleHeight     =   555
  491.       ScaleWidth      =   675
  492.       TabIndex        =   4
  493.       Top             =   5520
  494.       Width           =   735
  495.    End
  496.    Begin VB.PictureBox PIC 
  497.       Height          =   615
  498.       Index           =   0
  499.       Left            =   1920
  500.       Picture         =   "Form1.frx":A4C2
  501.       ScaleHeight     =   555
  502.       ScaleWidth      =   675
  503.       TabIndex        =   3
  504.       Top             =   5520
  505.       Width           =   735
  506.    End
  507.    Begin VB.Frame Frame2 
  508.       BackColor       =   &H80000018&
  509.       Caption         =   "操作"
  510.       BeginProperty Font 
  511.          Name            =   "Arial"
  512.          Size            =   9.75
  513.          Charset         =   0
  514.          Weight          =   400
  515.          Underline       =   0   'False
  516.          Italic          =   0   'False
  517.          Strikethrough   =   0   'False
  518.       EndProperty
  519.       Height          =   1185
  520.       Left            =   20
  521.       TabIndex        =   2
  522.       Top             =   720
  523.       Width           =   4110
  524.       Begin VB.PictureBox BN 
  525.          AutoRedraw      =   -1  'True
  526.          BackColor       =   &H80000018&
  527.          BorderStyle     =   0  'None
  528.          ForeColor       =   &H00C00000&
  529.          Height          =   855
  530.          Index           =   4
  531.          Left            =   3240
  532.          Picture         =   "Form1.frx":A904
  533.          ScaleHeight     =   855
  534.          ScaleWidth      =   975
  535.          TabIndex        =   38
  536.          Top             =   240
  537.          Width           =   975
  538.       End
  539.       Begin VB.PictureBox BN 
  540.          AutoRedraw      =   -1  'True
  541.          BackColor       =   &H80000018&
  542.          BorderStyle     =   0  'None
  543.          ForeColor       =   &H00C00000&
  544.          Height          =   855
  545.          Index           =   2
  546.          Left            =   2280
  547.          Picture         =   "Form1.frx":B1CE
  548.          ScaleHeight     =   855
  549.          ScaleWidth      =   1095
  550.          TabIndex        =   29
  551.          Top             =   250
  552.          Width           =   1095
  553.       End
  554.       Begin VB.PictureBox BN 
  555.          AutoRedraw      =   -1  'True
  556.          BackColor       =   &H80000018&
  557.          BorderStyle     =   0  'None
  558.          ForeColor       =   &H00C00000&
  559.          Height          =   855
  560.          Index           =   1
  561.          Left            =   1160
  562.          Picture         =   "Form1.frx":B4D8
  563.          ScaleHeight     =   855
  564.          ScaleWidth      =   1095
  565.          TabIndex        =   28
  566.          Top             =   250
  567.          Width           =   1095
  568.       End
  569.       Begin VB.PictureBox BN 
  570.          BackColor       =   &H80000018&
  571.          BorderStyle     =   0  'None
  572.          ForeColor       =   &H00C00000&
  573.          Height          =   840
  574.          Index           =   0
  575.          Left            =   80
  576.          Picture         =   "Form1.frx":B91A
  577.          ScaleHeight     =   840
  578.          ScaleWidth      =   960
  579.          TabIndex        =   24
  580.          Top             =   240
  581.          Width           =   960
  582.       End
  583.    End
  584.    Begin VB.Timer Timer1 
  585.       Left            =   10320
  586.       Top             =   240
  587.    End
  588.    Begin VB.Frame Frame1 
  589.       BackColor       =   &H80000018&
  590.       Caption         =   "提示"
  591.       BeginProperty Font 
  592.          Name            =   "Arial"
  593.          Size            =   9.75
  594.          Charset         =   0
  595.          Weight          =   400
  596.          Underline       =   0   'False
  597.          Italic          =   0   'False
  598.          Strikethrough   =   0   'False
  599.       EndProperty
  600.       Height          =   730
  601.       Left            =   20
  602.       TabIndex        =   0
  603.       Top             =   0
  604.       Width           =   7320
  605.       Begin VB.Label Label1 
  606.          BackColor       =   &H80000018&
  607.          Caption         =   "Label1"
  608.          BeginProperty Font 
  609.             Name            =   "Arial"
  610.             Size            =   11.25
  611.             Charset         =   0
  612.             Weight          =   400
  613.             Underline       =   0   'False
  614.             Italic          =   0   'False
  615.             Strikethrough   =   0   'False
  616.          EndProperty
  617.          Height          =   255
  618.          Left            =   120
  619.          TabIndex        =   1
  620.          Top             =   300
  621.          Width           =   7125
  622.       End
  623.    End
  624. End
  625. Attribute VB_Name = "Form1"
  626. Attribute VB_GlobalNameSpace = False
  627. Attribute VB_Creatable = False
  628. Attribute VB_PredeclaredId = True
  629. Attribute VB_Exposed = False
  630. Dim Dis As Integer, DT As String, NT As String, WH As Integer, Start As Date, ML As String, Si As Integer, Factory As String
  631. Function TellDanger(DangerDrive As String) '=====autorun.inf警告拦截===
  632. Dim fso, f, FF, f1, d, A As Integer, EX As String, FTemp(1 To 10) As String, e, Fu As Integer
  633. Dim FK As String, FS(1 To 10) As String, Nu As Integer, Vol As String, Volume As String * 255
  634. Dim LAB As String
  635. If DangerDrive = "" Or DangerDrive = " " Then Exit Function
  636. If InStr(DangerDrive, ":") = 0 Then Exit Function
  637. Set fso = CreateObject("scripting.filesystemobject")
  638. If fso.driveexists(DangerDrive) = False Then Exit Function
  639. Set wshshell = CreateObject("wscript.shell")
  640. Set f = fso.getfolder(DangerDrive & "")
  641. Set f1 = f.Files
  642. For Each d In f1
  643. On Error Resume Next
  644. If InStr(GetAutoRun(CStr(d)), "H") <> 0 Then
  645. EX = fso.getextensionname(d)
  646. If LCase(EX) = "exe" Or LCase(EX) = "inf" Or LCase(EX) = "pif" Then
  647. Fu = Fu + 1
  648. Label1.Caption = Factory & " " & DangerDrive & "   发现文件:" & d.Name & "," & TellFileType(GetAutoRun(CStr(d)))
  649. Form1.Label1.ForeColor = vbBlue
  650. Command1(2).Enabled = True: Command1(3).Enabled = True
  651. FTemp(Fu) = d.Name: FK = DangerDrive & ""
  652. If fso.folderexists(FK & "隔离文件") = False Then fso.createfolder FK & "隔离文件"
  653. FS(Fu) = TellFileType(GetAutoRun(FK & FTemp(Fu)))
  654. Set e = fso.GetFile(d)
  655. e.Attributes = e.Attributes - 2 '================去掉隐藏属性====
  656. If InStr(GetAutoRun(CStr(d)), "R") <> 0 Then '====去掉只读属性===
  657. e.Attributes = e.Attributes - 1
  658. End If
  659. If InStr(GetAutoRun(CStr(d)), "S") <> 0 Then '====去掉系统属性===
  660. e.Attributes = e.Attributes - 4
  661. End If
  662. CopyFile FK & FTemp(Fu), FK & "隔离文件" & FTemp(Fu), False
  663. DeleteFile FK & FTemp(Fu)
  664. WriteLog Now & " 发现文件:" & FTemp(Fu) & "," & FS(Fu) & ",该文件已被清除。"
  665. Form1.Frame2.Caption = "操作 已检测到:" & RecordNumber & " 条信息。"
  666. DoEvents
  667. End If
  668. End If
  669. Next
  670. TrayI.hIcon = PIC(2).Picture '====外围改变图标以免档机====
  671. TrayI.szTip = "插入了可移动磁盘,正在拦截自动播放 ..." & Chr$(0)
  672. Shell_NotifyIcon NIM_MODIFY, TrayI
  673. If Fu > 0 Then '====如果发现了病毒,等先清除了所有病毒后再显示对话框=====
  674. Call GetVolumeInformation(FK, Volume, 255, 0&, 0&, 0&, 0&, 255)
  675. Vol = Left(Volume, InStr(Volume, vbNullChar) - 1)
  676. If Vol = "" Then
  677. If GetDriveType(FK) = 2 Then
  678. LAB = "可移动磁盘"
  679. ElseIf GetDriveType(FK) = 3 Then
  680. LAB = "本地磁盘"
  681. End If
  682. Else
  683. LAB = Vol
  684. End If
  685. For i = 1 To 10
  686. If FTemp(i) <> "" Then
  687. Nu = Nu + 1
  688. AllFile = AllFile & Nu & "." & FTemp(i) & " " & FS(i) & "  "
  689. Else
  690. Exit For
  691. End If
  692. Next i
  693. Dim WT As Long
  694. WT = GetForegroundWindow
  695. SetWindowPos WT, 1, 0, 0, 0, 0, 3 '==这一步很重要,在前台显示消息===
  696. A = MsgBox("发现文件:" & AllFile & _
  697. "文件已被清除。" & _
  698. "副本已备份到:" & FK & "隔离文件 中。" & vbCrLf & vbCrLf & _
  699. "选择‘确定’继续,‘取消’恢复被删除的文件。", vbOKCancel + 48, _
  700. "发现隐藏文件  " & LAB & " " & FK)
  701. SetWindowPos WT, -2, 0, 0, 0, 0, 3 '==恢复正常===
  702. If A = vbCancel Then '===恢复文件并去掉隐藏属性=====
  703. If fso.folderexists(FK & "隔离文件") = False Then
  704. WriteLog Now & " 备份文件被删除,无法恢复所需文件!"
  705. Form1.Frame2.Caption = "操作 已检测到:" & RecordNumber & " 条信息。"
  706. MsgBox "备份文件夹被删除,无法恢复所需文件!", 0 + 48, "失败"
  707. Exit Function
  708. End If
  709. For i = 1 To 10
  710. If FTemp(i) = "" Then Exit For
  711. If fso.fileexists(FK & "隔离文件" & FTemp(i)) = False Then
  712. WriteLog Now & " 文件:" & FK & "隔离文件" & FTemp(i) & " 被删除,无法恢复所需文件!"
  713. Form1.Frame2.Caption = "操作 已检测到:" & RecordNumber & " 条信息。"
  714. MsgBox "文件:" & FK & "隔离文件" & FTemp(i) & " 被删除,无法恢复所需文件!", 0 + 48, "失败"
  715. End If
  716. Next i
  717. For i = 1 To 10
  718. If FTemp(i) = "" Then Exit For
  719. CopyFile FK & "隔离文件" & FTemp(i), FK & FTemp(i), False
  720. WriteLog Now & " 备份文件被还原,为防止误删文件,请去掉文件的隐藏属性。"
  721. Form1.Frame2.Caption = "操作 已检测到:" & RecordNumber & " 条信息。"
  722. Next i
  723. Find = 0
  724. Exit Function
  725. End If
  726. End If
  727. End Function
  728. Private Sub BN_Click(Index As Integer)
  729. Dim wshshell, fso, f, FF
  730. Set fso = CreateObject("scripting.filesystemobject")
  731. Set wshshell = CreateObject("wscript.shell")
  732. Select Case Index
  733. Case 3 '退出程序
  734. SaveSetting "key", "U", "X", CStr(Me.Left)
  735. SaveSetting "key", "U", "Y", CStr(Me.Top)
  736. Shell_NotifyIcon NIM_DELETE, TrayI
  737. If GetSetting("key", "K", 0, "") = "pass" Then
  738. SaveSetting "key", "K", 0, "finish"
  739. End If
  740. Dim ret As Long
  741. ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWindProc)
  742. Call UnregisterHotKey(Me.hwnd, uVirtkey)
  743. End
  744. Case 6 '===更多功能====
  745. If GetSetting("key", "U", 11, "") = "ok" Then
  746. Frame6.Caption = "设定 缩进以精简窗口"
  747. SaveSetting "key", "U", 11, "no"
  748. Frame3.Top = Frame2.Top + Frame2.Height + 30
  749. Frame5.Top = Frame3.Top + Frame3.Height - 20
  750. Frame4.Top = Frame3.Top + Frame3.Height - 20
  751. Me.Height = 3688
  752. Else
  753. Frame6.Caption = "设定 显示更多操作"
  754. SaveSetting "key", "U", 11, "ok"
  755. Frame5.Top = Frame2.Top + Frame2.Height
  756. Frame4.Top = Frame2.Top + Frame2.Height
  757. Frame3.Top = Frame4.Top + Frame4.Height + 5
  758. Me.Height = 2805
  759. End If
  760. Case 0 '====打开目录====
  761. If NT = "" Then BN(0).Enabled = False: BN_Paint (0): Exit Sub
  762. Me.Visible = False
  763. Call Shell("explorer.exe " & NT, vbMaximizedFocus)
  764. SafeOpen
  765. Case 1 '=====查看记录=====
  766. If fso.fileexists("d:usb.txt") = False Then Exit Sub
  767. Shell "notepad.exe d:usb.txt", vbMaximizedFocus
  768. Case 2 '======系统扫描======
  769. ScanFactory
  770. Case 4 '======删除后台记录==========
  771. Dim A As Integer
  772. If fso.fileexists("d:usb.txt") = False Then Exit Sub
  773. Me.Visible = False
  774. A = MsgBox("后台记录可以查看有关U盘操作的信息,确定要删除?", vbOKCancel + vbQuestion, "系统扫描")
  775. If A = vbOK Then
  776. DeleteFile "d:usb.txt"
  777. Frame2.Caption = "操作 已检测到:" & 0 & " 条信息。"
  778. Me.Visible = True
  779. BN_Paint (1)
  780. ElseIf A = vbCancel Then
  781. Me.Visible = True
  782. End If
  783. Case 5 '=======热键设定=============
  784. 'xx = GetSetting("key", "FAST", 0, "")
  785. 'yy = GetSetting("key", "FAST", 1, "")
  786. Dim X As Long, Y As Integer, SP As String, AX, Wp(0 To 2) As String
  787. Wp(0) = "Ctrl": Wp(1) = "Alt": Wp(2) = "Shift"
  788. X = GetSetting("key", "FAST", 0, "")
  789. Y = GetSetting("key", "FAST", 1, "")
  790. SP = ShowKey(X, Y)
  791. AX = Split(SP, "+", -1, 1)
  792. If UBound(AX) = 0 Then
  793. MsgBox "无效的快捷键!", 0 + 48, "退出"
  794. Exit Sub
  795. End If
  796. For i = 0 To 2 '====先清空文本====
  797. Form5.Check1(i).Value = 0
  798. Next i
  799. Form5.Text1(3).Text = ""
  800. For i = UBound(AX) - 1 To 0 Step -1 '====分开写入====
  801. For j = 0 To 2
  802. If AX(i) = Wp(j) Then Form5.Check1(j).Value = 1 '===找好位置写入====
  803. Next j
  804. Next i
  805. Form5.Text1(3).Text = UCase(AX(UBound(AX)))
  806. 'Frame6.Caption = "设定 热键:" & ShowKey(x, y)
  807. Form5.Visible = True
  808. SetWindowPos Form5.hwnd, -1, 0, 0, 0, 0, 3
  809. Form5.Text1(3).SetFocus
  810. End Select
  811. End Sub
  812. Private Sub BN_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  813. Dim TitleMe(0 To 6) As String
  814. TitleMe(0) = "安全打开": TitleMe(1) = "查看记录": TitleMe(2) = "系统扫描": TitleMe(3) = "退出程序"
  815. TitleMe(4) = "删除记录": TitleMe(5) = "热键设定": TitleMe(6) = "参数设置"
  816. DrawButton BN(Index), 3, TitleMe(Index), PIC(Index + 5)
  817. End Sub
  818. Private Sub BN_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  819. Dim TitleMe(0 To 6) As String, i As Integer, xx As Long, yy As Integer
  820. TitleMe(0) = "安全打开": TitleMe(1) = "查看记录": TitleMe(2) = "系统扫描": TitleMe(3) = "退出程序"
  821. TitleMe(4) = "删除记录": TitleMe(5) = "热键设定": TitleMe(6) = "参数设置"
  822. If ML <> CStr(Index) Then
  823. ML = CStr(Index)
  824. xx = GetSetting("key", "FAST", 0, "")
  825. yy = GetSetting("key", "FAST", 1, "")
  826. If Index = 5 Then
  827. Frame6.Caption = "设定 热键:" & ShowKey(xx, yy)
  828. ElseIf Index = 6 Then
  829. If GetSetting("key", "U", 11, "") = "ok" Then
  830. Frame6.Caption = "设定 显示更多操作"
  831. Else
  832. Frame6.Caption = "设定 缩进以精简窗口"
  833. End If
  834. ElseIf Index = 3 Then
  835. Frame6.Caption = "设定 安全地退出程序"
  836. ElseIf Index = 0 Then
  837. Frame6.Caption = "操作 安全地打开U盘"
  838. ElseIf Index = 2 Then
  839. Frame6.Caption = "操作 检查磁盘中的文件"
  840. ElseIf Index = 1 Then
  841. Frame6.Caption = "操作 查看后台消息记录"
  842. ElseIf Index = 4 Then
  843. Frame6.Caption = "操作 删除后台消息记录"
  844. End If
  845. For i = 0 To 6
  846. If i = Index Then
  847. If Index = 0 And BN(0).Enabled = False Then
  848. DrawButton BN(0), 1, "安全打开", PIC(12)
  849. DoEvents
  850. Else
  851. DrawButton BN(Index), 2, TitleMe(Index), PIC(Index + 5)
  852. DoEvents
  853. End If
  854. DoEvents
  855. Else
  856. If i = 0 And BN(0).Enabled = False Then
  857. DrawButton BN(i), 1, "安全打开", PIC(12):  DoEvents
  858. Else
  859. DrawButton BN(i), 1, TitleMe(i), PIC(i + 5): DoEvents
  860. End If
  861. End If
  862. DoEvents
  863. Next
  864. End If
  865. End Sub
  866. Private Sub BN_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  867. Dim TitleMe(0 To 6) As String
  868. TitleMe(0) = "安全打开": TitleMe(1) = "查看记录": TitleMe(2) = "系统扫描": TitleMe(3) = "退出程序"
  869. TitleMe(4) = "删除记录": TitleMe(5) = "热键设定": TitleMe(6) = "参数设置"
  870. DrawButton BN(Index), 2, TitleMe(Index), PIC(Index + 5)
  871. End Sub
  872. Private Sub BN_Paint(Index As Integer)
  873. DrawButton BN(1), 1, "查看记录", PIC(6)
  874. DrawButton BN(2), 1, "系统扫描", PIC(7)
  875. DrawButton BN(3), 1, "退出程序", PIC(8)
  876. DrawButton BN(4), 1, "删除记录", PIC(9)
  877. DrawButton BN(5), 1, "热键设定", PIC(10)
  878. DrawButton BN(6), 1, "参数设置", PIC(11)
  879. If BN(0).Enabled = False Then
  880. DrawButton BN(0), 1, "安全打开", PIC(12)
  881. Else
  882. DrawButton BN(0), 1, "安全打开", PIC(5)
  883. End If
  884. End Sub
  885. Private Sub Check1_Click()
  886. If Check1.Value = 1 Then
  887. SaveSetting "key", "U", 0, "ok"
  888. Else
  889. SaveSetting "key", "U", 0, "false"
  890. End If
  891. End Sub
  892. Private Sub Check1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  893. WH = 0: Si = 0
  894. ML = "设定: 插入U盘时,自动打开目录且在窗口标题栏上有提示"
  895. If Frame3.Caption <> ML Then Frame3.Caption = ML
  896. End Sub
  897. Private Sub Check2_Click()
  898. If Check2.Value = 1 Then
  899. SaveSetting "key", "U", 1, "ok"
  900. Else
  901. SaveSetting "key", "U", 1, "no"
  902. End If
  903. End Sub
  904. Private Sub Check2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  905. WH = 0: Si = 0
  906. ML = "设定: 插入、移出可移动硬盘时显示进度条状态提示"
  907. If Frame3.Caption <> ML Then Frame3.Caption = ML
  908. End Sub
  909. Private Sub Check3_Click()
  910. If Check3.Value = 1 Then
  911. SaveSetting "key", "U", 2, "ok"
  912. Else
  913. SaveSetting "key", "U", 2, "no"
  914. End If
  915. End Sub
  916. Private Sub Check3_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  917. ML = "设定: 30秒内窗口没有检测到鼠标动作时自动隐藏"
  918. If Frame3.Caption <> ML Then Frame3.Caption = ML
  919. End Sub
  920. Private Sub Check4_Click()
  921. If Check4.Value = 0 Then
  922. SetWindowPos Me.hwnd, -2, 0, 0, 0, 0, 3
  923. SaveSetting "key", "U", 8, "no"
  924. Frame5.Visible = False
  925. Check4.Value = 0
  926. Frame5.Visible = False
  927. Frame4.Width = Form4.Frame1.Width
  928. PASS2.Width = Form4.PASS.Width
  929. Label2.Left = Form4.Label1.Left
  930. Else
  931. SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
  932. SaveSetting "key", "U", 8, "ok"
  933. Frame5.Visible = True
  934. Frame4.Width = Form4.Frame4.Width
  935. PASS2.Width = Form4.PASS2.Width
  936. Label2.Left = Form4.Label2.Left
  937. End If
  938. End Sub
  939. Private Sub Check4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  940. WH = 0: Si = 0
  941. ML = "设定: 显示程序从启动到现在的时间,或仅显示进度条"
  942. If Frame3.Caption <> ML Then Frame3.Caption = ML
  943. End Sub
  944. Private Sub Check5_Click()
  945. If Check5.Value = 0 Then
  946. SetWindowPos Me.hwnd, -2, 0, 0, 0, 0, 3
  947. SaveSetting "key", "U", 6, "no"
  948. Else
  949. SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
  950. SaveSetting "key", "U", 6, "ok"
  951. End If
  952. End Sub
  953. Private Sub Check5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  954. WH = 0: Si = 0
  955. ML = "设定: 动态跟随当前的活动窗口,发现病毒文件立即删除。"
  956. If Frame3.Caption <> ML Then Frame3.Caption = ML
  957. End Sub
  958. Private Sub Check6_Click()
  959. If Check6.Value = 0 Then
  960. SetWindowPos Me.hwnd, -2, 0, 0, 0, 0, 3
  961. SaveSetting "key", "U", 5, "no"
  962. Else
  963. SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
  964. SaveSetting "key", "U", 5, "ok"
  965. End If
  966. End Sub
  967. Private Sub Check6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  968. ML = "设定: 窗口在所有窗口最前端显示而不会被其它窗口覆盖"
  969. If Frame3.Caption <> ML Then Frame3.Caption = ML
  970. End Sub
  971. Private Sub Check7_Click()
  972. If Check7.Value = 0 Then
  973. MuLimit = False
  974. SaveSetting "key", "U", 10, "no"
  975. Else
  976. MuLimit = True
  977. SaveSetting "key", "U", 10, "ok"
  978. End If
  979. End Sub
  980. Private Sub ClearAll_Click()
  981. Dim wshshell, fso, f, FF, d1, A
  982. Set fso = CreateObject("scripting.filesystemobject")
  983. Set f = fso.drives
  984. For Each d1 In f
  985. If d1.drivetype = 2 Or d1.drivetype = 1 Then '===不检测CDROM及软盘或网络驱动器
  986. If LCase(d1.driveletter) <> "a" Then
  987. If d1.isready Then '===磁盘就绪===
  988. If fso.folderexists(d1.driveletter & ":隔离文件") = True Then
  989. If MsgBox("发现隔离文件夹:" & d1.driveletter & ":隔离文件,是否删除?按‘确定’删除,‘取消’退出循环检查。", vbQuestion + vbOKCancel, "清除隔离文件") = vbOK Then
  990. fso.deletefolder d1.driveletter & ":隔离文件", True
  991. Else
  992. Exit Sub
  993. End If
  994. End If
  995. End If
  996. End If
  997. End If
  998. DoEvents
  999. Next
  1000. End Sub
  1001. Function GetVolumeName() As String '====卷标名称====
  1002. Dim Volume As String * 255
  1003. If NT = "" Then Exit Function
  1004. Call GetVolumeInformation(NT, Volume, 255, 0&, 0&, 0&, 0&, 255)
  1005. GetVolumeName = Left(Volume, InStr(Volume, vbNullChar) - 1)
  1006. End Function
  1007. Function SafeOpen()  '=====安全打开窗口模式====
  1008. Sleep 300
  1009. Dim X As Long, TE As String * 255, FO As String, FK As String, TF As String
  1010. Dim i As Integer, j As Integer, Wa As Boolean
  1011. If GetVolumeName = "" Then
  1012. FO = "可移动磁盘"
  1013. Else
  1014. FO = GetVolumeName
  1015. End If
  1016. FK = FO & " (" & NT & ")"
  1017. Wa = False
  1018. Do
  1019. X = FindWindow("CabinetWClass", FK)
  1020. If X <> 0 Then SetForegroundWindow X: Exit Do
  1021. j = j + 1
  1022. Sleep 50
  1023. DoEvents
  1024. If j > 80 Then: Wa = True: Exit Do
  1025. Loop
  1026. DoEvents
  1027. If Wa = False Then
  1028. Call GetWindowText(X, TE, 255)
  1029. TF = Left(TE, InStr(TE, vbNullChar) - 1)
  1030. If Wa = False Then
  1031. SetWindowText X, TF & "   安全打开 . . . "
  1032. End If
  1033. End If
  1034. If Check2.Value = 1 Then
  1035. If Wa = False Then
  1036. Form2.Label1.Caption = Now & " 检测到可移动磁盘 " & NT & ": ,正在更新信息 ..."
  1037. ElseIf Wa = True Then
  1038. Form2.Label1.Caption = Now & " 检测到可移动磁盘 " & NT & ": ,等待超时退出 ..."
  1039. keybd_event vbKeyShift, 0, KEYEVENTF_KEYUP, 0
  1040. keybd_event vbKeyShift, 0, KEYEVENTF_KEYUP, 0
  1041. Exit Function
  1042. End If
  1043. DoEvents
  1044. For i = 80 To 100 Step 2
  1045. SetWindowPos Form2.hwnd, -1, 0, 0, 0, 0, 3
  1046. Form2.PASS.Value = i
  1047. Sleep 5
  1048. DoEvents
  1049. Next i
  1050. Form2.Visible = False
  1051. DoEvents
  1052. If Check6.Value = 1 Then SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
  1053. End If
  1054. SetForegroundWindow X
  1055. ShowWindow X, 3
  1056. keybd_event vbKeyShift, 0, KEYEVENTF_KEYUP, 0
  1057. keybd_event vbKeyShift, 0, KEYEVENTF_KEYUP, 0
  1058. End Function
  1059. Private Sub Check7_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1060. WH = 0: Si = 0
  1061. ML = "设定: 窗口不能移动超过屏幕的左,右,上,下四边范围。"
  1062. If Frame3.Caption <> ML Then Frame3.Caption = ML
  1063. End Sub
  1064. Private Sub Command1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  1065. WH = 0: Si = 0
  1066. End Sub
  1067. Function ShowKey(X As Long, Y As Integer) As String   '===快捷键显示===
  1068. If X = 0 Or Y = 0 Then Exit Function
  1069. Select Case X
  1070. Case MOD_CONTROL
  1071. ShowKey = "Ctrl"
  1072. Case MOD_ALT
  1073. ShowKey = "Alt"
  1074. Case MOD_SHIFT
  1075. ShowKey = "Shift"
  1076. Case MOD_CONTROL + MOD_ALT
  1077. ShowKey = "Ctrl+Alt"
  1078. Case MOD_CONTROL + MOD_SHIFT
  1079. ShowKey = "Ctrl+Shift"
  1080. Case MOD_ALT + MOD_SHIFT
  1081. ShowKey = "Alt+Shift"
  1082. Case MOD_CONTROL + MOD_ALT + MOD_SHIFT
  1083. ShowKey = "Ctrl+Alt+Shift"
  1084. Case Else
  1085. MsgBox "未知的按键!!!", 0 + 48, "False"
  1086. Exit Function
  1087. End Select
  1088. ShowKey = ShowKey & "+" & Chr(Y)
  1089. End Function
  1090. Private Sub Form_Load()
  1091. ShowWindow GetWindow(Me.hwnd, 4), 0
  1092. On Error Resume Next
  1093. For i = 0 To 6
  1094. BN(i).Width = 990 '1026
  1095. BN(i).Top = 220
  1096. DoEvents
  1097. Next i
  1098. BN(2).Left = BN(0).Left + BN(0).Width
  1099. BN(1).Left = BN(2).Left + BN(2).Width
  1100. BN(4).Left = BN(1).Left + BN(1).Width
  1101. 'BN(5).Left = BN(4).Left + BN(4).Width
  1102. BN(6).Left = BN(5).Left + BN(5).Width
  1103. BN(3).Left = BN(6).Left + BN(6).Width
  1104. DoEvents
  1105. Start = Now '====开始计时====
  1106. '=======初始化右下角图标=====
  1107.  TrayI.cbSize = Len(TrayI)
  1108.     TrayI.hwnd = PIC(0).hwnd
  1109.     TrayI.uId = 1&
  1110.     TrayI.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
  1111. TrayI.ucallbackMessage = WM_MOUSEMOVE '====这一行很重要,使用MOUSEMOVE消息与下面的PIC的MOUSEMOVE事件相对应==
  1112. TrayI.hIcon = PIC(0).Picture
  1113. TrayI.szTip = Label1.Caption & Chr$(0)
  1114. Shell_NotifyIcon NIM_ADD, TrayI
  1115. DoEvents
  1116. '====================================
  1117. Load Form2
  1118. If RecordNumber <> 0 Then
  1119. Frame2.Caption = "操作 已检测到:" & RecordNumber & " 条信息。"
  1120. DoEvents
  1121. End If
  1122. WH = 0: Si = 0
  1123. Me.Caption = "U盘自动播放拦截程序 V1.19   <全面拦截AUTORUN病毒>"
  1124. If GetSetting("key", "U", 0, "") = "" Then SaveSetting "key", "U", 0, "ok"
  1125. If GetSetting("key", "U", 1, "") = "" Then SaveSetting "key", "U", 1, "ok"
  1126. If GetSetting("key", "U", 2, "") = "" Then SaveSetting "key", "U", 2, "no"
  1127. If GetSetting("key", "U", 5, "") = "" Then SaveSetting "key", "U", 5, "ok"
  1128. If GetSetting("key", "U", 6, "") = "" Then SaveSetting "key", "U", 6, "ok"
  1129. If GetSetting("key", "U", 8, "") = "" Then SaveSetting "key", "U", 8, "ok"
  1130. If GetSetting("key", "U", 10, "") = "" Then SaveSetting "key", "U", 10, "ok"
  1131. If GetSetting("key", "U", 11, "") = "" Then SaveSetting "key", "U", 11, "ok"
  1132. If GetSetting("key", "U", 11, "") = "ok" Then
  1133. Frame5.Top = Frame2.Top + Frame2.Height
  1134. Frame4.Top = Frame2.Top + Frame2.Height
  1135. Frame3.Top = Frame4.Top + Frame4.Height + 5
  1136. Me.Height = 2805
  1137. Else
  1138. Frame3.Top = Frame2.Top + Frame2.Height + 30
  1139. Frame5.Top = Frame3.Top + Frame3.Height - 20
  1140. Frame4.Top = Frame3.Top + Frame3.Height - 20
  1141. Me.Height = 3688
  1142. End If
  1143. If GetSetting("key", "U", 10, "") = "ok" Then
  1144. Check7.Value = 1
  1145. Else
  1146. Check7.Value = 0
  1147. End If
  1148. If GetSetting("key", "U", 0, "") = "ok" Then '====打开U盘===
  1149. Check1.Value = 1
  1150. Else
  1151. Check1.Value = 0
  1152. End If
  1153. If GetSetting("key", "U", 1, "") = "ok" Then
  1154. Check2.Value = 1
  1155. Else
  1156. Check2.Value = 0
  1157. End If
  1158. If GetSetting("key", "U", 2, "") = "ok" Then
  1159. Check3.Value = 1
  1160. Else
  1161. Check3.Value = 0
  1162. PASS2.Max = 400
  1163. PASS2.Value = 400
  1164. Label2.Caption = "Time"
  1165. End If
  1166. If GetSetting("key", "U", "X", "") = "" Then
  1167. SaveSetting "key", "U", "X", Me.Width / 3
  1168. End If
  1169. If GetSetting("key", "U", "Y", "") = "" Then
  1170. SaveSetting "key", "U", "Y", Me.Height / 2
  1171. End If
  1172. Me.Left = CInt(GetSetting("key", "U", "X", ""))
  1173. Me.Top = CInt(GetSetting("key", "U", "Y", ""))
  1174. Dim fso, f, w, FF, wshshell, d, d1, H, h1
  1175. Dim KI As Boolean
  1176. Set fso = CreateObject("scripting.filesystemobject")
  1177. Set wshshell = CreateObject("wscript.shell")
  1178. Label1.Caption = Now & " 未检测到可移动磁盘 . . . ."
  1179. Form1.Label1.ForeColor = vbBlack
  1180. TrayI.hIcon = PIC(3).Picture
  1181. TrayI.szTip = Label1.Caption & Chr$(0)
  1182. Shell_NotifyIcon NIM_MODIFY, TrayI
  1183. DoEvents
  1184. Set H = fso.drives
  1185. For Each h1 In H '====提前检测磁盘数以免以错=====重要!!!===========
  1186. If h1.drivetype = 2 Or h1.drivetype = 1 Then '===不检测CDROM及软盘或网络驱动器
  1187. If LCase(h1.driveletter) <> "a" Then
  1188. If h1.isready Then '===磁盘就绪===
  1189. Dis = Dis + 1
  1190. DT = DT & h1.driveletter
  1191. End If
  1192. End If
  1193. End If
  1194. DoEvents
  1195. Next
  1196. DoEvents
  1197. Set d = fso.drives
  1198. For Each d1 In d
  1199. On Error Resume Next
  1200. If d1.drivetype = 2 Or d1.drivetype = 1 Then '===不检测CDROM及软盘或网络驱动器
  1201. If d1.drivetype = 1 And LCase(d1.driveletter) <> "a" Then '可移动磁盘
  1202. If d1.isready Then '===磁盘就绪===
  1203. Factory = d1.volumename
  1204. Label1.Caption = Now & " 检测到可移动磁盘 " & Factory & " " & d1 & ", 状态良好。"
  1205. Form1.Label1.ForeColor = vbBlue
  1206. KI = True '===注意,不能在循环中改变图标,这样会导致程序出错提前退出FOR NEXT===重要!!!!====
  1207. Dim X As Integer
  1208. Set f = fso.getfolder(CStr(d1))
  1209. Set f1 = f.Files
  1210. For Each DX In f1
  1211. X = X + 1
  1212. Next
  1213. DoEvents
  1214. Frame1.Caption = "提示 检测到: " & X & " 个文件。"
  1215. WriteLog Label1.Caption '===记录===
  1216. Frame2.Caption = "操作 已检测到:" & RecordNumber & " 条信息。"
  1217. NT = d1
  1218. On Error Resume Next
  1219. Call TellDanger(CStr(d1.driveletter) & ":")
  1220. End If
  1221. End If
  1222. End If
  1223. DoEvents
  1224. Next
  1225. If KI = True Then
  1226. TrayI.szTip = Label1.Caption & Chr$(0)
  1227. TrayI.hIcon = PIC(0).Picture
  1228. Shell_NotifyIcon NIM_MODIFY, TrayI
  1229. DoEvents
  1230. End If
  1231. TitleBar '====放在最前面无效,别窗口的标题不能在Timer控件中更改,否则无效。====
  1232. If NT = "" Then BN(0).Enabled = False: BN_Paint (0)
  1233. If GetSetting("key", "U", 5, "") = "ok" Then
  1234. Check6.Value = 1
  1235. SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
  1236. Else
  1237. Check6.Value = 0
  1238. SetWindowPos Me.hwnd, 1, 0, 0, 0, 0, 3
  1239. End If
  1240. If GetSetting("key", "U", 6, "") = "ok" Then
  1241. Check5.Value = 1
  1242. Else
  1243. Check5.Value = 0
  1244. End If
  1245. If GetSetting("key", "U", 8, "") = "ok" Then
  1246. Check4.Value = 1
  1247. Frame5.Visible = True
  1248. Frame5.Visible = True
  1249. Frame4.Width = Form4.Frame4.Width
  1250. PASS2.Width = Form4.PASS2.Width
  1251. Label2.Left = Form4.Label2.Left
  1252. Else
  1253. Check4.Value = 0
  1254. Frame5.Visible = False
  1255. Frame4.Width = Form4.Frame1.Width
  1256. PASS2.Width = Form4.PASS.Width
  1257. Label2.Left = Form4.Label1.Left
  1258. End If
  1259. SaveSetting "key", "K", 0, "pass"
  1260. Timer1.Enabled = True '===注册===
  1261. If GetSetting("key", "FAST", 0, "") = "" Then
  1262. SaveSetting "key", "FAST", 0, MOD_CONTROL + MOD_ALT
  1263. End If
  1264. If GetSetting("key", "FAST", 1, "") = "" Then
  1265. SaveSetting "key", "FAST", 1, vbKeyZ
  1266. End If
  1267. Dim ret As Long '====设置全局快捷键===================  =
  1268. preWindProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)
  1269. ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf WndProc)
  1270. idHotkey = 1
  1271. Modifiers = GetSetting("key", "FAST", 0, "")
  1272. uVirtkey = GetSetting("key", "FAST", 1, "")
  1273. ret = RegisterHotKey(Me.hwnd, idHotkey, Modifiers, uVirtkey)
  1274. '====================移动边界限制========
  1275. '=====要设置两个prewindproc,prewindproc2目的为了避免干扰======
  1276. MuLimit = True '===开关打开=======
  1277. PreWindProc2 = GetWindowLong(Me.hwnd, GWL_WNDPROC)
  1278. ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf WndProc2)
  1279. Timer1.Interval = 100
  1280. Timer2.Interval = 1000
  1281. Form2.PASS.Max = 100
  1282. Form2.PASS.Min = 0
  1283. Form2.Left = Screen.Width / 4
  1284. Form2.Top = Screen.Height / 2
  1285. SetWindowPos Form2.hwnd, -1, 0, 0, 0, 0, 3
  1286. For i = 0 To 6
  1287. BN(i).Picture = LoadPicture()
  1288. Next
  1289. BN_Paint (0)
  1290. End Sub
  1291. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1292. WH = 0: Si = 0
  1293. End Sub
  1294. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  1295. If UnloadMode = 2 Then
  1296. SaveSetting "key", "K", 0, "finish"
  1297. End If
  1298. End Sub
  1299. Private Sub Form_Unload(Cancel As Integer)
  1300. Me.Visible = False
  1301. Cancel = -1
  1302. End Sub
  1303. Function GetRemoveName(Str1 As String, Str2 As String) As String
  1304. Dim A As Integer, B As Integer, i As Integer, j As Integer, T1 As String, K1 As String, K2 As String
  1305. '===K1 K2 变量储存原有值,以防止原有值被修改===
  1306. A = Len(Str1): B = Len(Str2): K1 = Str1: K2 = Str2
  1307. If A = B Then Exit Function
  1308. If A > B Then
  1309. For i = 1 To B
  1310. K1 = Replace(K1, Mid(K2, i, 1), "")
  1311. DoEvents
  1312. Next i
  1313. GetRemoveName = K1
  1314. ElseIf A < B Then
  1315. For i = 1 To A
  1316. K2 = Replace(K2, Mid(K1, i, 1), "")
  1317. DoEvents
  1318. Next i
  1319. GetRemoveName = K2
  1320. End If
  1321. End Function
  1322. Private Sub Frame1_DblClick()
  1323. SaveSetting "key", "U", 4, "no"
  1324. End Sub
  1325. Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1326. WH = 0: Si = 0
  1327. Dim TitleMe(0 To 6) As String, i As Integer
  1328. TitleMe(0) = "安全打开": TitleMe(1) = "查看记录": TitleMe(2) = "系统扫描": TitleMe(3) = "退出程序"
  1329. TitleMe(4) = "删除记录": TitleMe(5) = "热键设定": TitleMe(6) = "参数设置"
  1330. If ML <> "frame1" Then
  1331. ML = "frame1"
  1332. For i = 0 To 6
  1333. If i = 0 And BN(0).Enabled = False Then
  1334. DrawButton BN(0), 1, "安全打开", PIC(12)
  1335. Else
  1336. DrawButton BN(i), 1, TitleMe(i), PIC(i + 5)
  1337. End If
  1338. DoEvents
  1339. Next i
  1340. End If
  1341. End Sub
  1342. Private Sub Frame2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1343. WH = 0: Si = 0
  1344. End Sub
  1345. Private Sub Frame3_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1346. WH = 0: Si = 0
  1347. Dim TitleMe(0 To 6) As String, i As Integer
  1348. TitleMe(0) = "安全打开": TitleMe(1) = "查看记录": TitleMe(2) = "系统扫描": TitleMe(3) = "退出程序"
  1349. TitleMe(4) = "删除记录": TitleMe(5) = "热键设定": TitleMe(6) = "参数设置"
  1350. If ML <> "frame3" Then
  1351. ML = "frame3"
  1352. For i = 0 To 6
  1353. If i = 0 And BN(0).Enabled = False Then
  1354. DrawButton BN(0), 1, "安全打开", PIC(12)
  1355. Else
  1356. DrawButton BN(i), 1, TitleMe(i), PIC(i + 5)
  1357. End If
  1358. DoEvents
  1359. Next i
  1360. End If
  1361. End Sub
  1362. Private Sub Frame4_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1363. Dim TitleMe(0 To 6) As String, i As Integer
  1364. TitleMe(0) = "安全打开": TitleMe(1) = "查看记录": TitleMe(2) = "系统扫描": TitleMe(3) = "退出程序"
  1365. TitleMe(4) = "删除记录": TitleMe(5) = "热键设定": TitleMe(6) = "参数设置"
  1366. If ML <> "frame4" Then
  1367. ML = "frame4"
  1368. For i = 0 To 6
  1369. If i = 0 And BN(0).Enabled = False Then
  1370. DrawButton BN(0), 1, TitleMe(0), PIC(12)
  1371. Else
  1372. DrawButton BN(i), 1, TitleMe(i), PIC(i + 5)
  1373. End If
  1374. DoEvents
  1375. Next i
  1376. End If
  1377. End Sub
  1378. Private Sub Frame5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1379. Dim TitleMe(0 To 6) As String, i As Integer
  1380. TitleMe(0) = "安全打开": TitleMe(1) = "查看记录": TitleMe(2) = "系统扫描": TitleMe(3) = "退出程序"
  1381. TitleMe(4) = "删除记录": TitleMe(5) = "热键设定": TitleMe(6) = "参数设置"
  1382. If ML <> "frame4" Then
  1383. ML = "frame4"
  1384. For i = 0 To 6
  1385. If i = 0 And BN(0).Enabled = False Then
  1386. DrawButton BN(0), 1, TitleMe(0), PIC(12)
  1387. Else
  1388. DrawButton BN(i), 1, TitleMe(i), PIC(i + 5)
  1389. End If
  1390. DoEvents
  1391. Next i
  1392. End If
  1393. End Sub
  1394. Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1395. WH = 0: Si = 0
  1396. End Sub
  1397. Private Sub PASS2_Mousemove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  1398. WH = 0: Si = 0
  1399. Dim TitleMe(0 To 3) As String, i As Integer
  1400. TitleMe(0) = "安全打开": TitleMe(1) = "查看记录": TitleMe(2) = "系统扫描": TitleMe(3) = "退出程序"
  1401. If ML <> CStr(Index) Then
  1402. ML = CStr(Index)
  1403. For i = 0 To 3
  1404. If i = 0 And BN(0).Enabled = False Then
  1405. DrawButton BN(0), 1, TitleMe(0), PIC(12)
  1406. Else
  1407. DrawButton BN(i), 1, TitleMe(i), PIC(i + 5)
  1408. End If
  1409. DoEvents
  1410. Next i
  1411. End If
  1412. End Sub
  1413. Private Sub PIC_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  1414. Msg = X / Screen.TwipsPerPixelX
  1415. If Msg = WM_LBUTTONDOWN Then
  1416. Me.Visible = True
  1417. ElseIf Msg = WM_RBUTTONDOWN Then
  1418. Me.Visible = True
  1419. End If
  1420. End Sub
  1421. Function CheckTime(xx As Long) As String
  1422. Dim TS As Integer, TF As String, TS2 As Integer, TF2 As String
  1423. If xx < 1 Then
  1424. CheckTime = "正在启动 ..."
  1425. ElseIf xx < 60 Then
  1426. CheckTime = xx & " 秒 . . ."
  1427. ElseIf xx < 3600 And xx > 59 Then
  1428. TS = (xx - 60 * (xx  60))
  1429. If TS < 10 Then
  1430. TF = "0" & TS
  1431. Else
  1432. TF = TS
  1433. End If
  1434. CheckTime = xx  60 & " 分 " & TF & " 秒"
  1435. ElseIf xx > 3599 Then '====显示整零时刷新====
  1436. TS2 = (xx - 3600 * (xx  3600))  60
  1437. If TS2 < 10 Then
  1438. TF2 = "0" & TS2
  1439. Else
  1440. TF2 = TS2
  1441. End If
  1442. CheckTime = xx  3600 & " 小时 " & TF2 & " 分"
  1443. End If
  1444. End Function
  1445. Private Sub Timer1_Timer() '====计时器====
  1446. PASS2.Max = 400
  1447. On Error Resume Next
  1448. 'Unknown 0 不能确定驱动器类型。
  1449. 'Removable 1 驱动器具有可删除介质。包括所有软盘驱动器和许多其它种类的存储设备。
  1450. 'Fixed 2 驱动器具有固定介质(不可删除的)。包括可删除硬盘在内的所有硬盘驱动器。
  1451. 'Remote 3 网络驱动器。包括在网络上任何地方都可以共享的驱动器。
  1452. 'CDROM 4 驱动器是一个CD-ROM。包括只读的CD-ROM和可读写的CD-ROM。
  1453. 'RAMDisk 5 驱动器是本地计算机上的一块随机存取内存(RAM),它工作起来就象是磁盘驱动器一样。
  1454. Dim fso, f, w, FF, wshshell, d, d1
  1455. Dim k As Integer, K2 As String, i As Integer
  1456. Static SS As Integer
  1457. If Me.Visible = False Then WH = 0: Si = 0
  1458. If Check3.Value = 0 Then WH = 0: Si = 0
  1459. If Check3.Value = 1 Then
  1460. Si = Si + 1
  1461. If Si > 15 Then WH = WH + 1
  1462. If (400 - WH) Mod 4 = 0 Then PASS2.Value = 400 - WH
  1463. If (100 - WH  4) = 100 Then
  1464. Label2.Caption = "Time"
  1465. Else
  1466. Label2.Caption = 100 - WH  4 & "%"
  1467. End If
  1468. If (100 - WH  4) < 20 Then
  1469. Label2.ForeColor = vbRed
  1470. Else
  1471. Label2.ForeColor = vbBlack
  1472. End If
  1473. DoEvents
  1474. End If
  1475. If WH > 399 Then
  1476. WH = 0: Si = 0
  1477. If Check2.Value = 1 Then '====消息提示开关====
  1478. SetWindowPos Form2.hwnd, -1, 0, 0, 0, 0, 3
  1479. Form2.Label1.Caption = "检测到30秒内没有鼠标动作,正在自动隐藏 . . . ."
  1480. Form2.Visible = True
  1481. For i = 1 To 100 Step 2
  1482. Form2.PASS.Value = i
  1483. Sleep 5
  1484. DoEvents
  1485. Next i
  1486. Form2.Visible = False
  1487. DoEvents
  1488. End If
  1489. Me.Visible = False
  1490. End If
  1491. Set fso = CreateObject("scripting.filesystemobject")
  1492. Set wshshell = CreateObject("wscript.shell")
  1493. k = 0: K2 = ""
  1494. Set d = fso.drives
  1495. For Each d1 In d
  1496. If d1.drivetype = 2 Or d1.drivetype = 1 Then  '===不检测CDROM及软盘或网络驱动器
  1497. If LCase(d1.driveletter) <> "a" Then '====不检测软盘====
  1498. If d1.isready Then '===磁盘就绪===
  1499. k = k + 1
  1500. K2 = K2 & d1.driveletter
  1501. End If
  1502. End If
  1503. End If
  1504. DoEvents
  1505. Next
  1506. If NT = "" Then BN(0).Enabled = False ': BN_Paint (0) '=====如果没有检测到U盘,则按钮不可用====
  1507. If k > Dis Then '插入了可移动磁盘
  1508. SS = 0 '=====这个期间不进行额外的文件检查以防止出现档机====
  1509. TrayI.szTip = "插入了可移动磁盘,正在拦截自动播放 ..." & Chr$(0)
  1510. TrayI.hIcon = PIC(2).Picture
  1511. Shell_NotifyIcon NIM_MODIFY, TrayI
  1512. keybd_event vbKeyShift, 0, 0, 0 '====开始按下SHIFT====
  1513. BN(0).Enabled = True '============================================
  1514. 'DrawButton BN(0), 1, "安全打开", PIC(5)
  1515. BN_Paint (0)
  1516. DoEvents
  1517. TellDanger CStr(GetRemoveName(DT, K2)) & ":"
  1518. Factory = GetFactory(GetRemoveName(DT, K2) & ":")
  1519. Label1.Caption = Now & " 检测到可移动磁盘 " & Factory & " " & GetRemoveName(DT, K2) & ": , 状态良好."
  1520. Form1.Label1.ForeColor = vbBlue
  1521. DoEvents
  1522. WriteLog Label1.Caption '===记录===
  1523. Frame2.Caption = "操作 已检测到:" & RecordNumber & " 条信息。"
  1524. NT = GetRemoveName(DT, K2) & ":"
  1525. Dim X As Integer
  1526. X = 0
  1527. Set f = fso.getfolder(NT)
  1528. Set f1 = f.Files
  1529. For Each d In f1
  1530. X = X + 1
  1531. DoEvents
  1532. Next
  1533. DoEvents
  1534. Frame1.Caption = "提示 检测到: " & X & " 个文件。"
  1535. DoEvents
  1536. Dim StopTime As Integer
  1537. If GetDriveType(NT) = 2 Then '===检测到U盘====
  1538. StopTime = 15
  1539. ElseIf GetDriveType(NT) = 3 Then '====检测到移动硬盘====
  1540. StopTime = 25
  1541. End If
  1542. If Check2.Value = 1 Then '====自动消息提示====
  1543. SetWindowPos Form2.hwnd, -1, 0, 0, 0, 0, 3
  1544. Form2.Visible = True
  1545. Form2.Label1.Caption = Now & " " & Factory & " " & GetRemoveName(DT, K2) & ": ,正在拦截自动播放 ..."
  1546. For i = 1 To 80 Step 2 '====先进度到80格,然后打开中。。。
  1547. SetWindowPos Form2.hwnd, -1, 0, 0, 0, 0, 3
  1548. Form2.PASS.Value = i
  1549. If i > 79 And Check1.Value = 1 Then '===自动打开U盘===
  1550. Form2.Label1.Caption = Now & " " & Factory & " " & GetRemoveName(DT, K2) & ": ,正在自动打开 . . . ."
  1551. End If
  1552. Sleep StopTime
  1553. DoEvents
  1554. Next i
  1555. 'Form2.Visible = False
  1556. DoEvents
  1557. Else
  1558. Sleep 1000 '===等待相同的时间===
  1559. keybd_event vbKeyShift, 0, KEYEVENTF_KEYUP, 0
  1560. keybd_event vbKeyShift, 0, KEYEVENTF_KEYUP, 0
  1561. End If
  1562. TrayI.hIcon = PIC(0).Picture
  1563. TrayI.szTip = Label1.Caption & Chr$(0)
  1564. Shell_NotifyIcon NIM_MODIFY, TrayI
  1565. If GetSetting("key", "U", 0, "") = "ok" Then
  1566. Dim FW As Long
  1567. FW = GetForegroundWindow
  1568. If FW <> 0 And FW <> Form2.hwnd Then
  1569. SetWindowPos FW, -2, 0, 0, 0, 0, 3: Sleep 50
  1570. End If
  1571. 'A = wshshell.run("explorer.exe " & GetRemoveName(DT, K2) & ":", 3, False)
  1572. Shell "explorer.exe " & GetRemoveName(DT, K2) & ":", vbMaximizedFocus: Sleep 300
  1573. DoEvents
  1574. 'SetWindowPos Me.hwnd, -2, 0, 0, 0, 0, 3
  1575. SafeOpen
  1576. Else
  1577. For i = 80 To 100
  1578. Form2.PASS.Value = i
  1579. Sleep 5
  1580. DoEvents
  1581. Next i
  1582. Form2.Visible = False
  1583. DoEvents
  1584. End If
  1585. Dis = k
  1586. DT = K2
  1587. keybd_event vbKeyShift, 0, KEYEVENTF_KEYUP, 0
  1588. ElseIf k < Dis Then '==========================拨出了可移动磁盘=====
  1589. Dim MD As String, MoveDrive As String
  1590. Frame1.Caption = "提示 检测到: " & 0 & " 个文件。"
  1591. DoEvents
  1592. MoveDrive = GetRemoveName(DT, K2)
  1593. If Len(MoveDrive) = 1 Then '====移动硬盘会出现2个以上的盘符=====
  1594. MD = Factory & " " & MoveDrive & ":"
  1595. Else
  1596. For i = 1 To Len(MoveDrive)
  1597. MD = MD & Mid(MoveDrive, i, 1) & ":  "
  1598. Next i
  1599. End If
  1600. Label1.Caption = Now & " 可移动磁盘 " & MD & " 从系统中移除 ...."
  1601. Form1.Label1.ForeColor = vbBlack
  1602. WriteLog Label1.Caption: Command1(2).Enabled = True: Command1(3).Enabled = True  '===记录===
  1603. Frame2.Caption = "操作 已检测到:" & RecordNumber & " 条信息。"
  1604. BN(0).Enabled = False
  1605. 'DrawButton BN(0), 1, "安全打开", PIC(12)
  1606. BN_Paint (0)
  1607. If Check2.Value = 1 Then '=====消息提示开关=====
  1608. DoEvents
  1609. TrayI.hIcon = PIC(1).Picture
  1610. TrayI.szTip = "可移动磁盘从系统中移除..." & Chr$(0)
  1611. Shell_NotifyIcon NIM_MODIFY, TrayI
  1612. Form2.Label1.Caption = Now & " " & MD & " 从系统中移除 ...."
  1613. SetWindowPos Form2.hwnd, -1, 0, 0, 0, 0, 3
  1614. Form2.Visible = True
  1615. For i = 1 To 100 Step 2
  1616. Form2.PASS.Value = i
  1617. Sleep 5
  1618. DoEvents
  1619. Next i
  1620. DoEvents
  1621. Form2.Visible = False
  1622. Else
  1623. TrayI.hIcon = PIC(1).Picture
  1624. TrayI.szTip = "可移动磁盘从系统中移除..." & Chr$(0)
  1625. Shell_NotifyIcon NIM_MODIFY, TrayI
  1626. Sleep 800
  1627. End If
  1628. TrayI.hIcon = PIC(3).Picture
  1629. TrayI.szTip = Label1.Caption & Chr$(0)
  1630. Shell_NotifyIcon NIM_MODIFY, TrayI
  1631. Dis = k
  1632. DT = K2
  1633. End If
  1634. SS = SS + 1
  1635. If SS > 50 Then
  1636. SS = 51
  1637. If Check5.Value = 1 Then CheckFile '===全面保护文件系统===
  1638. 'ElseIf SS < 50 Then
  1639. 'If Check6.Value = 1 Then SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
  1640. End If
  1641. End Sub
  1642. Private Sub Timer2_Timer()
  1643. Label3.Caption = "已运行: " & CheckTime(CLng(DateDiff("s", Start, Now)))
  1644. DoEvents
  1645. End Sub
  1646. Sub DrawButton(PB As PictureBox, ByVal ButtonType As Integer, Tit As String, Mini As PictureBox)
  1647. '返回或设置对象内部的水平 (ScaleWidth) 或垂直 (ScaleHeight) 度量单位。
  1648. '能够使用这些属性来为绘图或打印创建一个自定义的坐标比例尺。例如,语句 ScaleHeight = 100 将改变窗体实际内部高度的度量单位。取代当前高度为 n 个单位(缇、像素、...),高度将变为 100 个自定义单位。因而,50 个单位的距离就是对象的高度/宽度的一半,101 个单位的距离将超出对象 1 个单位。
  1649. '为了定义基于标准度量单位的比例尺,例如缇、磅、像素、字符、英寸、毫米、或厘米应使用 ScaleMode 属性。
  1650. '这些属性设置为正值将使坐标从上向下及从左向右增加?它们设置为负值将使坐标从下向上及从右向左增加?
  1651. '这些属性和相关的 ScaleLeft 与 ScaleTop 属性的使用,可以建立起一个完全的带有正、负坐标的坐标系统。所有这四个 Scale 属性与 ScaleMode 属性按下面的方式进行交互作用:
  1652. '把其它任何 Scale 属性设置为任何值都将使 ScaleMode 自动地设置为 0。ScaleMode 等于 0 是用户定义。
  1653. '把 ScaleMode 设置为一个大于 0 的数,将使 ScaleHeight 和 ScaleWidth 的度量单位发生改变,并将 ScaleLeft 和 ScaleTop 设置为 0。另外,CurrentX 和 CurrentY 的设置值将发生改变以反映当前点的新坐标。
  1654. '也可以在语句中使用 Scale 方法设置 ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 属性。
  1655. '注意 ScaleHeight 和 ScaleWidth 属性与 Height 和 Width 属性是不一样的。
  1656. '对于 MDIForm 对象,ScaleHeight 和 ScaleWidth 仅涉及窗体中未被 PictureBox 控件覆盖的区域。在 MDIForm 的 Resize 事件中应避免使用这些属性调整 PictureBox 的大小。
  1657. '返回水平 (TwipsPerPixelX) 或垂直 (TwipsPerPixelY) 度量的对象的每一像素中的缇数。
  1658. 'Windows API 例程一般需要以像素为度量单位。使用这些属性能够快速转换度量单位而不用改变对象的 ScaleMode 属性设置值
  1659.     Dim picCaption As String
  1660.     picCaption = Tit
  1661.     Dim PICx As Picture
  1662.     Dim X As Long, Y As Long, w As Integer, H As Integer
  1663.     Set PICx = Mini.Picture
  1664.     PB.ScaleMode = vbPixels '====要求以像素为单位方便API函数调用====
  1665.     w = PICx.Width / 1000 * 567 / Screen.TwipsPerPixelX
  1666.     H = PICx.Height / 1000 * 567 / Screen.TwipsPerPixelY
  1667.     X = (PB.ScaleWidth - w) / 2
  1668.     Y = (PB.ScaleHeight - H) / 2
  1669.     Y = Y * 2 / 3
  1670.     If ButtonType = 3 Then
  1671.         X = X + 1
  1672.         Y = Y + 1
  1673.     End If
  1674.     PB.Cls
  1675.     PB.PaintPicture PICx, X, Y
  1676.     w = PB.TextWidth(picCaption) '====在图片上的字符串的宽度====
  1677.     H = PB.TextHeight(picCaption)
  1678.     PB.CurrentX = (PB.ScaleWidth - w) / 2
  1679.     PB.CurrentY = (PB.ScaleHeight - H) - 5
  1680.     If ButtonType = 3 Then
  1681.         PB.CurrentX = PB.CurrentX + 1
  1682.         PB.CurrentY = PB.CurrentY + 1
  1683.     End If
  1684.     PB.Print picCaption
  1685.     Dim r As RECT
  1686.     r.Left = 0: r.Top = 0
  1687.     r.Right = PB.ScaleWidth: r.Bottom = PB.ScaleHeight
  1688.     If ButtonType = 2 Then
  1689.         DrawEdge PB.hDC, r, BDR_RAISEDINNER, BF_RECT
  1690.     ElseIf ButtonType = 3 Then
  1691.         DrawEdge PB.hDC, r, BDR_SUNKENOUTER, BF_RECT
  1692.     End If
  1693. End Sub
  1694. Function AutoPic()
  1695. Call BN_Paint(0)
  1696. End Function