1. Trang chủ
  2. » Công Nghệ Thông Tin

Ebook Portable Softwares part 60 potx

6 309 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 80,53 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

; Set default values for variables Cho biến các giá trị mặc định ; --- StrCpy "$PROGRAMEXE" "${EXE}" ; dùng thiết lập mặc định StrCpy "$PROGRAMPARMS" "" StrCpy "$SPLASHSCREEN" "enabled"

Trang 1

; Set default values for variables (Cho biến các giá trị mặc định)

; - StrCpy "$PROGRAMEXE" "${EXE}" ; dùng thiết lập mặc định StrCpy "$PROGRAMPARMS" ""

StrCpy "$SPLASHSCREEN" "enabled" ; cho phép splashscreen

; -

; Kiểm tra cấu hình thư mục nào được dùng và thiết lập các biến theo

đó

; - IfFileExists "$EXEDIR\App\${APP}\$PROGRAMEXE" ""

CheckPortableDIR

StrCpy "$PROGRAMDIR" "$EXEDIR\App\${APP}"

StrCpy "$DATADIR" "$EXEDIR\Data"

Goto InitVarEnd CheckPortableDIR:

IfFileExists

"$EXEDIR\${PNAME}\App\${APP}\$PROGRAMEXE" ""

CheckPortableAppsDIR

StrCpy "$PROGRAMDIR"

"$EXEDIR\${PNAME}\App\${APP}"

StrCpy "$DATADIR" "$EXEDIR\${PNAME}\Data"

Goto InitVarEnd CheckPortableAppsDIR:

IfFileExists

"$EXEDIR\PortableApps\${PNAME}\App\${APP}\$PROGRAMEXE" ""

CheckAppsDIR

StrCpy "$PROGRAMDIR"

"$EXEDIR\PortableApps\${PNAME}\App\${APP}"

StrCpy "$DATADIR"

"$EXEDIR\PortableApps\${PNAME}\Data"

Goto InitVarEnd CheckAppsDIR:

IfFileExists

"$EXEDIR\Apps\${PNAME}\${APP}\$PROGRAMEXE" "" NoDIR

StrCpy "$PROGRAMDIR"

"$EXEDIR\Apps\${PNAME}\${APP}"

StrCpy "$DATADIR" "$EXEDIR\Data\${PNAME}"

Goto InitVarEnd NoDIR:

; -

Trang 2

; Không tìm thấy cấu hình thư mục được cho phép nào

; - MessageBox MB_OK|MB_ICONEXCLAMATION

`$PROGRAMEXE không tìm thấy Xin kiểm tra cấu hình của bạn`

Abort ; kết thúc launcher InitVarEnd: ;kết thúc hàm

FunctionEnd

;

******************************************************************

********

; * Hàm: Làm việc với các khóa hoặc cây registry (backup, restore, delete)

;

******************************************************************

********

Function DoAction

StrCmp "$ACTIONPARAMETERS" "" Sau vòng lặp ; nếu không có tham

số nào thì thôi ngay

StrCpy "$R8" "0" ; reset bộ đếm

StrCpy "$R2" "$ACTION" 6 # ; chỉ lấy 6 ký tự đầu của hành động đc yêu cầu

StrCmp "$R2" "Backup" "" GoOn ; sao lưu thư mục yêu cầu

IfFileExists "$ACTIONDIRECTORY\*.*" GoOn ; tạo thư mục sao lưu nếu

nó không tồn tại

CreateDirectory $ACTIONDIRECTORY GoOn:

StrCpy "$R0" "$ACTIONPARAMETERS" ; chép hằng số để làm việc đăng

Loop:

; -

; Lấy tham số đơn ra khỏi danh sách

; - StrCmp "$R0" "" Sau vòng lặp ; không phân tích registry, khi không

có khóa nào được đưa ra

IntOp $R8 $R8 + 1 ; tăng bộ đếm

${WordFind} "$R0" "||" "+01" $R9 ; lưu tham số đầu tiên để đăng ký

${WordFind} "$R0" "||" "+02*}" $R0 ; xóa phần đầu tiên từ giá trị đã lưu

StrCmp "$R0" "$R9" LastLoop ; nếu các giá trị đăng ký trùng nhau -> không còn delimiters

Trang 3

Goto DoWork ; không xóa danh sách giá trị LastLoop:

StrCpy "$R0" "" ; Nếu không có delimiter sẵn có thì làm trống rỗng các biến làm việc

; -

;Quyết định làm gì với tham số

; - DoWork:

StrCpy "$R2" "$ACTION" "" -4 # ; lấy 7 ký tự cuối của biến hoạt động

!ifdef REGKEYS

StrCmp "$R2" "Keys" DoWorkRegistry ; hành động phải được thực hiện với registry

!endif

!ifdef SETTINGSFILES

StrCmp "$R2" "File" DoWorkFiles ; hành động phải được thực hiện với file

!endif

!ifdef SETTINGSDIRS

StrCmp "$R2" "Dirs" DoWorkDirectory ; hành động phải được thực hiện với các thư mục

!endif Goto Continue ; có gì đó không xác định

; -

; Thao tác với các khóa registry

; -

!ifdef REGKEYS

DoWorkRegistry:

StrCmp "$ACTION" "BackupKeys" BackupRegistryKey

; sao lưu khóa registry

StrCmp "$ACTION" "RestoreKeys" RestoreRegistryKey

; phục hồi khóa registry, VD ghi chúng vào registry

StrCmp "$ACTION" "DeleteKeys" DeleteRegistryKey ; Xóa các khóa registry

Goto Continue ; có gì đó không xác định BackupRegistryKey:

${registry::KeyExists} "$R9" $R7 ; kiểm tra khóa registry có tồn tại hay không

StrCmp "$R7" "0" 0 Continue ; khóa registry không tồn tại, không lưu lại gì cả

Trang 4

${registry::SaveKey} "$R9"

"$ACTIONDIRECTORY\RegKey$R8.reg" "/G=1" $R7 ; Sao lưu khóa registry

Sleep 50 Goto Continue RestoreRegistryKey:

IfFileExists "$ACTIONDIRECTORY\RegKey$R8.reg"

0 Continue ; chỉ phục hồi nếu 1 file registry tồn tại

${registry::RestoreKey}

"$ACTIONDIRECTORY\RegKey$R8.reg" $R7 ; Phục hồi các khóa registry đã lưu

Sleep 50 Goto Continue DeleteRegistryKey:

${registry::DeleteKey} "$R9" $R7 ; Xóa khóa registry Sleep 50

Goto Continue

!endif

; -

; Thao tác với file

; -

!ifdef SETTINGSFILES

DoWorkFiles:

StrCmp "$ACTION" "BackupFile" BackupFile ; thực hiện sao lưu file

StrCmp "$ACTION" "RestoreFile" RestoreFile ; phục hồi các file đã lưu, VD ghi nó vào máy host

StrCmp "$ACTION" "DeleteFile" DeleteFile ; xóa file từ host computer

BackupFile:

IfFileExists "$R9" 0 Continue ; kiểm tra xem file có tồn tại hay không

CopyFiles "$R9" "$ACTIONDIRECTORY\File$R8.dat"

; sao lưu file

Goto Continue RestoreFile:

IfFileExists "$ACTIONDIRECTORY\File$R8.dat" 0 Continue ; chỉ phục hồi khi file có sẵn

CopyFiles "$ACTIONDIRECTORY\File$R8.dat" "$R9"

; phục hồi file

Goto Continue

Trang 5

DeleteFile:

Delete "$R9" ; xóa file Goto Continue

!endif

; -

; Thao tác với thư mục

; -

!ifdef SETTINGSDIRS

DoWorkDirectory:

StrCmp "$ACTION" "BackupDirs" BackupDirectory ; sao lưu thư mục

StrCmp "$ACTION" "RestoreDirs" RestoreDirectory ; phục hồi thư mục đã sao lưu, VD ghi nó vào máy host

StrCmp "$ACTION" "DeleteDirs" DeleteDirectory ; xóa thư mục từ máy host

BackupDirectory:

IfFileExists "$R9\*.*" 0 Continue ; kiểm tra xem thư mục nguồn có tồn tại hay không

IfFileExists "$ACTIONDIRECTORY\Dir$R8.dat" +2 0 ; thư mục đích có tồn tại hay không?

CreateDirectory "$ACTIONDIRECTORY\Dir$R8.dat" ; tạo thư mục đích

CopyFiles "$R9\*.*"

"$ACTIONDIRECTORY\Dir$R8.dat" ; sao lưu thư mục

Goto Continue RestoreDirectory:

IfFileExists "$ACTIONDIRECTORY\Dir$R8.dat\*.*" 0 Continue ; kiểm tra xem các sao lưu có tồn tại không

IfFileExists "$R9\*.*" +2 0 ; thư mục đích có tồn tại không

CreateDirectory "$R9" ; create target directory CopyFiles "$ACTIONDIRECTORY\Dir$R8.dat\*.*"

"$R9" ; phục hồi các thư mục

Goto Continue DeleteDirectory:

RMDir "/r" "$R9" ; xóa thư mục Goto Continue

!endif

; -

; End of Loop

Ngày đăng: 03/07/2014, 00:21

TỪ KHÓA LIÊN QUAN