上一頁 | 目錄 | 下一頁

4.4 相對跳轉

和標記不一樣,相對跳轉就如其名一樣,相對於被調用的地方。在任何你可用到標記的地方你也都可以相對跳轉。相對跳轉由數字標定。+1 轉移到下一條指令(預設的步進),+2 會跳過一條指令也並且從目前指令轉到第二條指令,-2 將往後跳兩條指令,+10 將會跳過 9 條指令,從目前指令跳到第十條指令。

一條指令就是在安裝程式運行時可以被執行的所有命令。MessageBoxGotoGetDLLVersionFileReadSetShellVarContext 都是指令。AddSizeSectionSectionGroupSectionEndSetOverwrite(和所有處於 編譯器標記)、NameSetFontLangString 都不是指令,因為它們在編譯時就被執行。

例子:

 Goto +2
   MessageBox MB_OK "你將看不到這個訊息框"
 MessageBox MB_OK "上一條訊息被略過,這條訊息才會被顯示"
 Goto +4
 MessageBox MB_OK "隨後的這條訊息將會被略過"
 Goto +3
 MessageBox MB_OK "你將不會看到這個訊息框"
 Goto -3
 MessageBox MB_OK "完成"

上一頁 | 目錄 | 下一頁