Ebook Portable Softwares part 59

Chia sẻ: Asdasdsdqeqwdd Asdasdsadasd | Ngày: | Loại File: PDF | Số trang:6

0
32
lượt xem
2
download

Ebook Portable Softwares part 59

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'ebook portable softwares part 59', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Ebook Portable Softwares part 59

  1. ; ****************************************************************** ******** ; ****************************************************************** ******** ; * Định nghĩa các hằng số (Define constants) ; ****************************************************************** ******** !define AUTHOR "" ; tên bạn !define APP "" ; chèn tên ứng dụng, Ví dụ "TestApp" !define VER "0.0.0.0" ; chèn phiên bản của chương trình !define EXE "" ; chèn tên file EXE, Ví dụ "testapp.exe" !define PNAME "${App}Portable" ; định dạng tên portable (các thư mục và tên file) !define ICON "${PNAME}.ico" ; chú thích dòng này khi sử dụng icon mặc định !define SPLASHIMAGE "${PNAME}.jpg" ; chú thích dòng này khi không dùng ảnh splashscreen !define REGKEYS "" ; chèn các khóa registry sử dụng, phân cách bởi "||", chú thích khi không dùng !define SETTINGSFILES "" ; chèn các file thiết lập dùng đến, phân cách bởi "||" được lưu trữ trong máy host, Ví dụ "$WINDIR\TEST.INI", chú thích ra khi không dùng !define SETTINGSDIRS "" ; chèn các thư mục thiết lập dùng đến, phân cách bởi "||" được lưu trữ trong máy host, Ví dụ "$PROFILE\TEST", chú thích ra khi không dùng !define INI "${PNAME}.ini" ; có thể thay đổi khi thiết lập của nhiều chương trình được lưu trong 1 file .INI ; ****************************************************************** ******** ; * Includes (Bao gồm) ; ****************************************************************** ******** !include "Registry.nsh" ; thêm các macro thao tác registry, không được bao gồm mặc định trong NSIS
  2. !include "WordFunc.nsh" ; thêm header cho thao tác với word !insertmacro "WordFind" ; thêm chức năng chia tách chuỗi !include "FileFunc.nsh" ; thêm header cho thao tác với file !insertmacro "GetParameters" ; thêm chức năng tìm lại các tham số dòng lệnh ; ****************************************************************** ******** ; * Runtime Switches (chuyển đổi thời gian thực) ; ****************************************************************** ******** CRCCheck On ; tiến hành CRC (cycle redundancy check) check của launcher trước khi bắt đầu("Off" cho việc nén EXE sau này) WindowIcon Off ; không hiển thị icon của launcher SilentInstall Silent ; bắt đầu như launcher, không phải installer AutoCloseWindow True ; tự động đóng khi kết thúc ; ****************************************************************** ******** ; * Định nghĩa các biến (Define variables) ; ****************************************************************** ******** Var ACTION Var ACTIONDIRECTORY Var ACTIONPARAMETERS Var SPLASHSCREEN ; thông tin splash screen có được hiện ra không, mặc định là có Var PROGRAMEXE ; tên của file EXE cần chạy Var PROGRAMDIR ; đường dẫn của file EXE ở trên Var PROGRAMPARMS ; các tham số thêm vào khi chạy file EXE Var DATADIR ; đường dẫn tới thư mục nơi lưu tất cả các thiết lập Var INIFILE ; đường dẫn đầy đủ tới file INI tìm được Var SECONDLAUNCH ; file EXE có được chạy lần thứ 2 hay không ; ****************************************************************** ********
  3. ; * Set basic information ( thiết lập các thông tin cơ bản) ; ****************************************************************** ******** Name "${APP} Portable" !ifdef ICON Icon "${ICON}" !endif Caption "${APP} Portable - ${VER}" OutFile "${PNAME}.exe" ; ****************************************************************** ******** ; * Set version information (Thiết lập thông tin phiên bản) ; ****************************************************************** ******** LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf" VIProductVersion "${Ver}" VIAddVersionKey /LANG=${LANG_ENGLISH} "Tên sản phẩm" "${APP} Portable" VIAddVersionKey /LANG=${LANG_ENGLISH} "Chú thích" "Cho phép ${APP} chạy trên 1 ổ cứng lưu động." VIAddVersionKey /LANG=${LANG_ENGLISH} "Bản quyền hợp pháp" "© ${AUTHOR}" VIAddVersionKey /LANG=${LANG_ENGLISH} "Tên công ty" "by ${AUTHOR}" VIAddVersionKey /LANG=${LANG_ENGLISH} "Mô tả file" "${APP} Portable" VIAddVersionKey /LANG=${LANG_ENGLISH} "Phiên bản của file" "${VER}" VIAddVersionKey /LANG=${LANG_ENGLISH} "Tên file gốc" "${PNAME}.exe" ; ****************************************************************** ******** ; * Hàm: Các khởi chạy khác trước khi chạy chương trình
  4. ; ****************************************************************** ******** Function Init FunctionEnd ; ****************************************************************** ******** ; * Hàm: Các thứ cần dọn sạch trước khi kết thúc chương trình ; ****************************************************************** ******** Function CleanUp FunctionEnd ; ****************************************************************** ******** ; * Function: Initialize working variables (Hàm chạy các biến làm việc) ; ****************************************************************** ******** Function InitVariables ; -------------------------------------------------------------------------- ; Kiểm tra xem file INI có tồn tại không, thiết lập biến trỏ đến nó ; -------------------------------------------------------------------------- IfFileExists "$EXEDIR\${INI}" "" CheckPortableINI StrCpy "$INIFILE" "$EXEDIR\${INI}" Goto ReadINIFile CheckPortableINI: IfFileExists "$EXEDIR\${PNAME}\${INI}" "" CheckPortableAppsINI StrCpy "$INIFILE" "$EXEDIR\${PNAME}\${INI}" Goto ReadINIFile CheckPortableAppsINI: IfFileExists "$EXEDIR\PortableApps\${PNAME}\${INI}" "" CheckAppsINI StrCpy "$INIFILE" "$EXEDIR\PortableApps\${PNAME}\${INI}"
  5. Goto ReadINIFile CheckAppsINI: IfFileExists "$EXEDIR\Apps\${PNAME}\${INI}" "" CheckDataINI StrCpy "$INIFILE" "$EXEDIR\Apps\${PNAME}\${INI}" Goto ReadINIFile CheckDataINI: IfFileExists "$EXEDIR\Data\${PNAME}\${INI}" "" NoINIFile StrCpy "$INIFILE" "$EXEDIR\Data\${PNAME}\${INI}" Goto ReadINIFile Goto NoINIFile ; -------------------------------------------------------------------------- ; Read content of the INI file (Đọc nội dung file INI) ; -------------------------------------------------------------------------- ReadINIFile: ReadINIStr $0 "$INIFILE" "${PNAME}" "Thư mục chương trình" StrCmp $0 "" NoINIFile ; nếu trống rỗng lấy lại thiết lập đúng StrCpy "$PROGRAMDIR" "$EXEDIR\$0" ; lưu thư mục chương trình ReadINIStr $0 "$INIFILE" "${PNAME}" "Thư mục dữ liệu" StrCmp $0 "" NoINIFile ; nếu trống rỗng lấy lại thiết lập đúng StrCpy "$DATADIR" "$EXEDIR\$0" ; lưu thư mục dữ liệu ReadINIStr $0 "$INIFILE" "${PNAME}" "file .EXE của chương trình" StrCpy "$PROGRAMEXE" "$0" ; lưu tên file .exe StrCmp $0 "" "" Splash ; nếu trống rỗng dùng tên mặc định StrCpy "$PROGRAMEXE" "${EXE}" ; cho giá trị mặc định Splash: ReadINIStr $0 "$INIFILE" "${PNAME}" "SplashScreen" StrCpy "$SPLASHSCREEN" "$0" ; lưu trạng thái của màn hình Splashscreen StrCmp "$SPLASHSCREEN" "" "" Các tham số chương trình ; kiểm tra xem biết splashscreen có trống rỗng không StrCpy "$SPLASHSCREEN" "enabled" ; cho giá trị mặc định ProgramParameters: ReadINIStr $0 "$INIFILE" "${PNAME}" "Tham số chương trình" StrCpy "$PROGRAMPARMS" "$0" ; lưu các tham số bổ sung Goto InitVarEnd ; kết thúc việc đọc file INI NoINIFile: ; thiết lập mặc định cho tất cả các biến ; --------------------------------------------------------------------------
Đồng bộ tài khoản