AppWizard (應用程式精靈) 是 Visual Studio 核心工具,透過一系列對話框引導開發者設定專案選項,自動產生專案框架 (專案檔、工作區、原始碼、資源等)。內建精靈無法擴充,Custom AppWizard (VC 4.0+) 解決此限制。
.awx (DLL),置於 ...\Template 目錄,自動出現在「新建專案」清單
CCustomAppWiz 為 MFCAPWZ.DLL 與自訂精靈的通訊介面,需衍生並覆寫虛擬函式m_Dictionary, CMapStringToString) 存放 **巨集名稱 → 值** 映射PROJTYPE_SDI=1 表示 SDI 專案
// 讀取巨集
CString val;
m_Dictionary.Lookup("PROJTYPE_SDI", val);
if (val == "1") { /* SDI */ }
// 設定巨集
m_Dictionary.SetAt("HELP", "1");
MFCAPWZ.DLL 提供 60+ 內建巨集,自訂巨集可用 SetAt 加入。
$$MACRO$$ 為佔位符,MFCAPWZ.DLL 掃描並以 Dictionary 對應值替換CAPTION "關於 $$ROOT$$" → CAPTION "關於 MyTestDlgApp"MyTestDlgAppMyTestDlgApp.rcIDD_ABOUT,發現 $$ROOT$$ 已被專案名取代PROJTYPE_SDI=1 用 SDI 模板,PROJTYPE_DLG=1 用對話框模板Ctrl+N → MFC AppWizard (exe)第二部分將動手建立最簡單的 Custom AppWizard:SDIAutomationWiz,預設產生支援自動化的 SDI 專案,實作 InitCustomAppWiz 設定巨集。