• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Đọc nội dung file *reg và ghi vào Registry

Các mẹo vặt linh tinh khác, không thuộc nhóm nào
Giang Hồ
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 50
Ngày tham gia: T.Bảy 12/05/2007 2:36 pm
Đến từ: http://vn-soft.net
Been thanked: 1 time
Liên hệ:

Đọc nội dung file *reg và ghi vào Registry

Gửi bàigửi bởi Giang Hồ » CN 20/04/2008 3:34 pm

Thủ thuật: Đọc nội dung file *reg và ghi vào Registry
Tác giả: Sưu tầm
Mô tả: Đọc nội dung file *reg và ghi vào Registry


Mã: Chọn hết

  1. 'Source: wwww.pscode.com
  2. 'Editor: Tran Dai Nghia
  3. 'Email: gianghoplus@yahoo.com
  4. 'Website: http://giangho.biz
  5.  
  6. Public Function ImportRegFromFile!(RegFilePath$)
  7.  
  8.     On Error GoTo ImportRegError
  9.  
  10.     If Dir(RegFilePath) = "" Then GoTo ImportRegError
  11.  
  12.     Dim CurrentLine$, Reg$
  13.  
  14.     Open RegFilePath For Input As #1
  15.         While Not EOF(1)
  16.             Line Input #1, CurrentLine
  17.             If Len(CurrentLine) > 1 Then Reg = Reg + CurrentLine + vbNewLine
  18.         Wend
  19.     Close #1
  20.     'Debug.Print Reg
  21.  
  22.     Dim RegObject As Object
  23.     Dim RegPathArray$(), RegLineArray$(), RegComponentsArray$()
  24.     Dim RegPath$, RegKey$, RegType$, RegValue
  25.     Dim i%, j%, k%
  26.  
  27.     Set RegObject = CreateObject("Wscript.Shell")
  28.     RegPathArray = Split(Reg, vbNewLine + Chr(91))
  29.     For i = 1 To UBound(RegPathArray)
  30.         RegLineArray = Split(RegPathArray(i), vbNewLine + Chr(34))
  31.         RegPath = Mid(RegLineArray(0), 1, Len(RegLineArray(0)) - 1)
  32.         For j = 1 To UBound(RegLineArray)
  33.             RegComponentsArray = Split(RegLineArray(j), Chr(34) + Chr(61))
  34.             RegKey = RegComponentsArray(0)
  35.             RegComponentsArray = Split(RegComponentsArray(1), Chr(34))
  36.             If UBound(RegComponentsArray) = 2 Then RegComponentsArray(0) = "sz" + Chr(58) + RegComponentsArray(1)
  37.             RegComponentsArray = Split(RegComponentsArray(0), Chr(58))
  38.             If UBound(RegComponentsArray) > 1 Then
  39.                 For k = 2 To UBound(RegComponentsArray)
  40.                     RegComponentsArray(1) = RegComponentsArray(1) + Chr(58) + RegComponentsArray(k)
  41.                 Next k
  42.             End If
  43.             Select Case UCase(RegComponentsArray(0))
  44.                 Case "SZ"
  45.                     RegType = "REG_SZ"
  46.                     RegValue = Replace(RegComponentsArray(1), Chr(92) + Chr(92), Chr(92))
  47.                 Case "DWORD"
  48.                     RegType = "REG_DWORD"
  49.                     RegValue = Val(RegComponentsArray(1))
  50.                 Case Else
  51.                     'Here can be filled for unsupported types
  52.             End Select
  53.             Call RegObject.RegWrite(RegPath + Chr(92) + RegKey, RegValue, RegType)
  54.             'Debug.Print RegPath
  55.             'Debug.Print RegKey, RegValue, RegType
  56.         Next j
  57.     Next i
  58.     ImportRegFromFile = True
  59.     Call MsgBox("Execute """ & RegFilePath & """ has been successfully !  ", vbInformation, "Success")
  60.  
  61.     Exit Function
  62.  
  63. ImportRegError:
  64.     Call MsgBox("There was a error executing the " & RegFilePath & " !  ", vbCritical, "Error")
  65.  
  66. End Function
  67.  


Code chỉ một lần mà fix bug thì mãi mãi
-----------------------------------
VnSecurity 2008 - Bảo vệ máy tính theo phong cách của bạn
Website: http://vn-soft.net

Giang Hồ
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 50
Ngày tham gia: T.Bảy 12/05/2007 2:36 pm
Đến từ: http://vn-soft.net
Been thanked: 1 time
Liên hệ:

Re: Đọc nội dung file *reg và ghi vào Registry

Gửi bàigửi bởi Giang Hồ » CN 18/05/2008 9:58 am

Code trên có 1 số hạn chế vì thế Giang Hồ xin giới thiệu thêm 1 cách nữa bằng cách lợi dụng các tài nguyên hệ thống

Mã: Chọn hết

  1. Shell "reg import Z:\Filename.reg"


Lưu ý: đối với đường dẫn file có khoảng trắng thì phải goi như thế này

Mã: Chọn hết

  1. Shell "reg import ""Z:\Filename.reg"""
Code chỉ một lần mà fix bug thì mãi mãi
-----------------------------------
VnSecurity 2008 - Bảo vệ máy tính theo phong cách của bạn
Website: http://vn-soft.net


Quay về “[VB] Mẹo vặt khác”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách