Cụ ơi, còn cái nhánh BootVars nằm trong init nữa cụ, mình xóa init là đã xóa luôn nó rồi, nhưng đoạn mã chương trình Edit reg ko thấy cập nhật lại, cháu cũng chưa xem bên trong BootVars là cái gì nữa, nhưng nhìn tên thì cũng quan trọng vì nó là BootVars mà, để chiều cháu về mở ra xem trong đó có cái gì đã.
Cái đó lưu thông tin vị trí file system.hv vá user.hv cùng flags. Cụ xem kỹ lại rồi đưa lên đây cháu viết thêm vào.
Depend20="0a00“ nghĩa là nó chờ cái shell.exe nạp xong thì nó chạy. Cái đo ko quan trọng lắm. Nhưng cụ thích cháu sẽ thêm vào. Depend 50 có 8 ký tự vì nó cần chờ 2 thằng. Số 20 và 30. Sửa thành 4 ký tự thì là 1e00 là đc. Vì bản chất thằng 30 đã chờ 20 rồi. 50 chờ 30 đã bao gồm chờ cả 20. Tiện thẻ cụ xem kỹ xem cái Loader bên dưới có cái gì trong đó.
Tài liệu về cái [HKEY_LOCAL_MACHINE\init\BootVars] có thể đọc thêm ở đây:
https://msdn.microsoft.com/en-us/library/ee490554(v=winembedded.60).aspx
Ví dụ của cụ kết hợp với phần BootVars của xe KIA K3 thành một file đầy đủ như sau:
# Xoa[HKEY_LOCAL_MACHINE\init]
If(RegKeyExists("HKLM","init"))
Message("Bam OK se xoa toan bo noi dung trong. ^NL^ HKEY_LOCAL_MACHINE\init")
RegDeleteKey( "HKLM", "init", 1, 1 )
EndIf
#
# Ghi[HKEY_LOCAL_MACHINE\init]
#
RegWriteString( "HKLM", "init", "Launch10", "shell.exe" )
RegWriteString( "HKLM", "init", "Launch20", "device.dll" )
RegWriteBinary( "HKLM", "init", "Depend20", "0a00" )
RegWriteString( "HKLM", "init", "Launch30", "gwes.dll" )
RegWriteBinary( "HKLM", "init", "Depend30", "1400" )
RegWriteString( "HKLM", "init", "Launch50", "explorer.exe" )
RegWriteBinary( "HKLM", "init", "Depend50", "1e00")
RegWriteString( "HKLM", "init", "Launch60", "servicesStart.exe" )
RegWriteBinary( "HKLM", "init", "Depend60", "1400" )
#RegWriteString( "HKLM", "init", "Launch96", "update_Atlas.exe" )
#RegWriteBinary( "HKLM", "init", "Depend96", "1400" )
#
# Ghi[HKEY_LOCAL_MACHINE\init\BootVars]
#Ví dụ phần BootVars trên xe KIA K3 1.6AT Trường Hải - Xe cụ sẽ khác
RegWriteString( "HKLM", "init\BootVars", "SystemHive", "\HIVEREG\save\system.hv" )
RegWriteString( "HKLM", "init\BootVars", "ProfileDir", "\HIVEREG\save\" )
RegWriteExt( "HKLM", "init\BootVars", "Flags", "hex:0000000f" )
RegWriteString( "HKLM", "init\BootVars", "DefaultUser", "AT10X0BD_EVB" )
RegWriteExt( "HKLM", "init\BootVars", "Start DevMgr", "hex:00000001" )
RegWriteExt( "HKLM", "init\BootVars", "RegistryFlags", "hex:00000000" )
#
#Thong bao cap nhat thanh cong va khoi dong lai
#
Message("Viec cap nhat registry da hoa tat!^NL^Bam OK de khoi dong lai")
Reset
Để xuất được reggistry cụ quay lại thư mục ceFFM-0.3.5\program files\ce-utils\Registry Editor
Dùng cái file RegEdit.exe chứ không phải là file pregedit.exe nhé. Cụ hãy xuất toàn bộ registry ra cụ ạ.
Vấn đề cụ hỏi cái RegWriteExt khác RegWriteString thế nào thì đây là toàn bộ tài liệu gốc, hiểu đơn giản là RegWriteExt có kiểu dữ liệu giống file .reg hay nói cách khác value của nó phức tạp hơn mấy kiểu trên.
Writes a value to the registry.
If the value name is an empty string (""), the default value is used.
RegWriteString writes a string value (a numeric value is automatically converted).
RegWriteDWord writes a numeric value (a string value is automatically converted, invalid strings
will become “0”).
RegWriteBinary writes binary data. The given value must be a string containing a hex dump (e.g.
"010A"), spaces and similar characters are not allowed in it!
RegWriteMultiString writes a list of string values (given as array). The given value must be an
array. All elements from 1 to the first unassigned number are regarded, if the elements will be
converted to strings if necessary.
RegWriteExt is the counterpart to RegWriteExt (see above), it requires a value in .reg style.