[Updater UDF] Tạo chức năng kiểm tra Update cho chương trình, không chiếm GUI, không gây đơ chương trình, dễ cài đặt
Trang 1 trong tổng số 1 trang
[Updater UDF] Tạo chức năng kiểm tra Update cho chương trình, không chiếm GUI, không gây đơ chương trình, dễ cài đặt
• Mô tả:
- UDF giúp các bạn tạo một chương trình với tính năng kiểm tra Update một cách dễ dàng, ngay cả với người mới bắt đầu học AutoIt.
- Quá trình kiểm tra Update không gây đơ GUI, đơ code vì sử dụng 2 hình thức: WinHttp chế độ Bất đồng bộ (không chờ nhận) để gửi yêu cầu lấy dữ liệu từ Host và WinAPI SetTimer để chờ lấy giá trị từ WinHttp trong một thread khác.
- Host mà chương trình sử dụng để chứa dữ liệu update là https://notevn.com/, dễ quản lý (có đăng ký tài khoản, có tạo tên trang riêng, có khoá mật khẩu). Tuy nhiên tốt nhất là những thông tin quan trọng không khuyến khích nhét lên đây nha
• Sử dụng:
- Về việc lưu dữ liệu update lên https://notevn.com/:
1/ Trước tiên ta sẽ tạo tài khoản (nếu chưa tạo), sau đó đăng nhập tài khoản, rồi chọn nút [Tab mới] để tạo một trang lưu dữ liệu mới, sau đó, ta nhìn bên tay phải trang vừa tạo sẽ có các nút sau:
+ Ta bấm nút hình cây viêt để sửa lại tên cho trang để dễ nhớ.
+ Khoan bấm nút hình cái khoá trừ khi đã thêm hoặc chỉnh sửa nội dung dữ liệu xong.
2/ Tạo dữ liệu với cấu trúc như sau:
Ví dụ:
Chú ý: Ký tự Tab và ký tự Space ở đầu dòng nếu đọc ở dạng văn bản thì nó không hiện, vì vậy ta sử dụng \s để thay cho Space, \t để thay cho Tab nếu chúng nằm ở đầu dòng.
3/ Chỉnh sửa dữ liệu xong hết rồi thì ta bấm nút hình cái Khoá để khoá lại ngăn người lạ chỉnh sửa (Sau này có chỉnh sửa tiếp thì nhớ mở khoá ra trước kẻo viết cho đã rồi nó không có lưu lại gì hết đó ạ ). Sau đó nhìn dưới đáy trang notevn sẽ thấy cái nút Raw như thế này:
Ta ấn vào cái nút Raw đó nó sẽ báo đã copy link thành công, nó có dạng ví dụ như thế này: https://notevn.com/raw/fj3k7xs1. Thì fj3k7xs1 chính là cái ID ta sẽ sử dụng trong code.
- Về việc sử dụng UDF:
+ UDF chỉ gồm 2 hàm chính là:
1/ Update_Init: Hàm này đã giải thích rõ cách sử dụng trong ví dụ đính kèm trong UDF.
2/ Update_GetValue($Key): Khi kiểm tra update thành công, thì Update_GetValue sẽ giúp lọc dữ liệu từ host về, ví dụ bạn cài đặt dữ liệu như hình:
thì Update_GetValue('Version') sẽ trả về '2.0', Update_GetValue('URL') sẽ trả về 'https://www.facebook...' ...
Cụ thể sẽ như hình dưới:
• Ghi chú:
Ta có thể biến tấu CheckUpdate thành CheckKey một cách rất đơn giản, ví dụ ta lưu dữ liệu lên notevn như thế này:
Code chương trình của khách sẽ như thế này:
$HWID = _WinAPI_UniqueHardwareID () ;hoặc 1 code generate HWID riêng của bạn
$Info = Update_GetValue($HWID)
If $Info = '' Then Exit MsgBox(0, 'Thông báo', 'Bạn chưa đăng ký sử dụng')
If StringSplit($Info, '|')[2] > $ThoiGianSuDung Then Exit MsgBox(0, 'Thông báo', 'Đã quá hạn sử dụng')
..................
Có điều phải đảm bảo chương trình của bạn được Obf (làm rối mã) tốt nhé nếu không thì cũng dễ dàng bị người "hữu tâm" bẻ thôi
• Tải về:
https://1drv.ms/u/s!AhiIbjk1VKtOeNLsuiDcWYGojUE
- UDF giúp các bạn tạo một chương trình với tính năng kiểm tra Update một cách dễ dàng, ngay cả với người mới bắt đầu học AutoIt.
- Quá trình kiểm tra Update không gây đơ GUI, đơ code vì sử dụng 2 hình thức: WinHttp chế độ Bất đồng bộ (không chờ nhận) để gửi yêu cầu lấy dữ liệu từ Host và WinAPI SetTimer để chờ lấy giá trị từ WinHttp trong một thread khác.
- Host mà chương trình sử dụng để chứa dữ liệu update là https://notevn.com/, dễ quản lý (có đăng ký tài khoản, có tạo tên trang riêng, có khoá mật khẩu). Tuy nhiên tốt nhất là những thông tin quan trọng không khuyến khích nhét lên đây nha
• Sử dụng:
- Về việc lưu dữ liệu update lên https://notevn.com/:
1/ Trước tiên ta sẽ tạo tài khoản (nếu chưa tạo), sau đó đăng nhập tài khoản, rồi chọn nút [Tab mới] để tạo một trang lưu dữ liệu mới, sau đó, ta nhìn bên tay phải trang vừa tạo sẽ có các nút sau:
+ Ta bấm nút hình cây viêt để sửa lại tên cho trang để dễ nhớ.
+ Khoan bấm nút hình cái khoá trừ khi đã thêm hoặc chỉnh sửa nội dung dữ liệu xong.
2/ Tạo dữ liệu với cấu trúc như sau:
- Code:
[Key1]
{
Item1 (Item có thể bao gồm ký tự xuống dòng cũng được)
}
[Key2]
{
Item2
}
[KeyN]
{
ItemN
}
Ví dụ:
Chú ý: Ký tự Tab và ký tự Space ở đầu dòng nếu đọc ở dạng văn bản thì nó không hiện, vì vậy ta sử dụng \s để thay cho Space, \t để thay cho Tab nếu chúng nằm ở đầu dòng.
3/ Chỉnh sửa dữ liệu xong hết rồi thì ta bấm nút hình cái Khoá để khoá lại ngăn người lạ chỉnh sửa (Sau này có chỉnh sửa tiếp thì nhớ mở khoá ra trước kẻo viết cho đã rồi nó không có lưu lại gì hết đó ạ ). Sau đó nhìn dưới đáy trang notevn sẽ thấy cái nút Raw như thế này:
Ta ấn vào cái nút Raw đó nó sẽ báo đã copy link thành công, nó có dạng ví dụ như thế này: https://notevn.com/raw/fj3k7xs1. Thì fj3k7xs1 chính là cái ID ta sẽ sử dụng trong code.
- Về việc sử dụng UDF:
+ UDF chỉ gồm 2 hàm chính là:
1/ Update_Init: Hàm này đã giải thích rõ cách sử dụng trong ví dụ đính kèm trong UDF.
2/ Update_GetValue($Key): Khi kiểm tra update thành công, thì Update_GetValue sẽ giúp lọc dữ liệu từ host về, ví dụ bạn cài đặt dữ liệu như hình:
thì Update_GetValue('Version') sẽ trả về '2.0', Update_GetValue('URL') sẽ trả về 'https://www.facebook...' ...
Cụ thể sẽ như hình dưới:
• Ghi chú:
Ta có thể biến tấu CheckUpdate thành CheckKey một cách rất đơn giản, ví dụ ta lưu dữ liệu lên notevn như thế này:
- Code:
[HWID1]
{
Trần Văn A|30
}
[HWID2]
{
Nguyễn Thị B|60
}
Code chương trình của khách sẽ như thế này:
$HWID = _WinAPI_UniqueHardwareID () ;hoặc 1 code generate HWID riêng của bạn
$Info = Update_GetValue($HWID)
If $Info = '' Then Exit MsgBox(0, 'Thông báo', 'Bạn chưa đăng ký sử dụng')
If StringSplit($Info, '|')[2] > $ThoiGianSuDung Then Exit MsgBox(0, 'Thông báo', 'Đã quá hạn sử dụng')
..................
Có điều phải đảm bảo chương trình của bạn được Obf (làm rối mã) tốt nhé nếu không thì cũng dễ dàng bị người "hữu tâm" bẻ thôi
• Tải về:
https://1drv.ms/u/s!AhiIbjk1VKtOeNLsuiDcWYGojUE
Similar topics
» [ImageRE UDF] Thư viện Tìm kiếm ảnh đầy sức mạnh (Advanced Image Search)
» Zip/Unzip với 7zip.dll load trực tiếp từ bộ nhớ (không cần dll ngoài ổ cứng)
» MsgBoxDb - Msgbox MultiThread ổn định không crash, chuyên dùng để debug
» Zip/Unzip với 7zip.dll load trực tiếp từ bộ nhớ (không cần dll ngoài ổ cứng)
» MsgBoxDb - Msgbox MultiThread ổn định không crash, chuyên dùng để debug
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|