對於實作為 .exe 檔案的控制面板專案,不需要特殊匯出或訊息處理。 任何 .exe 檔案都可以註冊為命令物件,以便與 [控制面板] 資料夾中的進入點一起顯示。
這裡使用範例來示範註冊需求。 此範例示範如何將名為 [我的設定] 的 [控制面板] 專案註冊為命令物件,使其出現在 [控制面板] 視窗中。 執行命令 MyApp.exe /settings 時,也會顯示 [[我的設定] 視窗。
指示
步驟 1:
產生 [控制面板] 專案的 GUID。 GUID 可唯一識別 [控制面板] 的項目。 在此範例中,{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40} 是 [控制面板] 專案的 GUID。
步驟 2:
使用 GUID 做為名稱,將子機碼新增至註冊表,如下所示。
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Windows
CurrentVersion
Explorer
ControlPanel
NameSpace
{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
(Default) = My Settings
Default 項目的數據是控制面板項目的 REG_SZ 名稱。 預設項目可用來識別 GUID 項目,但這是可選的。
步驟 3:
使用 GUID 作為名稱,將子機碼及其項目新增至登錄,如下所示。
HKEY_CLASSES_ROOT
CLSID
{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
(Default) = My Settings
LocalizedString = @%ProgramFiles%\MyCorp\MyApp.exe,-9
InfoTip = @%ProgramFiles%\MyCorp\MyApp.exe,-5
System.ApplicationName = MyCorporation.MySettings
System.ControlPanel.Category = 1,8
System.Software.TasksFileUrl = %ProgramFiles%\MyCorp\MyApp\MyTaskLinks.xml
預設。 REG_SZ。 [控制面板] 項目的顯示名稱。
本地化字符串。 自選。 REG_SZ或REG_EXPAND_SZ。 控制面板專案本地化名稱的模組名稱和字串數據表標識碼。 格式是 「at」 符號 (@) ,後面接著包含多語系使用者介面 (MUI) 字串數據表 .exe 或 .dll 的名稱。 環境變數可以作為路徑中一部分的替代品。 路徑和檔名後面接著逗號 (,) 和連字元 (-),後面接著字串數據表中的識別符。
如果模組沒有字串數據表,則這個項目可以只是顯示名稱字串。 如果您只使用顯示名稱字串,而不是字串數據表,則名稱不會調整為目前的顯示語言。
資訊提示。 REG_SZ或REG_EXPAND_SZ。 控制面板項目的描述。 當滑鼠停留在項目圖示上時,這項資訊會顯示在資訊提示中。 語法與用於LocalizedString的語法相同,包括只提供字串而非字串資料表參考的選項。
System.ApplicationName。 REG_SZ。 專案的正式名稱。 表單
control.exe /name System.ApplicationName的命令會開啟專案;例如,control.exe /name MyCorporation.MySettings。 如需使用 Control.exe的詳細資訊,請參閱 執行控制面板專案。System.ControlPanel.Category。 REG_SZ。 值,宣告項目出現所在的 [控制面板] 類別。 多個類別會以逗號分隔。 在上述範例中的案例中,條目指定 [我的設定] 項目應該同時出現在 外觀和個人化 以及 程式 這兩個類別中。 如需可能的類別值,請參閱 指派控制面板類別。
System.Software.TasksFileUrl。 REG_SZ或REG_EXPAND_SZ。 定義任務連結 的 XML 檔案路徑為。 這可以是直接檔案路徑,如範例所示,或指定為模組名稱和資源標識符的內嵌資源,例如 「%ProgramFiles%\MyCorp\MyApp\MyApp.exe,-31」。。
步驟 4:
在該相同的 GUID 子機碼下,將下列子機碼新增至登錄,以提供檔案的路徑,其中包含該檔案內影像的圖示和資源標識碼。
HKEY_CLASSES_ROOT
CLSID
{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
DefaultIcon
(Default) = %ProgramFiles%\MyCorp\MyApp.exe,-2
請注意,雖然語法與稍早討論的 LocalizedString 和 InfoTip 項目類似,但不會使用 '@' 字元做為指定路徑之REG_SZ或REG_EXPAND_SZ專案的前置詞。
步驟 5:
將下列資訊新增至登錄,以提供用戶開啟 [控制面板] 時由系統呼叫的命令。
HKEY_CLASSES_ROOT
CLSID
{0052D9FC-6764-4D29-A66F-2F3BD9E2BB40}
Shell
Open
Command
(Default) = [REG_EXPAND_SZ] %ProgramFiles%\MyCorp\MyApp.exe /Settings
相關主題