程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 認識NSIS入門之基本語法篇

認識NSIS入門之基本語法篇

編輯:更多關於編程

     認識NSIS入門之基本語法篇 三聯

      注釋

      單行注釋用井號"#"或分號";",跨行注釋用可以用c/C++中注釋語法。

      數據類型

      數字

      數字常量可以用十進制、十六進制(0x為前綴)、八進制(0為前綴)表示,顏色用類似html的中RGB表示法,但去井號"#"。

      字符串

      字符串常量可以用引號引用,轉意字符用"$"作前綴。美元符號、常用轉意字符換行、回車、制表符的nsi語法表示分別為:$$,$n,$r,$t

      續行符

      nsi腳本用行尾的反斜槓""表示下一行和當前行邏輯上是同一行

      默認頭文件

      如果在makensis同目錄下有nsisconf.nsh文件,該文件會被自動包含,除非編譯時指定/NOCONFIG選項

      標號

      nsi使用GOTO語句和IfErrors, MessageBox, IfFileExists及StrCmp進行程序控制流表示,標號是這些語句的目標語句。標號定義的語法:

      標號:語句

      標號必須定義在函數和區段中,其作用范圍僅限於定義它的區段或函數。以點號"."開頭的標號是全局標號。

      相對跳轉

      nsi腳本常常使用相對跳轉表示條件分枝,其語法是[+-][1-9],加號表示從當前位置往前跳轉,減號則表示從當前位置往後跳轉。數字表示跳轉的語句條數。示例:

      Goto +4

      MessageBox MB_OK "The following message will be skipped"

      Goto +3

      MessageBox MB_OK "You will never ever see this message box"

      Goto -3

      MessageBox MB_OK "Done"

      頁面

      向導頁面是NSIS安裝程序中最重要的界面元素,在nsi腳本中可以使用NSIS內置頁面或者定制界面,通過腳本可以指定頁面的順序、顯示樣子和行為。 Page指令用來定義安裝程序中的頁面,UninstPage用來定義,此外PageEx指令提供類是功能,但提供更多選項。頁面的順序和它在nsi腳本中出現的次序一致。

      頁面選項

      不同的頁面有不同的選項:

      License page有LicenseText,LicenseData,LicenseForceSelection;

      Components selection頁面有ComponentText;

      Directory selection頁面有DirText,DirVar(僅能在PageEx中使用),DirVerify;

      Un/Installation log頁面有DetailsButtonText,CompletedText;

      Uninstall confirmation頁面有DirVar(僅能在PageEx中使用),UninstallText

      對於內置的Page,NSIS支持三個回調函數用於定制界面和驗證,對於自定義頁面NSIS支持兩個回調函數。

      Page指令語法

      Page license|components|directory|instfiles|uninstConfirm) [pre_function] [show_function] [leave_function]

      或者:

      Page custom [creator_function] [leave_function] [caption]

      UninstPage指令語法

      UninstPage custom [creator_function] [leave_function] [caption]

      OR

      UninstPage (license|components|directory|instfiles|uninstConfirm) [pre_function] [show_function] [leave_function]

      PageEx語法

      常用的nsi指令

      nsi大致可以分為基本指令、注冊表及ini操作指令、通用指令、流程控制指令、文件操作指令、卸載指令、字符串處理指令、多語言支持指令、重啟指令。

      以下是常用的基本指令:

      Delete

      Delete [/REBOOTOK] file

      Exec

      Exec command

      ExecShell

      ExecShell action command [parameters] [SW_SHOWNORMAL | SW_SHOWMAXIMIZED | SW_SHOWMINIMIZED | SW_HIDE]ExecShell "open" 示例"http://XIAZAIBA.COM/"

      ExecWait

      ExecWait command [user_var(exit code)]

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved