MainForm.cs 56 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using Microsoft.Win32;
  11. using System.IO;
  12. using System.Threading;
  13. using System.Reflection;
  14. using System.Diagnostics;
  15. using System.Collections.Specialized;
  16. using System.Text.RegularExpressions;
  17. using System.Net;
  18. using Newtonsoft.Json;
  19. namespace Optimizer
  20. {
  21. public partial class MainForm : Form
  22. {
  23. ListViewColumnSorter _columnSorter;
  24. List<StartupItem> _startUpItems = new List<StartupItem>();
  25. List<string> _hostsEntries = new List<string>();
  26. List<string> _customCommands = new List<string>();
  27. List<string> _desktopItems = new List<string>();
  28. List<string> _modernApps = new List<string>();
  29. DesktopItemType _desktopItemType = DesktopItemType.Program;
  30. DesktopTypePosition _desktopItemPosition = DesktopTypePosition.Top;
  31. readonly string _blockedIP = "127.0.0.1";
  32. readonly string _restartMessage = "Restart to apply changes?";
  33. readonly string _removeStartupItemsMessage = "Are you sure you want to delete all startup items?";
  34. readonly string _removeHostsEntriesMessage = "Are you sure you want to delete all hosts entries?";
  35. readonly string _removeDesktopItemsMessage = "Are you sure you want to delete all desktop items?";
  36. readonly string _removeModernAppsMessage = "Are you sure you want to uninstall the following app(s)?";
  37. readonly string _errorModernAppsMessage = "The following app(s) couldn't be uninstalled:\n";
  38. readonly string _resetMessage = "Are you sure you want to reset configuration?\n\nThis will delete all your preferences, including any icons you extracted or downloaded using Integrator.";
  39. private void EnableToggleEvents()
  40. {
  41. toggleSwitch12.Click += new EventHandler(toggleSwitch12_Click);
  42. toggleSwitch11.Click += new EventHandler(toggleSwitch11_Click);
  43. toggleSwitch10.Click += new EventHandler(toggleSwitch10_Click);
  44. toggleSwitch9.Click += new EventHandler(toggleSwitch9_Click);
  45. toggleSwitch8.Click += new EventHandler(toggleSwitch8_Click);
  46. toggleSwitch7.Click += new EventHandler(toggleSwitch7_Click);
  47. toggleSwitch6.Click += new EventHandler(toggleSwitch6_Click);
  48. toggleSwitch5.Click += new EventHandler(toggleSwitch5_Click);
  49. toggleSwitch4.Click += new EventHandler(toggleSwitch4_Click);
  50. toggleSwitch1.Click += new EventHandler(toggleSwitch1_Click);
  51. toggleSwitch3.Click += new EventHandler(toggleSwitch3_Click);
  52. toggleSwitch2.Click += new EventHandler(toggleSwitch2_Click);
  53. toggleSwitch27.Click += new EventHandler(toggleSwitch27_Click);
  54. toggleSwitch28.Click += new EventHandler(toggleSwitch28_Click);
  55. toggleSwitch29.Click += new EventHandler(toggleSwitch29_Click);
  56. toggleSwitch30.Click += new EventHandler(toggleSwitch30_Click);
  57. toggleSwitch22.Click += new EventHandler(toggleSwitch22_Click);
  58. toggleSwitch20.Click += new EventHandler(toggleSwitch20_Click);
  59. toggleSwitch21.Click += new EventHandler(toggleSwitch21_Click);
  60. toggleSwitch23.Click += new EventHandler(toggleSwitch23_Click);
  61. toggleSwitch24.Click += new EventHandler(toggleSwitch24_Click);
  62. toggleSwitch25.Click += new EventHandler(toggleSwitch25_Click);
  63. toggleSwitch26.Click += new EventHandler(toggleSwitch26_Click);
  64. toggleSwitch17.Click += new EventHandler(toggleSwitch17_Click);
  65. toggleSwitch16.Click += new EventHandler(toggleSwitch16_Click);
  66. toggleSwitch15.Click += new EventHandler(toggleSwitch15_Click);
  67. toggleSwitch14.Click += new EventHandler(toggleSwitch14_Click);
  68. toggleSwitch13.Click += new EventHandler(toggleSwitch13_Click);
  69. toggleSwitch31.Click += new EventHandler(toggleSwitch31_Click);
  70. toggleSwitch18.Click += new EventHandler(toggleSwitch18_Click);
  71. toggleSwitch19.Click += new EventHandler(toggleSwitch19_Click);
  72. }
  73. private void LoadSettings()
  74. {
  75. switch (Options.CurrentOptions.Color)
  76. {
  77. case Theme.Caramel:
  78. radioCaramel.Checked = true;
  79. break;
  80. case Theme.Lime:
  81. radioLime.Checked = true;
  82. break;
  83. case Theme.Magma:
  84. radioMagma.Checked = true;
  85. break;
  86. case Theme.Minimal:
  87. radioMinimal.Checked = true;
  88. break;
  89. case Theme.Ocean:
  90. radioOcean.Checked = true;
  91. break;
  92. case Theme.Zerg:
  93. radioZerg.Checked = true;
  94. break;
  95. }
  96. }
  97. public MainForm()
  98. {
  99. InitializeComponent();
  100. EnableToggleEvents();
  101. CheckForIllegalCrossThreadCalls = false;
  102. Options.ApplyTheme(this);
  103. if (Utilities.CurrentWindowsVersion == WindowsVersion.Unsupported)
  104. {
  105. tabCollection.TabPages.Remove(universalTab);
  106. tabCollection.TabPages.Remove(windowsVIIITab);
  107. tabCollection.TabPages.Remove(windowsXTab);
  108. tabCollection.TabPages.Remove(modernAppsTab);
  109. }
  110. if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows7)
  111. {
  112. LoadUniversalToggleStates();
  113. tabCollection.TabPages.Remove(windowsVIIITab);
  114. tabCollection.TabPages.Remove(windowsXTab);
  115. tabCollection.TabPages.Remove(modernAppsTab);
  116. }
  117. if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows8)
  118. {
  119. LoadUniversalToggleStates();
  120. LoadWindowsVIIIToggleStates();
  121. tabCollection.TabPages.Remove(windowsXTab);
  122. GetModernApps();
  123. }
  124. if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows10)
  125. {
  126. LoadUniversalToggleStates();
  127. LoadWindowsXToggleStates();
  128. tabCollection.TabPages.Remove(windowsVIIITab);
  129. GetModernApps();
  130. }
  131. _columnSorter = new ListViewColumnSorter();
  132. listStartupItems.ListViewItemSorter = _columnSorter;
  133. integratorTimer.Start();
  134. runDialogTime.Start();
  135. GetStartupItems();
  136. GetHostsEntries();
  137. GetDesktopItems();
  138. GetCustomCommands();
  139. LoadSettings();
  140. radioProgram.Checked = true;
  141. radioTop.Checked = true;
  142. txtVersion.Text = "Version: " + Program.GetCurrentVersion();
  143. Program.MainForm = this;
  144. txtOS.Text = "Microsoft " + Utilities.GetOS();
  145. txtBitness.Text = Utilities.GetBitness();
  146. }
  147. private void CleanPC()
  148. {
  149. try
  150. {
  151. if (checkTemp.Checked)
  152. {
  153. CleanHelper.CleanTemporaries();
  154. }
  155. if (checkUTorrent.Checked)
  156. {
  157. CleanHelper.CleanUTorrent();
  158. }
  159. if (checkFileZilla.Checked)
  160. {
  161. CleanHelper.CleanFileZilla();
  162. }
  163. if (checkMiniDumps.Checked)
  164. {
  165. CleanHelper.CleanMiniDumps();
  166. }
  167. if (checkPrefetch.Checked)
  168. {
  169. CleanHelper.CleanPrefetch();
  170. }
  171. if (checkMediaCache.Checked)
  172. {
  173. CleanHelper.CleanMediaPlayersCache();
  174. }
  175. if (checkLogs.Checked)
  176. {
  177. CleanHelper.CleanLogs();
  178. }
  179. if (checkErrorReports.Checked)
  180. {
  181. CleanHelper.CleanErrorReports();
  182. }
  183. if (checkBin.Checked)
  184. {
  185. CleanHelper.EmptyRecycleBin();
  186. }
  187. }
  188. catch { }
  189. finally
  190. {
  191. CleaningAnimation(false);
  192. }
  193. }
  194. private void CleaningAnimation(bool start)
  195. {
  196. if (start)
  197. {
  198. Utilities.SetControlPropertyThreadSafe(cleaningpanel, "Visible", true);
  199. Utilities.SetControlPropertyThreadSafe(progress2, "Visible", true);
  200. Utilities.SetControlPropertyThreadSafe(progress2, "Style", ProgressBarStyle.Marquee);
  201. Utilities.SetControlPropertyThreadSafe(progress2, "MarqueeAnimationSpeed", 1);
  202. Utilities.SetControlPropertyThreadSafe(label4, "Visible", true);
  203. Utilities.SetControlPropertyThreadSafe(button20, "Enabled", false);
  204. Utilities.SetControlPropertyThreadSafe(panel1, "Enabled", false);
  205. }
  206. else
  207. {
  208. Utilities.SetControlPropertyThreadSafe(cleaningpanel, "Visible", false);
  209. Utilities.SetControlPropertyThreadSafe(progress2, "Visible", false);
  210. Utilities.SetControlPropertyThreadSafe(progress2, "Value", 0);
  211. Utilities.SetControlPropertyThreadSafe(progress2, "Style", ProgressBarStyle.Blocks);
  212. Utilities.SetControlPropertyThreadSafe(progress2, "MarqueeAnimationSpeed", 1);
  213. Utilities.SetControlPropertyThreadSafe(label4, "Visible", false);
  214. Utilities.SetControlPropertyThreadSafe(button20, "Enabled", true);
  215. Utilities.SetControlPropertyThreadSafe(panel1, "Enabled", true);
  216. }
  217. }
  218. private bool FixRegistry()
  219. {
  220. bool changeDetected = false;
  221. try
  222. {
  223. if (checkFirewall.Checked)
  224. {
  225. Utilities.EnableFirewall();
  226. changeDetected = true;
  227. }
  228. if (checkCommandPrompt.Checked)
  229. {
  230. Utilities.EnableCommandPrompt();
  231. changeDetected = true;
  232. }
  233. if (checkControlPanel.Checked)
  234. {
  235. Utilities.EnableControlPanel();
  236. changeDetected = true;
  237. }
  238. if (checkFolderOptions.Checked)
  239. {
  240. Utilities.EnableFolderOptions();
  241. changeDetected = true;
  242. }
  243. if (checkRunDialog.Checked)
  244. {
  245. Utilities.EnableRunDialog();
  246. changeDetected = true;
  247. }
  248. if (checkContextMenu.Checked)
  249. {
  250. Utilities.EnableContextMenu();
  251. changeDetected = true;
  252. }
  253. if (checkTaskManager.Checked)
  254. {
  255. Utilities.EnableTaskManager();
  256. changeDetected = true;
  257. }
  258. if (checkRegistryEditor.Checked)
  259. {
  260. Utilities.EnableRegistryEditor();
  261. changeDetected = true;
  262. }
  263. }
  264. catch { }
  265. return changeDetected;
  266. }
  267. private void LoadUniversalToggleStates()
  268. {
  269. toggleSwitch1.Checked = Options.CurrentOptions.EnablePerformanceTweaks;
  270. toggleSwitch2.Checked = Options.CurrentOptions.DisableNetworkThrottling;
  271. toggleSwitch3.Checked = Options.CurrentOptions.DisableWindowsDefender;
  272. toggleSwitch4.Checked = Options.CurrentOptions.DisableSystemRestore;
  273. toggleSwitch5.Checked = Options.CurrentOptions.DisablePrintService;
  274. toggleSwitch6.Checked = Options.CurrentOptions.DisableMediaPlayerSharing;
  275. toggleSwitch7.Checked = Options.CurrentOptions.BlockSkypeAds;
  276. toggleSwitch8.Checked = Options.CurrentOptions.DisableErrorReporting;
  277. toggleSwitch9.Checked = Options.CurrentOptions.DisableHomeGroup;
  278. toggleSwitch10.Checked = Options.CurrentOptions.DisableSuperfetch;
  279. toggleSwitch11.Checked = Options.CurrentOptions.DisableTelemetryTasks;
  280. toggleSwitch12.Checked = Options.CurrentOptions.DisableOffice2016Telemetry;
  281. }
  282. private void LoadWindowsVIIIToggleStates()
  283. {
  284. toggleSwitch31.Checked = Options.CurrentOptions.DisableOneDrive;
  285. }
  286. private void LoadWindowsXToggleStates()
  287. {
  288. toggleSwitch13.Checked = Options.CurrentOptions.EnableLegacyVolumeSlider;
  289. toggleSwitch14.Checked = Options.CurrentOptions.UninstallOneDrive;
  290. toggleSwitch15.Checked = Options.CurrentOptions.DisableGameBar;
  291. toggleSwitch16.Checked = Options.CurrentOptions.DisableCortana;
  292. toggleSwitch17.Checked = Options.CurrentOptions.DisableXboxLive;
  293. toggleSwitch18.Checked = Options.CurrentOptions.DisableQuickAccessHistory;
  294. toggleSwitch19.Checked = Options.CurrentOptions.EnableTaskbarColor;
  295. toggleSwitch20.Checked = Options.CurrentOptions.DisableSensorServices;
  296. toggleSwitch21.Checked = Options.CurrentOptions.DisablePrivacyOptions;
  297. toggleSwitch22.Checked = Options.CurrentOptions.DisableSilentAppInstall;
  298. toggleSwitch23.Checked = Options.CurrentOptions.DisableTelemetryServices;
  299. toggleSwitch24.Checked = Options.CurrentOptions.DisableAutomaticUpdates;
  300. toggleSwitch25.Checked = Options.CurrentOptions.DisableMyPeople;
  301. toggleSwitch26.Checked = Options.CurrentOptions.DisableStartMenuAds;
  302. toggleSwitch27.Checked = Options.CurrentOptions.EnableDarkTheme;
  303. toggleSwitch28.Checked = Options.CurrentOptions.DisableSpellingTyping;
  304. toggleSwitch29.Checked = Options.CurrentOptions.DisableWindowsInk;
  305. toggleSwitch30.Checked = Options.CurrentOptions.ExcludeDrivers;
  306. }
  307. private void Main_Load(object sender, EventArgs e)
  308. {
  309. }
  310. private void GetDesktopItems()
  311. {
  312. _desktopItems = Integrator.GetDesktopItems();
  313. listDesktopItems.Items.Clear();
  314. for (int i = 0; i < _desktopItems.Count; i++)
  315. {
  316. if (!string.IsNullOrEmpty(_desktopItems[i]))
  317. {
  318. listDesktopItems.Items.Add(_desktopItems[i]);
  319. }
  320. }
  321. }
  322. private void GetHostsEntries()
  323. {
  324. _hostsEntries = HostsHelper.GetHostsEntries();
  325. listHostEntries.Items.Clear();
  326. for (int i = 0; i < _hostsEntries.Count; i++)
  327. {
  328. if (!string.IsNullOrEmpty(_hostsEntries[i]))
  329. {
  330. listHostEntries.Items.Add(_hostsEntries[i]);
  331. }
  332. }
  333. }
  334. private void GetStartupItems()
  335. {
  336. _startUpItems = Utilities.GetStartupItems();
  337. listStartupItems.Items.Clear();
  338. for (int i = 0; i < _startUpItems.Count; i++)
  339. {
  340. ListViewItem list = new ListViewItem(_startUpItems[i].Name);
  341. list.SubItems.Add(_startUpItems[i].FileLocation);
  342. list.SubItems.Add(_startUpItems[i].ToString());
  343. listStartupItems.Items.Add(list);
  344. }
  345. }
  346. private void GetModernApps()
  347. {
  348. button74.Enabled = false;
  349. button75.Enabled = false;
  350. listModernApps.Enabled = false;
  351. listModernApps.Items.Clear();
  352. _modernApps = Utilities.GetModernApps();
  353. foreach (string x in _modernApps)
  354. {
  355. listModernApps.Items.Add(x);
  356. }
  357. button74.Enabled = true;
  358. button75.Enabled = true;
  359. listModernApps.Enabled = true;
  360. }
  361. private async void UninstallModernApps()
  362. {
  363. string selectedApps = string.Empty;
  364. if (listModernApps.CheckedItems.Count > 0)
  365. {
  366. foreach (string x in listModernApps.CheckedItems)
  367. {
  368. if (string.IsNullOrEmpty(selectedApps))
  369. {
  370. selectedApps = x;
  371. }
  372. else
  373. {
  374. selectedApps += Environment.NewLine + x;
  375. }
  376. }
  377. if (MessageBox.Show(_removeModernAppsMessage + "\n\n" + selectedApps, "Optimizer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  378. {
  379. button74.Enabled = false;
  380. button75.Enabled = false;
  381. listModernApps.Enabled = false;
  382. bool errorOccured = false;
  383. string failedApps = string.Empty;
  384. foreach (string app in listModernApps.CheckedItems)
  385. {
  386. await Task.Run(() => errorOccured = Utilities.UninstallModernApp(app));
  387. if (errorOccured)
  388. {
  389. failedApps += Environment.NewLine + app;
  390. }
  391. }
  392. if (!string.IsNullOrEmpty(failedApps))
  393. {
  394. MessageBox.Show(_errorModernAppsMessage + failedApps, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
  395. }
  396. GetModernApps();
  397. }
  398. }
  399. }
  400. private void GetCustomCommands()
  401. {
  402. _customCommands = Integrator.GetCustomCommands();
  403. listCustomCommands.Items.Clear();
  404. foreach (string s in _customCommands)
  405. {
  406. listCustomCommands.Items.Add(s);
  407. }
  408. }
  409. private void Main_FormClosing(object sender, EventArgs e)
  410. {
  411. Options.SaveSettings();
  412. }
  413. private void button39_Click(object sender, EventArgs e)
  414. {
  415. HelperForm f = new HelperForm(this, MessageType.Restart, _restartMessage);
  416. f.ShowDialog();
  417. }
  418. private void button43_Click(object sender, EventArgs e)
  419. {
  420. HelperForm f = new HelperForm(this, MessageType.Restart, _restartMessage);
  421. f.ShowDialog();
  422. }
  423. private void button44_Click(object sender, EventArgs e)
  424. {
  425. HelperForm f = new HelperForm(this, MessageType.Restart, _restartMessage);
  426. f.ShowDialog();
  427. }
  428. private void button45_Click(object sender, EventArgs e)
  429. {
  430. HelperForm f = new HelperForm(this, MessageType.Restart, _restartMessage);
  431. f.ShowDialog();
  432. }
  433. private void button18_Click(object sender, EventArgs e)
  434. {
  435. EdgeForm f = new EdgeForm();
  436. f.ShowDialog();
  437. }
  438. private void checkSelectAll_CheckedChanged(object sender, EventArgs e)
  439. {
  440. checkTemp.Checked = checkSelectAll.Checked;
  441. checkUTorrent.Checked = checkSelectAll.Checked;
  442. checkFileZilla.Checked = checkSelectAll.Checked;
  443. checkMiniDumps.Checked = checkSelectAll.Checked;
  444. checkPrefetch.Checked = checkSelectAll.Checked;
  445. checkMediaCache.Checked = checkSelectAll.Checked;
  446. checkLogs.Checked = checkSelectAll.Checked;
  447. checkBin.Checked = checkSelectAll.Checked;
  448. checkErrorReports.Checked = checkSelectAll.Checked;
  449. }
  450. private void button20_Click(object sender, EventArgs e)
  451. {
  452. CleaningAnimation(true);
  453. Task t = new Task(() => CleanPC());
  454. t.Start();
  455. }
  456. private void button32_Click(object sender, EventArgs e)
  457. {
  458. if (listStartupItems.SelectedItems.Count == 1)
  459. {
  460. _startUpItems[listStartupItems.SelectedIndices[0]].Remove();
  461. GetStartupItems();
  462. }
  463. }
  464. internal void RemoveAllStartupItems()
  465. {
  466. foreach (ListViewItem i in listStartupItems.Items)
  467. {
  468. _startUpItems[i.Index].Remove();
  469. }
  470. GetStartupItems();
  471. }
  472. private void button22_Click(object sender, EventArgs e)
  473. {
  474. if (listStartupItems.Items.Count > 0)
  475. {
  476. HelperForm r = new HelperForm(this, MessageType.Startup, _removeStartupItemsMessage);
  477. r.ShowDialog(this);
  478. }
  479. }
  480. private void button31_Click(object sender, EventArgs e)
  481. {
  482. if (listStartupItems.SelectedItems.Count == 1)
  483. {
  484. _startUpItems[listStartupItems.SelectedIndices[0]].LocateFile();
  485. }
  486. }
  487. private void checkEnableAll_CheckedChanged(object sender, EventArgs e)
  488. {
  489. checkTaskManager.Checked = checkEnableAll.Checked;
  490. checkCommandPrompt.Checked = checkEnableAll.Checked;
  491. checkControlPanel.Checked = checkEnableAll.Checked;
  492. checkFolderOptions.Checked = checkEnableAll.Checked;
  493. checkRunDialog.Checked = checkEnableAll.Checked;
  494. checkContextMenu.Checked = checkEnableAll.Checked;
  495. checkFirewall.Checked = checkEnableAll.Checked;
  496. checkRegistryEditor.Checked = checkEnableAll.Checked;
  497. }
  498. private void button33_Click(object sender, EventArgs e)
  499. {
  500. bool flag = FixRegistry();
  501. if (flag)
  502. {
  503. panel2.Enabled = false;
  504. button33.Enabled = false;
  505. if (checkRestartExplorer.Checked)
  506. {
  507. Utilities.RestartExplorer();
  508. }
  509. panel2.Enabled = true;
  510. button33.Enabled = true;
  511. }
  512. }
  513. private void pictureBox1_Click(object sender, EventArgs e)
  514. {
  515. AboutForm f = new AboutForm();
  516. f.ShowDialog(this);
  517. }
  518. private void button37_Click(object sender, EventArgs e)
  519. {
  520. GetStartupItems();
  521. }
  522. private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
  523. {
  524. HostsHelper.LocateHosts();
  525. }
  526. private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
  527. {
  528. HostsEditorForm f = new HostsEditorForm();
  529. f.ShowDialog(this);
  530. GetHostsEntries();
  531. }
  532. private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
  533. {
  534. HostsHelper.RestoreDefaultHosts();
  535. GetHostsEntries();
  536. }
  537. private void button47_Click(object sender, EventArgs e)
  538. {
  539. if ((txtIP.Text != string.Empty) && (txtDomain.Text != string.Empty))
  540. {
  541. string ip = txtIP.Text.Trim();
  542. string domain = txtDomain.Text.Trim();
  543. string recommendedDomain = string.Empty;
  544. if (!domain.StartsWith("www."))
  545. {
  546. recommendedDomain = "www." + domain;
  547. }
  548. else
  549. {
  550. recommendedDomain = domain.Replace("www.", string.Empty);
  551. }
  552. HostsHelper.AddEntry(HostsHelper.SanitizeEntry(ip) + " " + HostsHelper.SanitizeEntry(domain));
  553. if (!string.IsNullOrEmpty(recommendedDomain))
  554. {
  555. HostsHelper.AddEntry(HostsHelper.SanitizeEntry(ip) + " " + HostsHelper.SanitizeEntry(recommendedDomain));
  556. }
  557. GetHostsEntries();
  558. txtIP.Clear();
  559. txtDomain.Clear();
  560. chkBlock.Checked = false;
  561. }
  562. }
  563. private void button41_Click(object sender, EventArgs e)
  564. {
  565. GetHostsEntries();
  566. }
  567. private void button42_Click(object sender, EventArgs e)
  568. {
  569. if (listHostEntries.SelectedItems.Count == 1)
  570. {
  571. HostsHelper.RemoveEntry(listHostEntries.SelectedItem.ToString().Replace(" : ", " "));
  572. GetHostsEntries();
  573. }
  574. }
  575. private void button46_Click(object sender, EventArgs e)
  576. {
  577. if (listHostEntries.Items.Count > 0)
  578. {
  579. HelperForm r = new HelperForm(this, MessageType.Hosts, _removeHostsEntriesMessage);
  580. r.ShowDialog(this);
  581. }
  582. }
  583. internal void RemoveAllHostsEntries()
  584. {
  585. List<string> collection = new List<string>();
  586. foreach (string item in listHostEntries.Items)
  587. {
  588. collection.Add(item.Replace(" : ", " "));
  589. }
  590. HostsHelper.RemoveAllEntries(collection);
  591. GetHostsEntries();
  592. }
  593. private void aio_SelectedIndexChanged(object sender, EventArgs e)
  594. {
  595. if (tabCollection.SelectedTab == hostsEditorTab)
  596. {
  597. txtIP.Focus();
  598. }
  599. }
  600. private void button48_Click(object sender, EventArgs e)
  601. {
  602. defineCommandDialog.ShowDialog();
  603. }
  604. private void button50_Click(object sender, EventArgs e)
  605. {
  606. if ((txtRunFile.Text != string.Empty) && (txtRunKeyword.Text != string.Empty))
  607. {
  608. Integrator.CreateCustomCommand(txtRunFile.Text, txtRunKeyword.Text);
  609. txtRunFile.Clear();
  610. txtRunKeyword.Clear();
  611. GetCustomCommands();
  612. }
  613. }
  614. private void DefineCmd_FileOk(object sender, CancelEventArgs e)
  615. {
  616. txtRunFile.Text = defineCommandDialog.FileName;
  617. txtRunKeyword.Text = Path.GetFileNameWithoutExtension(txtRunFile.Text).ToLower();
  618. }
  619. private void button58_Click(object sender, EventArgs e)
  620. {
  621. InfoForm r = new InfoForm(Integrator.powerinfo);
  622. r.ShowDialog(this);
  623. }
  624. private void button56_Click(object sender, EventArgs e)
  625. {
  626. InfoForm r = new InfoForm(Integrator.systemtoolsinfo);
  627. r.ShowDialog(this);
  628. }
  629. private void button52_Click(object sender, EventArgs e)
  630. {
  631. InfoForm r = new InfoForm(Integrator.windowsappsinfo);
  632. r.ShowDialog(this);
  633. }
  634. private void button49_Click(object sender, EventArgs e)
  635. {
  636. InfoForm r = new InfoForm(Integrator.systemshortcutsinfo);
  637. r.ShowDialog(this);
  638. }
  639. private void button55_Click(object sender, EventArgs e)
  640. {
  641. InfoForm r = new InfoForm(Integrator.desktopshortcutsinfo);
  642. r.ShowDialog(this);
  643. }
  644. private void button59_Click(object sender, EventArgs e)
  645. {
  646. Utilities.ImportRegistryScript(Required.ReadyMadeMenusFolder + "\\PowerMenu.reg");
  647. GetDesktopItems();
  648. }
  649. private void button53_Click(object sender, EventArgs e)
  650. {
  651. Utilities.ImportRegistryScript(Required.ReadyMadeMenusFolder + "\\SystemTools.reg");
  652. GetDesktopItems();
  653. }
  654. private void button54_Click(object sender, EventArgs e)
  655. {
  656. Utilities.ImportRegistryScript(Required.ReadyMadeMenusFolder + "\\WindowsApps.reg");
  657. GetDesktopItems();
  658. }
  659. private void button51_Click(object sender, EventArgs e)
  660. {
  661. Utilities.ImportRegistryScript(Required.ReadyMadeMenusFolder + "\\SystemShortcuts.reg");
  662. GetDesktopItems();
  663. }
  664. private void button57_Click(object sender, EventArgs e)
  665. {
  666. Utilities.ImportRegistryScript(Required.ReadyMadeMenusFolder + "\\DesktopShortcuts.reg");
  667. GetDesktopItems();
  668. }
  669. private void button60_Click(object sender, EventArgs e)
  670. {
  671. GetDesktopItems();
  672. }
  673. private void button61_Click(object sender, EventArgs e)
  674. {
  675. if (listDesktopItems.SelectedItems.Count == 1)
  676. {
  677. Integrator.RemoveItem(listDesktopItems.SelectedItem.ToString());
  678. GetDesktopItems();
  679. }
  680. }
  681. internal void RemoveAllDesktopItems()
  682. {
  683. List<string> collection = new List<string>();
  684. foreach (string item in listDesktopItems.Items)
  685. {
  686. collection.Add(item);
  687. }
  688. Integrator.RemoveAllItems(collection);
  689. GetDesktopItems();
  690. }
  691. private void button62_Click(object sender, EventArgs e)
  692. {
  693. if (listDesktopItems.Items.Count > 0)
  694. {
  695. HelperForm r = new HelperForm(this, MessageType.Integrator, _removeDesktopItemsMessage);
  696. r.ShowDialog(this);
  697. }
  698. }
  699. private void radioProgram_CheckedChanged(object sender, EventArgs e)
  700. {
  701. if (radioProgram.Checked)
  702. {
  703. btnBrowseItem.Enabled = true;
  704. txtItem.Clear();
  705. checkDefaultIcon.Checked = true;
  706. txtIcon.Enabled = false;
  707. btnBrowseIcon.Enabled = false;
  708. itemtoaddgroup.Text = "Program to add:";
  709. checkDefaultIcon.Visible = true;
  710. checkDefaultIcon.Text = "Use program's icon";
  711. txtItemName.Clear();
  712. txtItem.ReadOnly = true;
  713. txtIcon.ReadOnly = true;
  714. _desktopItemType = DesktopItemType.Program;
  715. }
  716. }
  717. private void radioFolder_CheckedChanged(object sender, EventArgs e)
  718. {
  719. if (radioFolder.Checked)
  720. {
  721. checkDefaultIcon.Checked = true;
  722. btnBrowseItem.Enabled = true;
  723. txtItem.Clear();
  724. itemtoaddgroup.Text = "Folder to add:";
  725. checkDefaultIcon.Text = "Use default folder icon";
  726. txtItemName.Clear();
  727. txtItem.ReadOnly = true;
  728. txtIcon.ReadOnly = true;
  729. _desktopItemType = DesktopItemType.Folder;
  730. }
  731. }
  732. private void radioLink_CheckedChanged(object sender, EventArgs e)
  733. {
  734. if (radioLink.Checked)
  735. {
  736. checkDefaultIcon.Checked = true;
  737. checkDefaultIcon.Text = "Download website icon (favicon)";
  738. btnBrowseItem.Enabled = false;
  739. itemtoaddgroup.Text = "Web address to add:";
  740. checkDefaultIcon.Visible = true;
  741. txtItem.Text = "http://";
  742. txtItemName.Clear();
  743. txtItem.ReadOnly = false;
  744. txtIcon.ReadOnly = true;
  745. _desktopItemType = DesktopItemType.Link;
  746. }
  747. }
  748. private void radioFile_CheckedChanged(object sender, EventArgs e)
  749. {
  750. if (radioFile.Checked)
  751. {
  752. checkDefaultIcon.Checked = true;
  753. checkDefaultIcon.Text = "No icon";
  754. btnBrowseItem.Enabled = true;
  755. itemtoaddgroup.Text = "File to add:";
  756. checkDefaultIcon.Visible = true;
  757. txtItem.Clear();
  758. txtItemName.Clear();
  759. txtItem.ReadOnly = true;
  760. txtIcon.ReadOnly = true;
  761. _desktopItemType = DesktopItemType.File;
  762. }
  763. }
  764. private void radioCommand_CheckedChanged(object sender, EventArgs e)
  765. {
  766. if (radioCommand.Checked)
  767. {
  768. btnBrowseItem.Enabled = false;
  769. txtItem.Clear();
  770. checkDefaultIcon.Checked = true;
  771. txtIcon.Enabled = false;
  772. btnBrowseIcon.Enabled = false;
  773. itemtoaddgroup.Text = "Command to add:";
  774. checkDefaultIcon.Visible = true;
  775. checkDefaultIcon.Text = "No icon";
  776. txtItemName.Clear();
  777. txtItem.ReadOnly = false;
  778. txtIcon.ReadOnly = true;
  779. _desktopItemType = DesktopItemType.Command;
  780. }
  781. }
  782. private void checkDefaultIcon_CheckedChanged(object sender, EventArgs e)
  783. {
  784. if (checkDefaultIcon.Checked)
  785. {
  786. txtIcon.Clear();
  787. txtIcon.Enabled = false;
  788. btnBrowseIcon.Enabled = false;
  789. }
  790. else
  791. {
  792. txtIcon.Clear();
  793. txtIcon.Enabled = true;
  794. btnBrowseIcon.Enabled = true;
  795. }
  796. }
  797. private void btnBrowseItem_Click(object sender, EventArgs e)
  798. {
  799. switch (_desktopItemType)
  800. {
  801. case DesktopItemType.Program:
  802. defineProgramDialog.ShowDialog();
  803. break;
  804. case DesktopItemType.Folder:
  805. defineFolderDialog.ShowDialog();
  806. txtItem.Text = defineFolderDialog.SelectedPath;
  807. int i = defineFolderDialog.SelectedPath.LastIndexOf("\\");
  808. txtItemName.Text = defineFolderDialog.SelectedPath.Remove(0, i + 1);
  809. break;
  810. case DesktopItemType.File:
  811. defineFileDialog.ShowDialog();
  812. break;
  813. }
  814. }
  815. private void DefineProgramDialog_FileOk(object sender, CancelEventArgs e)
  816. {
  817. txtItem.Text = defineProgramDialog.FileName;
  818. txtItemName.Text = defineProgramDialog.SafeFileName.Replace(".exe", string.Empty);
  819. }
  820. private void DefineFileDialog_FileOk(object sender, CancelEventArgs e)
  821. {
  822. txtItem.Text = defineFileDialog.FileName;
  823. txtItemName.Text = defineFileDialog.SafeFileName;
  824. }
  825. private void btnBrowseIcon_Click(object sender, EventArgs e)
  826. {
  827. switch (_desktopItemType)
  828. {
  829. case DesktopItemType.Program:
  830. DefineProgramIconDialog.ShowDialog();
  831. break;
  832. case DesktopItemType.Folder:
  833. DefineFolderIconDialog.ShowDialog();
  834. break;
  835. case DesktopItemType.Link:
  836. DefineURLIconDialog.ShowDialog();
  837. break;
  838. case DesktopItemType.File:
  839. DefineFileIconDialog.ShowDialog();
  840. break;
  841. case DesktopItemType.Command:
  842. DefineCommandIconDialog.ShowDialog();
  843. break;
  844. }
  845. }
  846. private void DefineProgramIconDialog_FileOk(object sender, CancelEventArgs e)
  847. {
  848. txtIcon.Text = DefineProgramIconDialog.FileName;
  849. if (txtIcon.Text.Contains(".exe"))
  850. {
  851. string iconpath = Integrator.ExtractIconFromExecutable(txtItemName.Text, DefineProgramIconDialog.FileName);
  852. txtIcon.Text = iconpath;
  853. }
  854. }
  855. private void DefineFolderIconDialog_FileOk(object sender, CancelEventArgs e)
  856. {
  857. txtIcon.Text = DefineFolderIconDialog.FileName;
  858. if (txtIcon.Text.Contains(".exe"))
  859. {
  860. string iconpath = Integrator.ExtractIconFromExecutable(txtItemName.Text, DefineFolderIconDialog.FileName);
  861. txtIcon.Text = iconpath;
  862. }
  863. }
  864. private void DefineURLIconDialog_FileOk(object sender, CancelEventArgs e)
  865. {
  866. txtIcon.Text = DefineURLIconDialog.FileName;
  867. if (txtIcon.Text.Contains(".exe"))
  868. {
  869. string iconpath = Integrator.ExtractIconFromExecutable(txtItemName.Text, DefineURLIconDialog.FileName);
  870. txtIcon.Text = iconpath;
  871. }
  872. }
  873. private void DefineFileIconDialog_FileOk(object sender, CancelEventArgs e)
  874. {
  875. txtIcon.Text = DefineFileIconDialog.FileName;
  876. if (txtIcon.Text.Contains(".exe"))
  877. {
  878. string iconpath = Integrator.ExtractIconFromExecutable(txtItemName.Text, DefineFileIconDialog.FileName);
  879. txtIcon.Text = iconpath;
  880. }
  881. }
  882. private void DefineCommandIconDialog_FileOk(object sender, CancelEventArgs e)
  883. {
  884. txtIcon.Text = DefineCommandIconDialog.FileName;
  885. if (txtIcon.Text.Contains(".exe"))
  886. {
  887. string iconpath = Integrator.ExtractIconFromExecutable(txtItemName.Text, DefineCommandIconDialog.FileName);
  888. txtIcon.Text = iconpath;
  889. }
  890. }
  891. private void btnAddItem_Click(object sender, EventArgs e)
  892. {
  893. string icon = string.Empty;
  894. switch (_desktopItemType)
  895. {
  896. case DesktopItemType.Program:
  897. if (checkDefaultIcon.Checked)
  898. {
  899. icon = txtItem.Text;
  900. }
  901. else
  902. {
  903. icon = txtIcon.Text;
  904. }
  905. Integrator.AddItem(txtItemName.Text, txtItem.Text, icon, _desktopItemPosition, checkShift.Checked, DesktopItemType.Program);
  906. break;
  907. case DesktopItemType.Folder:
  908. if (checkDefaultIcon.Checked)
  909. {
  910. icon = Integrator.FolderDefaultIcon;
  911. }
  912. else
  913. {
  914. icon = txtIcon.Text;
  915. }
  916. Integrator.AddItem(txtItemName.Text, txtItem.Text, icon, _desktopItemPosition, checkShift.Checked, DesktopItemType.Folder);
  917. break;
  918. case DesktopItemType.Link:
  919. if (checkDefaultIcon.Checked)
  920. {
  921. icon = Integrator.DownloadFavicon(txtItem.Text, txtItemName.Text);
  922. }
  923. else
  924. {
  925. icon = txtIcon.Text;
  926. }
  927. Integrator.AddItem(txtItemName.Text, txtItem.Text, icon, _desktopItemPosition, checkShift.Checked, DesktopItemType.Link);
  928. break;
  929. case DesktopItemType.File:
  930. if (!checkDefaultIcon.Checked)
  931. {
  932. icon = txtIcon.Text;
  933. }
  934. Integrator.AddItem(txtItemName.Text, txtItem.Text, icon, _desktopItemPosition, checkShift.Checked, DesktopItemType.File);
  935. break;
  936. case DesktopItemType.Command:
  937. if (!checkDefaultIcon.Checked)
  938. {
  939. icon = txtIcon.Text;
  940. }
  941. Integrator.AddItem(txtItemName.Text, txtItem.Text, icon, _desktopItemPosition, checkShift.Checked, DesktopItemType.Command);
  942. break;
  943. }
  944. GetDesktopItems();
  945. ResetIntegratorForm();
  946. }
  947. private void integratorTimer_Tick(object sender, EventArgs e)
  948. {
  949. if ((txtItem.Text != "") && (txtItemName.Text != "") && (txtIcon.Text != "") && (!checkDefaultIcon.Checked))
  950. {
  951. btnAddItem.Enabled = true;
  952. }
  953. else if ((txtItem.Text != "") && (txtItemName.Text != "") && (checkDefaultIcon.Checked))
  954. {
  955. btnAddItem.Enabled = true;
  956. }
  957. else
  958. {
  959. btnAddItem.Enabled = false;
  960. }
  961. }
  962. private void runDialogTimer_Tick(object sender, EventArgs e)
  963. {
  964. if ((txtRunFile.Text != "") && (txtRunKeyword.Text != ""))
  965. {
  966. btnCreateCustomCommand.Enabled = true;
  967. }
  968. else
  969. {
  970. btnCreateCustomCommand.Enabled = false;
  971. }
  972. }
  973. private void radioTop_CheckedChanged(object sender, EventArgs e)
  974. {
  975. if (radioTop.Checked)
  976. {
  977. _desktopItemPosition = DesktopTypePosition.Top;
  978. }
  979. }
  980. private void radioMiddle_CheckedChanged(object sender, EventArgs e)
  981. {
  982. if (radioMiddle.Checked)
  983. {
  984. _desktopItemPosition = DesktopTypePosition.Middle;
  985. }
  986. }
  987. private void radioBottom_CheckedChanged(object sender, EventArgs e)
  988. {
  989. if (radioBottom.Checked)
  990. {
  991. _desktopItemPosition = DesktopTypePosition.Bottom;
  992. }
  993. }
  994. private void ResetIntegratorForm()
  995. {
  996. txtItem.Clear();
  997. txtIcon.Clear();
  998. checkDefaultIcon.Checked = true;
  999. txtItemName.Clear();
  1000. if (radioLink.Checked)
  1001. {
  1002. txtItem.Text = "http://";
  1003. }
  1004. }
  1005. private void radioOcean_CheckedChanged(object sender, EventArgs e)
  1006. {
  1007. Options.CurrentOptions.Color = Theme.Ocean;
  1008. Options.ApplyTheme(this);
  1009. }
  1010. private void radioMagma_CheckedChanged(object sender, EventArgs e)
  1011. {
  1012. Options.CurrentOptions.Color = Theme.Magma;
  1013. Options.ApplyTheme(this);
  1014. }
  1015. private void radioZerg_CheckedChanged(object sender, EventArgs e)
  1016. {
  1017. Options.CurrentOptions.Color = Theme.Zerg;
  1018. Options.ApplyTheme(this);
  1019. }
  1020. private void radioMinimal_CheckedChanged(object sender, EventArgs e)
  1021. {
  1022. Options.CurrentOptions.Color = Theme.Minimal;
  1023. Options.ApplyTheme(this);
  1024. }
  1025. private void radioCaramel_CheckedChanged(object sender, EventArgs e)
  1026. {
  1027. Options.CurrentOptions.Color = Theme.Caramel;
  1028. Options.ApplyTheme(this);
  1029. }
  1030. private void radioLime_CheckedChanged(object sender, EventArgs e)
  1031. {
  1032. Options.CurrentOptions.Color = Theme.Lime;
  1033. Options.ApplyTheme(this);
  1034. }
  1035. private void button64_Click(object sender, EventArgs e)
  1036. {
  1037. if (listStartupItems.SelectedItems.Count == 1)
  1038. {
  1039. _startUpItems[listStartupItems.SelectedIndices[0]].LocateKey();
  1040. }
  1041. }
  1042. private void button66_Click(object sender, EventArgs e)
  1043. {
  1044. Integrator.TakeOwnership(false);
  1045. }
  1046. private void button65_Click(object sender, EventArgs e)
  1047. {
  1048. Integrator.TakeOwnership(true);
  1049. }
  1050. private void listStartupItems_ColumnClick(object sender, ColumnClickEventArgs e)
  1051. {
  1052. if (e.Column == _columnSorter.CurrentColumn)
  1053. {
  1054. if (_columnSorter.SortOrder == SortOrder.Ascending)
  1055. {
  1056. _columnSorter.SortOrder = SortOrder.Descending;
  1057. }
  1058. else
  1059. {
  1060. _columnSorter.SortOrder = SortOrder.Ascending;
  1061. }
  1062. }
  1063. else
  1064. {
  1065. _columnSorter.CurrentColumn = e.Column;
  1066. _columnSorter.SortOrder = SortOrder.Ascending;
  1067. }
  1068. listStartupItems.Sort();
  1069. }
  1070. private void chkBlock_CheckedChanged(object sender, EventArgs e)
  1071. {
  1072. if (chkBlock.Checked)
  1073. {
  1074. txtIP.Text = _blockedIP;
  1075. txtIP.Enabled = false;
  1076. }
  1077. else
  1078. {
  1079. txtIP.Clear();
  1080. txtIP.Enabled = true;
  1081. }
  1082. }
  1083. private void button8_Click(object sender, EventArgs e)
  1084. {
  1085. GetCustomCommands();
  1086. }
  1087. private void button26_Click(object sender, EventArgs e)
  1088. {
  1089. if (listCustomCommands.SelectedItems.Count == 1)
  1090. {
  1091. Integrator.DeleteCustomCommand(listCustomCommands.SelectedItem.ToString());
  1092. GetCustomCommands();
  1093. }
  1094. }
  1095. private void button75_Click(object sender, EventArgs e)
  1096. {
  1097. GetModernApps();
  1098. }
  1099. private void button74_Click(object sender, EventArgs e)
  1100. {
  1101. UninstallModernApps();
  1102. }
  1103. private void chkSelectAllModernApps_CheckedChanged(object sender, EventArgs e)
  1104. {
  1105. for (int i = 0; i < listModernApps.Items.Count; i++)
  1106. {
  1107. listModernApps.SetItemChecked(i, chkSelectAllModernApps.Checked);
  1108. }
  1109. }
  1110. private void btnResetConfig_Click(object sender, EventArgs e)
  1111. {
  1112. if (MessageBox.Show(_resetMessage, "Information", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  1113. {
  1114. Utilities.ResetConfiguration();
  1115. }
  1116. }
  1117. private void toggleSwitch1_Click(object sender, EventArgs e)
  1118. {
  1119. if (!toggleSwitch1.Checked)
  1120. {
  1121. Optimize.EnablePerformanceTweaks();
  1122. }
  1123. else
  1124. {
  1125. Optimize.DisablePerformanceTweaks();
  1126. }
  1127. Options.CurrentOptions.EnablePerformanceTweaks = !toggleSwitch1.Checked;
  1128. }
  1129. private void toggleSwitch2_Click(object sender, EventArgs e)
  1130. {
  1131. if (!toggleSwitch2.Checked)
  1132. {
  1133. Optimize.DisableNetworkThrottling();
  1134. }
  1135. else
  1136. {
  1137. Optimize.EnableNetworkThrottling();
  1138. }
  1139. Options.CurrentOptions.DisableNetworkThrottling = !toggleSwitch2.Checked;
  1140. }
  1141. private void toggleSwitch3_Click(object sender, EventArgs e)
  1142. {
  1143. if (!toggleSwitch3.Checked)
  1144. {
  1145. Optimize.DisableDefender();
  1146. }
  1147. else
  1148. {
  1149. Optimize.EnableDefender();
  1150. }
  1151. Options.CurrentOptions.DisableWindowsDefender = !toggleSwitch3.Checked;
  1152. }
  1153. private void toggleSwitch4_Click(object sender, EventArgs e)
  1154. {
  1155. if (!toggleSwitch4.Checked)
  1156. {
  1157. Optimize.DisableSystemRestore();
  1158. }
  1159. else
  1160. {
  1161. Optimize.EnableSystemRestore();
  1162. }
  1163. Options.CurrentOptions.DisableSystemRestore = !toggleSwitch4.Checked;
  1164. }
  1165. private void toggleSwitch5_Click(object sender, EventArgs e)
  1166. {
  1167. if (!toggleSwitch5.Checked)
  1168. {
  1169. Optimize.DisablePrintService();
  1170. }
  1171. else
  1172. {
  1173. Optimize.EnablePrintService();
  1174. }
  1175. Options.CurrentOptions.DisablePrintService = !toggleSwitch5.Checked;
  1176. }
  1177. private void toggleSwitch6_Click(object sender, EventArgs e)
  1178. {
  1179. if (!toggleSwitch6.Checked)
  1180. {
  1181. Optimize.DisableMediaPlayerSharing();
  1182. }
  1183. else
  1184. {
  1185. Optimize.EnableMediaPlayerSharing();
  1186. }
  1187. Options.CurrentOptions.DisableMediaPlayerSharing = !toggleSwitch6.Checked;
  1188. }
  1189. private void toggleSwitch7_Click(object sender, EventArgs e)
  1190. {
  1191. if (!toggleSwitch7.Checked)
  1192. {
  1193. Optimize.DisableSkypeAds();
  1194. }
  1195. else
  1196. {
  1197. Optimize.EnableSkypeAds();
  1198. }
  1199. Options.CurrentOptions.BlockSkypeAds = !toggleSwitch7.Checked;
  1200. }
  1201. private void toggleSwitch8_Click(object sender, EventArgs e)
  1202. {
  1203. if (!toggleSwitch8.Checked)
  1204. {
  1205. Optimize.DisableErrorReporting();
  1206. }
  1207. else
  1208. {
  1209. Optimize.EnableErrorReporting();
  1210. }
  1211. Options.CurrentOptions.DisableErrorReporting = !toggleSwitch8.Checked;
  1212. }
  1213. private void toggleSwitch9_Click(object sender, EventArgs e)
  1214. {
  1215. if (!toggleSwitch9.Checked)
  1216. {
  1217. Optimize.DisableHomeGroup();
  1218. }
  1219. else
  1220. {
  1221. Optimize.EnableHomeGroup();
  1222. }
  1223. Options.CurrentOptions.DisableHomeGroup = !toggleSwitch9.Checked;
  1224. }
  1225. private void toggleSwitch10_Click(object sender, EventArgs e)
  1226. {
  1227. if (!toggleSwitch10.Checked)
  1228. {
  1229. Optimize.DisableSuperfetch();
  1230. }
  1231. else
  1232. {
  1233. Optimize.EnableSuperfetch();
  1234. }
  1235. Options.CurrentOptions.DisableSuperfetch = !toggleSwitch10.Checked;
  1236. }
  1237. private void toggleSwitch11_Click(object sender, EventArgs e)
  1238. {
  1239. if (!toggleSwitch11.Checked)
  1240. {
  1241. Optimize.DisableTelemetryTasks();
  1242. }
  1243. else
  1244. {
  1245. Optimize.EnableTelemetryTasks();
  1246. }
  1247. Options.CurrentOptions.DisableTelemetryTasks = !toggleSwitch11.Checked;
  1248. }
  1249. private void toggleSwitch12_Click(object sender, EventArgs e)
  1250. {
  1251. if (!toggleSwitch12.Checked)
  1252. {
  1253. Optimize.DisableOffice2016Telemetry();
  1254. }
  1255. else
  1256. {
  1257. Optimize.EnableOffice2016Telemetry();
  1258. }
  1259. Options.CurrentOptions.DisableOffice2016Telemetry = !toggleSwitch12.Checked;
  1260. }
  1261. private void toggleSwitch13_Click(object sender, EventArgs e)
  1262. {
  1263. if (!toggleSwitch13.Checked)
  1264. {
  1265. Optimize.EnableLegacyVolumeSlider();
  1266. }
  1267. else
  1268. {
  1269. Optimize.DisableLegacyVolumeSlider();
  1270. }
  1271. Options.CurrentOptions.EnableLegacyVolumeSlider = !toggleSwitch13.Checked;
  1272. }
  1273. private void toggleSwitch19_Click(object sender, EventArgs e)
  1274. {
  1275. if (!toggleSwitch19.Checked)
  1276. {
  1277. Optimize.EnableTaskbarColor();
  1278. }
  1279. else
  1280. {
  1281. Optimize.DisableTaskbarColor();
  1282. }
  1283. Options.CurrentOptions.EnableTaskbarColor = !toggleSwitch19.Checked;
  1284. }
  1285. private void toggleSwitch18_Click(object sender, EventArgs e)
  1286. {
  1287. if (!toggleSwitch18.Checked)
  1288. {
  1289. Optimize.DisableQuickAccessHistory();
  1290. }
  1291. else
  1292. {
  1293. Optimize.EnableQuickAccessHistory();
  1294. }
  1295. Options.CurrentOptions.DisableQuickAccessHistory = !toggleSwitch18.Checked;
  1296. }
  1297. private void toggleSwitch26_Click(object sender, EventArgs e)
  1298. {
  1299. if (!toggleSwitch26.Checked)
  1300. {
  1301. Optimize.DisableStartMenuAds();
  1302. }
  1303. else
  1304. {
  1305. Optimize.EnableStartMenuAds();
  1306. }
  1307. Options.CurrentOptions.DisableStartMenuAds = !toggleSwitch26.Checked;
  1308. }
  1309. private void toggleSwitch27_Click(object sender, EventArgs e)
  1310. {
  1311. if (!toggleSwitch27.Checked)
  1312. {
  1313. Optimize.EnableDarkTheme();
  1314. }
  1315. else
  1316. {
  1317. Optimize.EnableLightTheme();
  1318. }
  1319. Options.CurrentOptions.EnableDarkTheme = !toggleSwitch27.Checked;
  1320. }
  1321. private void toggleSwitch14_Click(object sender, EventArgs e)
  1322. {
  1323. if (!toggleSwitch14.Checked)
  1324. {
  1325. Task t = new Task(() => Optimize.UninstallOneDrive());
  1326. t.Start();
  1327. }
  1328. else
  1329. {
  1330. Task t = new Task(() => Optimize.InstallOneDrive());
  1331. t.Start();
  1332. }
  1333. Options.CurrentOptions.UninstallOneDrive = !toggleSwitch14.Checked;
  1334. }
  1335. private void toggleSwitch25_Click(object sender, EventArgs e)
  1336. {
  1337. if (!toggleSwitch25.Checked)
  1338. {
  1339. Optimize.DisableMyPeople();
  1340. }
  1341. else
  1342. {
  1343. Optimize.EnableMyPeople();
  1344. }
  1345. Options.CurrentOptions.DisableMyPeople = !toggleSwitch25.Checked;
  1346. }
  1347. private void toggleSwitch24_Click(object sender, EventArgs e)
  1348. {
  1349. if (!toggleSwitch24.Checked)
  1350. {
  1351. Optimize.DisableAutomaticUpdates();
  1352. }
  1353. else
  1354. {
  1355. Optimize.EnableAutomaticUpdates();
  1356. }
  1357. Options.CurrentOptions.DisableAutomaticUpdates = !toggleSwitch24.Checked;
  1358. }
  1359. private void toggleSwitch30_Click(object sender, EventArgs e)
  1360. {
  1361. if (!toggleSwitch30.Checked)
  1362. {
  1363. Optimize.ExcludeDrivers();
  1364. }
  1365. else
  1366. {
  1367. Optimize.IncludeDrivers();
  1368. }
  1369. Options.CurrentOptions.ExcludeDrivers = !toggleSwitch30.Checked;
  1370. }
  1371. private void toggleSwitch23_Click(object sender, EventArgs e)
  1372. {
  1373. if (!toggleSwitch23.Checked)
  1374. {
  1375. Optimize.DisableTelemetryServices();
  1376. }
  1377. else
  1378. {
  1379. Optimize.EnableTelemetryServices();
  1380. }
  1381. Options.CurrentOptions.DisableTelemetryServices = !toggleSwitch23.Checked;
  1382. }
  1383. private void toggleSwitch21_Click(object sender, EventArgs e)
  1384. {
  1385. if (!toggleSwitch21.Checked)
  1386. {
  1387. Optimize.DisablePrivacyOptions();
  1388. }
  1389. else
  1390. {
  1391. Optimize.EnablePrivacyOptions();
  1392. }
  1393. Options.CurrentOptions.DisablePrivacyOptions = !toggleSwitch21.Checked;
  1394. }
  1395. private void toggleSwitch22_Click(object sender, EventArgs e)
  1396. {
  1397. if (!toggleSwitch22.Checked)
  1398. {
  1399. Optimize.DisableSilentAppInstall();
  1400. }
  1401. else
  1402. {
  1403. Optimize.EnableSilentAppInstall();
  1404. }
  1405. Options.CurrentOptions.DisableSilentAppInstall = !toggleSwitch22.Checked;
  1406. }
  1407. private void toggleSwitch16_Click(object sender, EventArgs e)
  1408. {
  1409. if (!toggleSwitch16.Checked)
  1410. {
  1411. Optimize.DisableCortana();
  1412. }
  1413. else
  1414. {
  1415. Optimize.EnableCortana();
  1416. }
  1417. Options.CurrentOptions.DisableCortana = !toggleSwitch16.Checked;
  1418. }
  1419. private void toggleSwitch20_Click(object sender, EventArgs e)
  1420. {
  1421. if (!toggleSwitch20.Checked)
  1422. {
  1423. Optimize.DisableSensorServices();
  1424. }
  1425. else
  1426. {
  1427. Optimize.EnableSensorServices();
  1428. }
  1429. Options.CurrentOptions.DisableSensorServices = !toggleSwitch20.Checked;
  1430. }
  1431. private void toggleSwitch29_Click(object sender, EventArgs e)
  1432. {
  1433. if (!toggleSwitch29.Checked)
  1434. {
  1435. Optimize.DisableWindowsInk();
  1436. }
  1437. else
  1438. {
  1439. Optimize.EnableWindowsInk();
  1440. }
  1441. Options.CurrentOptions.DisableWindowsInk = !toggleSwitch29.Checked;
  1442. }
  1443. private void toggleSwitch28_Click(object sender, EventArgs e)
  1444. {
  1445. if (!toggleSwitch28.Checked)
  1446. {
  1447. Optimize.DisableSpellingAndTypingFeatures();
  1448. }
  1449. else
  1450. {
  1451. Optimize.EnableSpellingAndTypingFeatures();
  1452. }
  1453. Options.CurrentOptions.DisableSpellingTyping = !toggleSwitch28.Checked;
  1454. }
  1455. private void toggleSwitch17_Click(object sender, EventArgs e)
  1456. {
  1457. if (!toggleSwitch17.Checked)
  1458. {
  1459. Optimize.DisableXboxLive();
  1460. }
  1461. else
  1462. {
  1463. Optimize.EnableXboxLive();
  1464. }
  1465. Options.CurrentOptions.DisableXboxLive = !toggleSwitch17.Checked;
  1466. }
  1467. private void toggleSwitch15_Click(object sender, EventArgs e)
  1468. {
  1469. if (!toggleSwitch15.Checked)
  1470. {
  1471. Optimize.DisableGameBar();
  1472. }
  1473. else
  1474. {
  1475. Optimize.EnableGameBar();
  1476. }
  1477. Options.CurrentOptions.DisableGameBar = !toggleSwitch15.Checked;
  1478. }
  1479. private void toggleSwitch31_Click(object sender, EventArgs e)
  1480. {
  1481. if (!toggleSwitch31.Checked)
  1482. {
  1483. Optimize.DisableOneDrive();
  1484. }
  1485. else
  1486. {
  1487. Optimize.EnableOneDrive();
  1488. }
  1489. Options.CurrentOptions.DisableOneDrive = !toggleSwitch31.Checked;
  1490. }
  1491. }
  1492. }