• 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

Mã nguồn update Resource

Các ví dụ nho nhỏ và những thứ linh tinh không thuộc nhóm nào
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Mã nguồn update Resource

Gửi bàigửi bởi truongphu » T.Sáu 13/07/2012 2:29 pm

Tên chương trình: Mã nguồn update Resource
Ngôn ngữ lập trình: VB6
Tác giả: truongphu
Chức năng: Mã nguồn update Resource. Có thể ứng dụng trong EXE tự update



Bài trong Box Giới thiệu sản phẩm: Mời các bạn xem qua:
EXE tự update thông tin! Bạn có tin không?

Có file Zzz.exe đóng vai trò chính trong việc update resouce.
File nầy được nhét trong resource của file Đích.EXE (ID 102), kèm file data.txt (ID 101).

File Đích.exe khi close sẽ gọi Zzz.exe chạy.

Zzz.exe sẽ update Đích.exe resource data.txt(101).
sau đó Zzz sẽ xóa data.txt và chính mình.

  1. Private Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" _
  2.    (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As Long, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long
  3. Private Declare Function BeginUpdateResource Lib "kernel32" Alias _
  4.     "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Long) As Long
  5. Private Declare Function EndUpdateResource Lib "kernel32" Alias _
  6.     "EndUpdateResourceA" (ByVal hUpdate As Long, ByVal fDiscard As Long) As Long
  7.  
  8. Private Sub Form_Load()
  9.     'On Error Resume Next
  10.    Const resID = 101:    Const resLang = &H409 ' English
  11.    Const exeName = "Ðích.exe":    Const txtFile = "Data.txt"
  12.     Dim ÐocFile() As Byte, rSize&
  13.     rSize = FileLen(txtFile)
  14.     Open txtFile For Binary As #1
  15.         ReDim ÐocFile(LOF(1))
  16.         Get #1, , ÐocFile
  17.     Close #1
  18.  
  19.    Dim hUpt As Long, ret As Long
  20.    hUpt = BeginUpdateResource(exeName, 0)   ' use 1 Ðê xóa các (all) resource tôn tai!
  21.   ret = UpdateResource(hUpt, "CUSTOM", resID, resLang, ÐocFile(0), rSize)
  22.      
  23.    Do Until ret > 300000 ' wait 1 chút!
  24.    DoEvents
  25.     ret = ret + 1
  26.    Loop
  27.     ret = EndUpdateResource(hUpt, 0)  ' 0 = change
  28.   If ret Then Unload Me
  29. End Sub
  30.  
  31. 'UpdateResource lpType As Long: RT_CURSOR=1, RT_BITMAP=2, RT_ICON=3
  32. 'RT_STRING=6 xem <!-- m --><a class="postlink" href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms648009(v=vs.85">http://msdn.microsoft.com/en-us/library ... 09(v=vs.85</a><!-- m -->).aspx
  33. 'UpdateResource sua lai lpType As String, Ðê khai "CUSTOM" !! Hay! by truongphu
  34.  
  35. Private Sub Form_Terminate() ' xóa hêt sau thoát
  36.    Dim myEXE, outEX As String
  37.     myEXE = App.Path & "\" & App.exeName & ".exe"
  38.     mybat = App.Path & "\go.bat"
  39.     Open mybat For Output As #1
  40.     Print #1, "del " & App.exeName & ".exe"
  41.     Print #1, "del Data.txt"
  42.     Print #1, "del go.bat"
  43.     Close #1
  44.     Shell mybat, vbHide
  45. End Sub
  46.  


Project:
Nguôn.rar
(8.99 KiB) Đã tải 688 lần



File Đích.exe tự update chính mình:
Tập tin đính kèm
Ðích.rar
(7.08 KiB) Đã tải 563 lần
Sửa lần cuối bởi truongphu vào ngày T.Bảy 14/07/2012 10:46 am với 1 lần sửa.


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Mã nguồn update Resource

Gửi bàigửi bởi truongphu » T.Sáu 13/07/2012 2:35 pm

Nói thêm cho rõ:
Đây là lần đầu tiên trên thế giới file Đích.EXE tự cập nhật dữ liệu!
Nếu mã nguồn nầy được truyền bá, bảo đảm các lập trình viên khi build sản phẩm có dữ liệu cần cập nhật sẽ

Sub Form_Terminate trong mã nguồn là ứng dụng trong bài "Tự xóa chính mình sau khi thoát" đã đăng trên forum của chúng ta.

Cấu trúc file data.txt là:
  1. Private Type SôLiêu '40 byte
  2.    STT As Byte
  3.     HoTên As String * 15
  4.     SôTiên As Long
  5.     ÐiaChi As String * 20
  6. End Type
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
tungblt
Điều hành viên
Điều hành viên
Bài viết: 548
Ngày tham gia: T.Hai 22/12/2008 5:22 pm
Đến từ: quy nhơn
Has thanked: 6 time
Been thanked: 76 time
Liên hệ:

Re: Mã nguồn update Resource

Gửi bàigửi bởi tungblt » T.Bảy 14/07/2012 8:54 am

Không có code file "Đích" hả chú :(
love

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Mã nguồn update Resource

Gửi bàigửi bởi truongphu » T.Bảy 14/07/2012 9:52 am

tungblt đã viết:Không có code file "Đích" hả chú :(


File Ðích đâu có tham dự chuyện update resource?

Project:
Tập tin đính kèm
Ðích.rar
(5.41 KiB) Đã tải 367 lần
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
vietteiv
Quản trị
Quản trị
Bài viết: 1318
Ngày tham gia: T.Bảy 10/02/2007 12:17 am
Đến từ: Cung cấp giải pháp quản lý doanh nghiệp, dự án, tư vấn xây dựng
Has thanked: 6 time
Been thanked: 69 time
Liên hệ:

Re: Mã nguồn update Resource

Gửi bàigửi bởi vietteiv » T.Bảy 14/07/2012 10:25 am

test thử thấy file dich.exe ko cập nhật được
sửa dữ liệu khánh hòa -> nha trang
14-07-2012 10-23-40 AM.png
14-07-2012 10-23-40 AM.png (9.53 KiB) Đã xem 4275 lần
Tập tin đính kèm
Ðích_updated.rar
(7.29 KiB) Đã tải 379 lần

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Mã nguồn update Resource

Gửi bàigửi bởi truongphu » T.Bảy 14/07/2012 10:39 am

vietteiv đã viết:test thử thấy file dich.exe ko cập nhật được
sửa dữ liệu khánh hòa -> nha trang


Cảm ơn Vietteiv đã test giùm
Đấy là lỗi kỹ thuật code chạy vòng lặp không đủ.
Đã sửa và gởi EXE sau đây...
(Riêng mã nguồn Đích ở trên)

TB: Chỉ mong chứng minh là EXE tự update dữ liệu trên bất kỳ hệ thống nào...
untitled.JPG
untitled.JPG (24.46 KiB) Đã xem 4273 lần


Đích.exe
Ðích.rar
(7.11 KiB) Đã tải 382 lần



Trên cơ sở code của 2 project trên, chúng ta có thể thử với csdl là file access. (tôi chưa thử!)
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
vietteiv
Quản trị
Quản trị
Bài viết: 1318
Ngày tham gia: T.Bảy 10/02/2007 12:17 am
Đến từ: Cung cấp giải pháp quản lý doanh nghiệp, dự án, tư vấn xây dựng
Has thanked: 6 time
Been thanked: 69 time
Liên hệ:

Re: Mã nguồn update Resource

Gửi bàigửi bởi vietteiv » T.Bảy 14/07/2012 11:49 am

chú cập nhật lại mã nguồn update trong cửa sổ code ở bài đầu tiên luôn đi

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Mã nguồn update Resource

Gửi bàigửi bởi truongphu » T.Bảy 14/07/2012 2:04 pm

vietteiv đã viết:chú cập nhật lại mã nguồn update trong cửa sổ code ở bài đầu tiên luôn đi

Bài đầu tiên là của file Zzz.eze. Bài đó tốt mà.
Riêng mã nguồn File Đích.exe có ở bên trên, tốt.

==================

Bây giờ có file mới: AutoUpdate.Exe; file nầy nhét file MDB.
AutoUpdate.rar
(19.13 KiB) Đã tải 411 lần


Tôi viết sơ bộ các câu sql, ...
untitled.JPG


Bạn thấy trên hình chỗ Save Sql còn lỗi...
Nói chung chưa hoàn thiện.
Nhưng: Tôi đã test êm phần tự update

Và bây giờ tôi gởi toàn bộ Project (gồm 2 project) để các bạn tùy ý chỉnh sửa
thêm bớt command, thay giao diện...vv.

Nếu public, hãy nhớ đến tác giả nầy
xin ghi câu: Thanks to truongphu caulacbovb.com

:D Chúc ngày cuối tuần vui và bận rộn với việc sửa Project nầy >:)
Tập tin đính kèm
Quan Lý Hàng Hóa - EXE AutoUpdate.rar
(18.06 KiB) Đã tải 485 lần
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

bannguyen
Thành viên chính thức
Thành viên chính thức
Bài viết: 16
Ngày tham gia: T.Hai 16/04/2012 10:30 pm
Has thanked: 4 time
Been thanked: 1 time

Re: Mã nguồn update Resource

Gửi bàigửi bởi bannguyen » T.Tư 22/08/2012 3:14 pm

Anh nào chuyển hộ em code này sang vb.net với ạ
Em chuyển nhưng code báo lỗi, không dùng được
Cảm ơn rất nhiều !

PhuongThanh37
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 87
Ngày tham gia: T.Sáu 09/09/2005 1:38 pm
Đến từ: Liên Hà, Đông Anh, HN
Liên hệ:

Re: Mã nguồn update Resource

Gửi bàigửi bởi PhuongThanh37 » T.Sáu 19/04/2013 11:09 pm

truongphu đã viết:Nói thêm cho rõ:
Đây là lần đầu tiên trên thế giới file Đích.EXE tự cập nhật dữ liệu!



Lâu lắm rồi mới vào Forum. Cháu kết nhất đoạn đó của chú.

Hồi xưa cháu cũng hay có thói quen viết chương trình hay để trong file EXE luôn. (Chẳng hạn password thì luôn để trong chính file đó).
Nhưng cháu không làm CÔNG PHU như chú cháu làm thì đơn giản lắm.

1 - Đổi tên file chương trình.
2 - Copy nó thành tên cũ
3 - Sửa file tên cũ
4 - Thích thì cho kiểm tra xem có tên mới xóa thì xóa không xóa thì thôi.

lelapatina3
Bài viết: 8
Ngày tham gia: T.Hai 23/02/2009 12:54 pm
Has thanked: 1 time

Re: Mã nguồn update Resource

Gửi bàigửi bởi lelapatina3 » T.Bảy 21/06/2014 5:17 pm

em chỉ có mơ ước đơn giản là code này ứng dụng trên vb.net hjx
mong các bác giúp em thực hiện./tập tành viết .net mà thấy khó quá,,,,,

lelapatina3
Bài viết: 8
Ngày tham gia: T.Hai 23/02/2009 12:54 pm
Has thanked: 1 time

Re: Mã nguồn update Resource

Gửi bàigửi bởi lelapatina3 » T.Tư 29/04/2015 10:06 pm

có bác nào viết cái này trên vb.net chưa ah?


Quay về “[VB] Mã nguồn linh tinh”

Đ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.1 khách