共用方式為


了解巴格斯格式 (BNF) 語法

本主題將使用 BNF 語法來說明 ATL 登錄器所使用的指令碼,其使用下表所示的標記法。

慣例/符號 意義
::= 對等
| OR
+X 一或多個 X。
[X] X 是選擇性的。 選擇性分隔符由 [] 表示。
任何粗體文字 字串常值。
任何「斜體」文字 如何建構字串常值。

如上表所示,登錄器指令碼會使用字串常值。 這些值是必須出現在您的指令碼中的實際文字。 下表說明 ATL 登錄器指令碼中所使用的字串常值。

字串常值 動作
ForceRemove 完全移除下一個機碼 (若有的話),然後重新建立它。
NoRemove 不要在取消登錄期間移除下一個機碼。
val 指定 <Key Name> 實際上是具名的值。
刪除 在登錄期間刪除下一個機碼。
s 指定下一個值為字串 (REG_SZ)。
d 指定下一個值為 DWORD (REG_DWORD)。
m 指定下一個值為 multistring (REG_MULTI_SZ)。
b 指定下一個值為二進位值 (REG_BINARY)。

BNF 語法範例

以下數個語法範例可協助您了解標記法和字串常值如何在 ATL 登錄器指令碼中運作。

語法範例 1

<登錄表達式> ::= <新增機碼>

指定 registry expression 相當於 Add Key

語法範例 2

<登入運算式> ::= <新增機碼> | <刪除索引鍵>

指定 registry expression 相當於 Add KeyDelete Key

語法範例 3

<機碼名稱> ::= '<AlphaNumeric>+'

指定相當於 Key Name 一或多個 AlphaNumeric 值。

語法範例 4

<新增密鑰> ::= [ForceRemove NoRemove | | val]<Key Name>

指定 Add Key 相當於Key Name,而且字串常值 ForceRemoveNoRemoveval 均為選擇性。

語法範例 5

<AlphaNumeric> ::= 任何不是 NULL 的字元,也就是 ASCII 0

指定 AlphaNumeric 相等於任何非 NULL 字元。

語法範例 6

val 'testmulti' = m 'String 1\0String 2\0'

指定機碼名稱 testmultiString 1String 2 所組成的 multistring 值。

語法範例 7

val 'testhex' = d '&H55'

指定機碼名稱 testhex 是設定為十六進位 55 (十進位 85) 的 DWORD 值。 請注意,此格式遵守如同可在 Visual Basic 規格中找到的 &H 標記法。

另請參閱

建立登錄器指令碼