public StartPanelEntry(StartPanelEntryKind kind) { Kind = kind; SetExecPath(Kind); DisplayName = _displayNameDictionary[Kind]; }
private void SetExecPath(StartPanelEntryKind kind) { switch (kind) { case StartPanelEntryKind.UserFolder: _execPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); break; case StartPanelEntryKind.MyDocument: _execPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); break; case StartPanelEntryKind.MyPicture: _execPath = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); break; case StartPanelEntryKind.MyMusic: _execPath = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic); break; case StartPanelEntryKind.HomeGroup: _execPath = "control.exe"; _args = "/name Microsoft.HomeGroup"; break; case StartPanelEntryKind.MyVideo: _execPath = Environment.GetFolderPath(Environment.SpecialFolder.MyVideos); break; case StartPanelEntryKind.Download: _guidString = "{374DE290-123F-4565-9164-39C4925E467B}"; break; case StartPanelEntryKind.RecordedTv: _guidString = "{1A6FDBA2-F42D-4358-A798-B74D745926C5}"; break; case StartPanelEntryKind.Game: _guidString = "{CAC52C1A-B53D-4edc-92D7-6B2E8AC19434}"; break; case StartPanelEntryKind.Favorite: _guidString = "{1777F761-68AD-4D8A-87BD-30B759FA33DD}"; break; case StartPanelEntryKind.RecentItems: _guidString = "{AE50C081-EBD2-438A-8655-8A092E34987A}"; break; case StartPanelEntryKind.MyComputer: _execPath = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"; break; case StartPanelEntryKind.Network: _execPath = "::{208D2C60-3AEA-1069-A2D7-08002B30309D}"; break; case StartPanelEntryKind.Connection: _execPath = "ncpa.cpl"; break; case StartPanelEntryKind.ControlPanel: _execPath = "control.exe"; break; case StartPanelEntryKind.DeviceAndPrinters: _execPath = "control.exe"; _args = "printers"; break; case StartPanelEntryKind.DefaultProgram: _execPath = "control.exe"; _args = "/name Microsoft.DefaultPrograms"; break; case StartPanelEntryKind.AdminTools: _execPath = "control.exe"; _args = "admintools"; break; default: throw new ArgumentOutOfRangeException("kind"); } }