private void UpdateCPProcessID(DataGrid dgrid, Process process, int lcid, int selectedIndex, string appletTitle) { int pid = process.Id; var cp = (ContentPresenter)dgrid.GetCell(selectedIndex, 3).Content; TextBlock tbLaunchName = (TextBlock)cp.ContentTemplate.FindName("tbLaunchName", cp); tbLaunchName.Tag = pid; listCPLanguages.FirstOrDefault(lng => lng.UniversalID == lcid).PID = pid.ToString(); Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\" + Settings.RegistrySettingName + "\\ControlPanelApplet\\" + process.Id.ToString(), "AppletTitle", appletTitle, RegistryValueKind.String); Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\" + Settings.RegistrySettingName + "\\ControlPanelApplet\\" + process.Id.ToString(), "LCID", lcid, RegistryValueKind.String); Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\" + Settings.RegistrySettingName + "\\ControlPanelApplet\\" + process.Id.ToString(), "SessionID", process.SessionId.ToString(), RegistryValueKind.String); Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\" + Settings.RegistrySettingName + "\\ControlPanelApplet\\" + process.Id.ToString(), "UserName", WindowsIdentity.GetCurrent().Name, RegistryValueKind.String); if (!dictCurrentCPInfo.ContainsKey(pid)) { CPAppletInfo info = new CPAppletInfo(); info.LCID = lcid; info.ProcessID = pid; info.SessionID = process.SessionId; info.UserName = WindowsIdentity.GetCurrent().Name; info.AppletTitle = appletTitle; dictCurrentCPInfo.Add(pid, info); } }
private CPAppletInfo GetCPAppletInfo(int pid) { CPAppletInfo info = new CPAppletInfo(); info.ProcessID = pid; info.SessionID = Convert.ToInt32(Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\" + Settings.RegistrySettingName + "\\ControlPanelApplet\\" + pid.ToString()).GetValue("SessionID")); info.LCID = Convert.ToInt32(Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\" + Settings.RegistrySettingName + "\\ControlPanelApplet\\" + pid.ToString()).GetValue("LCID")); info.UserName = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\" + Settings.RegistrySettingName + "\\ControlPanelApplet\\" + pid.ToString()).GetValue("UserName").ToString(); info.AppletTitle = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\" + Settings.RegistrySettingName + "\\ControlPanelApplet\\" + pid.ToString()).GetValue("AppletTitle").ToString(); return info; }