MainForm.cs 57 KB

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