From 635d799f2db1e27d7f0809cb71088974959ce976 Mon Sep 17 00:00:00 2001 From: oZ-Zo <50652175+oz-zo@users.noreply.github.com> Date: Thu, 14 Nov 2019 12:30:07 +0300 Subject: [PATCH] Before revert commit --- ToggleAndTextGenerator.txt | Bin 204020 -> 0 bytes ...enerator.ps1 => ToggleObjectsGenerator.ps1 | 168 +- VS/Script_Gui/Script_Gui_3/MainWindow.xaml | 1060 ++-- Win-10-Setup-Script-GUI.ps1 | 4432 ----------------- 4 files changed, 695 insertions(+), 4965 deletions(-) delete mode 100644 ToggleAndTextGenerator.txt rename ToggleAndTextGenerator.ps1 => ToggleObjectsGenerator.ps1 (87%) delete mode 100644 Win-10-Setup-Script-GUI.ps1 diff --git a/ToggleAndTextGenerator.txt b/ToggleAndTextGenerator.txt deleted file mode 100644 index 940131681512c610800a600c17b3b6a66fd10247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204020 zcmeI5Yj4{|7KYE)7U+K(uqHZ}6sclSLU z9uGM)a+EZSYK~qQN~qyQI-JonheJN(fB$n^%72aQ%ekD%OeXRN{(Xx7&*V~?Im_Rc zujEVlqW#mU`?81iFXR~OU0|(e*v30~jdu^^mRz;($0$3MBl!uXQ!IUnC66%O$aB0q z!JjVQ-_Coi`>_3_`*MI~j^vg6C}VuH36^c}Eyvi#3ATFHe$G9Vt%?3?Q*r&rSn?F# zuaPJ1H$9a<@xMkq#l9l$lQ-D5mg@KZ9@D>KI&Nk7O)oKT)^4SdAFv%=SJ&$= z^>WUhec67~d-$fe@ST2czniYB-``3t?OEytzwW(9O z)FHmj1-^~8runtEkEKG3zG&C7&w7D%$MP0`+HOwTsIAQQ%aeBR=^9gf&LQ4S@%jbP zhZ^qhC2OI!{kV_r^nM4nRICMU_o4kx@EOnXdwJV!{R;c~>+2F-F5UZDgZUQkU`cJ| z`diXHG`(Kt0H35SeK@~Ced<0qZvPE?;wmX?7{VrlV|F~BEPt=?Kc4ugD4+?EB zw8=v(@fu{X-_b=o-H%oG)vS$9w|9ZosC!LY!@I8iDu*W613K@rjV`pA{+9nCBee8Q z{Mz>LZ@;DA1!+qA%J%l%UY*Y0-~FZHnt45zTFBi(eaCGW$6`rN#yGD}(}z7?liYuu z+-ogWQgVmV_$ybkeN6wieB{pK)Zde}Ws=)Bxz~i`E)kjJt~cjiFOoZydLnlkXLwI? z>oKGMoO_+*#u2Qw_M4B&O3TG8nmPBfjFyawWSQGoZ&smy&B}+B)Lg$XXM^0 zk~@@oB6k{Rcu#V#2D!ILZj##>xwnht4yB&RoyHm7liaI8?roBrs3DP5~g8>dzqXAKT+iQXPP$~@9g!rXfma&K+vq&Mm9>ALPUNgYGYQLNNg z?wv0z3Ekw-oEbqy4K!zGW9C0)Yr&KYF1j59QR(0ac{bnq_;PEr_N!>z5ThB zYm!GwzjBpwZ~B$XMep(x9B$(t9iQ?HhxuE3g!{tleKPqBh`;^}2-}z8sSj(CdXJ&^ zsMqi8$Ct-OtJ7D1(XVYi+fR>kxq1jb-C>cZJEW~RH5vnx>oqs~@#V46*YwR~8k%Hs zePb?tW@%=Tx{86x^*WjT`106jV)|w>-AgjLb|$YEZA&Yy@w{bZvPBX7N-N=+N-t+B zV{L0Lq4mqFx|ivy?!P)7J%9bDc*^Nf`&3YU`mm1a9$<9)SG@EIsNuQA^Va6mj`#2^ z)kQ{CKD?L182CD}`}B%z{XN#}eJ&EY#nB|M!`65cc6bE{GbU#~y97~#{XEnmu>O&b9nlutD3{pJtg5i6F#>ymGGg|?BRm~c65cc6 zbAwX}U$33I7~#{XEn*UW^$1U+b-4&X?^^jrKK$Fh`JOWKxBM?$t3SbY`xm&D|KFIp zc{{uh!Xj7fr~A~d&(Hl-?Q!aLZ}T`Un*MoSI=H^h^X9c4uG^uDTT5?}*5J*|pWk=< z*!3D?SYYqibF>EBEqN&Fw%wQKaN@}=} zM-X@nLXb7|kXG|gC2y1w(Z<%}csK|>x=uLYY%Im(`%Y9*w! zZ%Wf{C8fPkx@5ABDmGbjN~aN8bfmOzO4Cp!rM*x(^)f>)U9XLrQ#y@s)Va2#v~Nn& zG9{(GP&#!h1EuRVN^?r55so@vmX!8QX_}&>v=>UJeq^9@y;f*W=`_Mo=e&~Az9~)H zla%&C>C|xyl&;t8%qg8lIO@DrQrb7AX>5|xUMO9%Ax9P4kU6E(2rW8N+Bcd7nY@Aft);rX?=h{Vwj$U1`yg(!ME8_mH`?ms~nE^R#!_aO56ZEd5+M#7s*2rZn9{QrZipOYY%D z#ZTZ&$E7WnKBYs)}my-+$e^Fl5iN_~uYq!Dg(W+f@@o6>X-Nog;XPR+bP zX+Q4aMrRuKbLkKrDearmbPq{sFO*Kryg+F`?%_sf8ulq2q9dh!Q=0DKa#8y8JWF8y zR-WNW1i#@ri(|QL@4J7DyYP=?DzEUm`6&myr|Kg2RK02chNl&5biQC@ZRkzvbtG?& zIgi&$*tdA;TW)Rv*1mZ)A+IK^?P|hBT6XFhhW1{sO?h+78=XlR`!6dY&sT}(G%c6w z$btF!=gQAhD>3jql-79W^g}#PqqGwCEPi^Hyxy%XbG(P+J@t+E z%xll7Um03?DD^|^G|J7+oF%dS6PqUKavcG1L}#%Poq5DA*`%8l+oYwV35%znW78=0 z^~~W?y@%|BRw;>H-!+!=+jGe*-K^LwEk$ba^odQobXAB=!<5AKMC{bT40%btmT8&T zX_T8ZO>y?(d3$c-1m}xpn0_a3F{Sr$yOKZT>+2F-Zi14T?BR;zb6kJ?O5XSG@uqwH zU3)F^9W1GLiaWvI1XELaC|}8!a$gScNqUqwoZn!JdM~=;_TQ84vxjAkJZiUX_nG?v zThZwU*w%UbNw4wlrIhO3+A_znmuVdP^PR)IX-n_W`etYuZ+IT`vz!Nw`_s;Vmdw}9 z&K8YK2s{bD&KZ8^NAeSDWs2YKB?xhZY2{1&B|nqjvDB=!9PECQacjz*M!v)P`>h3` zEK(OjKjmAH;Wg$=Fn#x$JUP1>i43`g&kk%;g7jmwNcvemy;pC2M!&{GZ$ayo`F)M~ zecqBw&g*99iAJK<%jYyci_M6xk!f#{-t~A3eN?>Tu}M8A^=HKCXA4}=o zj&)gG%RcJ`-j9(#zwKqRR%SicleS;eHKy3YA>K{#`lZco)BelyX4`(uyzjJ`ZpgQ7 zsaTu-`ApxHeD=ZT^f{Cv|ESp_?e{^OnI&r_#x(M|{xO$+ja&QWXv;E$|EuZ^^0k81j#rEzf?8o1MeiAAb(9 zkTO^UsRzg1e<+Ii?^JnJI_2>+^yN*LXr}0^A z%%45y&-5FaKl{j^Q|C|54{mkdpNH{{G(L-seD=&|K0A|q_QB_pKd5eo`Vt=aoW^Id zkJMVG4Z{H&Se)-)S?qPI5Gtqblhq%5)+{lymo1V&__+RhWF#nDYc8{UB zmHyp`_HdV?PxA-2vZpMD{JG|*N)FEtrv9KsY;Bi*w?DsI>zLPXl(<{EFH31TV;%Xd zz0=>x=aN6T)me8Q^5--@i;aBtoIleaJ@c9VAoFJ*`E$u1+;-y+S|t7anf{=6 ze^6_k`7`t9`u)M}&J>LN(({8>>LGtl{XvV3`LpNznf@U2XCL`<>emH6hf)uGPUG9= zGZEV-x{PrJl$U2B_OIBn_RIX4`Ll=oIrZy8`}X1wZg(bRJU*}z=Fgt_On;F1vyc2a z_3Hwkz4(LMoh{hsbBK+6_RMGcgXFUhKBsF2xZ}nj zv`G5-GyOsD{-D-6^JnJI9`fhZuha489XHP(v`G4V4iPhd_MAV{A7uXQBY#f)y1-{I z{@_k$3-l79XiA|{_b^O^o2`Rs$wC4X?Iv+g|P&uM%X z8~N;+&-4e$XCHh{{km{|(2GB~)7gUk{5ix%K6~af{Xz2C1D|(`{-BlCpFdk9kJ@c9VAoFJ*`E$u1+;!s*S|t7anf{=6 ze^6_k`7`rp5BYP+AKZ204_YLBKGPrc&u99B%%6Sa&n16wx3lg%jBljzS!^8N@I1aj ze~^6k!RL}cxa-Crv`G5-GyOsT`7`}N^4SNUQ@>8HuiJIw4_YLBKJ)p5{`pLQkbL&R z=aN6T>&73nNcw!HKj@#&^asgjAAC;zx{yD6dH&#T_WVIB;rO%X@n`yj%f;v0QvPe? znY@#!%w!^Oq?xnSZTU*RoI9_PpXIv`tow!NpKj&8?8&)Y$T2?g0&9KxIkx_G-peg{ z*lqs++dq<5QeXd|`|%~NxYiMrlDBB3pT5tY$?tNC+CGxsub7To)4kZ>J4|IC z^C#_IoS>#2p!{1I%WKS;VEXR$zBY>QVP4qljr@Qm-(Wdi%jUmq+sMm8To#ipscY%C zc#5qkAy4J3-O?7u{2T0%&&e>-cybUv1a%SqoMY2hPOtg|(JHp)~%2l`>cDZ+r|&D2;vsAEsd9B^Yyr zY5k3#gE1#9IsR@Amm{-ijbCK(b7V(vJJMgtAM!P7F_gq!BvSr8T0u_tJ6PueZ9?l_ zd!Xs{G6(2=W_S(fH^`8*KRRyz4ZYG;Qr5_$wjF6dt36xnbNj8#dR=R?WHDJ>GmBGK zFSP4WS~rXH$nJIKC0XocoTQ&s&_7(R@ez(s%#cN#BbP{z-($`?%qDX0P;<&qS~rXH z$Sf|h*dvSS8j{8Jjuk6)bH^~2*3IHPGK-ch_Q+y-g=BHvEKYs9Fh&td>t=Bt*}cw_ zB#S+=m<}OXTsMnzcTn@199f8#EcVA@ zt#5jF^zQ2Q?v%SF7T53H&5KNnBE=p;=1$V+)h)9)$iR|48x2+#6=c+WHG%v zvbb&*=XRR1IF!~sMp23^l##_ASxoPaEUufyxt*pguHU<}7>0Rqh>I-t$YOeTWO3ar z&h0d1asA$%#V}-Xh>I-t$YOeTWO3ar&h0d1asA$%#V}-Xh>I-t$YOeTWO3ar&h0d1 zasA$%#V}-Xh>I-t$YOeTWO3arE_rur4!k>yVaVbTEm`c5#q{pT;<{O!+i98?*YDj~ z3_})&xX5CUET(ry7T3(;^`duYr8QsEW-;_xY-MDzKNf4<(z~N~SFd-sjvP4m?yR(K z7Uz*!Tx79F7Sp?9UR-xxT=MSL9e8&Z!!R$Vcc%vU7*A`~XEx6;?d3VpTHnlznHSfb z7nkg`bqC&^#V}+sy*s}wrgz7@xbD2TWL7MHxcbqC&^ z#V}+sy*s}wrgujc*UjRRcen1qyR#UEET(tom&Nq%$l|(LT=MSL9e8&Z!;r=F?)Ui|b}_$-7&3;N4jaLl)D!^UGp-cVuzREFKlT zJ1ec(^{^QFEVeSb9{#Q`*1F~O#k{__-s_7;Meoi^>t=E8-C0~@u}2ouyJKElcV1lb z?nVy0JBwkM7t_1*I!2-O&Aga-am{&g$-5gl@a`;zA&cqV`DHP^JLbi8=fx%OZsfqb zvlxafrg!I;#q{pT;<{N}^6o|sygQ3w$YOeTepyWKZn;=|Tgrcp{4C!|GiUB?`AWW= zJFk%!aw=zXEa&pOOyx1|bM*#yx%vsOBa~fWj?O>%!1lio{nJmnFMHj36Rh3Hr=KJ1 zZ|6Pke)+K5{sFdsB(J2teqzym{Ss##*D#h+@&>K+)A#E$)buItV|FCJ$@i$|UojoG zrhB?Udz#8V=4&f>g@2Fb0m{Ec>v)Yh6HMQ|t`9p~xQBV6W*YgSYe%}4&40OYThsV0 z&S8H;x6oIA^YOn3j+=AbytZ-kk8R~8M{!iKqxdoLTbx7g(_>t1?$dQ#u457A`!i(C z=QuJ-bKP?sE1e({p2)}LyPENqd`K&e8M@}wS8c{V#&OC4fQTy%R#k6XUM>lAf! z)*j)WVUDi5kEL{4m(^|CXT8AtvAo4!IR4dTt;~*)p0vkNy2cb+IK;atUca=pugmw3 zm+a`(wjYm{?(~knY^hk=tId6SmE^wvah{TUIjY#b{J4BSkKST8Rw_%${kQ06bWdE# zAM*9}QwU;@6?>HTSSs&H?qHn@^iP_fXm2;YUgiKj-3+hc{01YrVQe_|fLBRbBahnN kPRES37mee7{S4&eGa)*h%f(^b diff --git a/ToggleAndTextGenerator.ps1 b/ToggleObjectsGenerator.ps1 similarity index 87% rename from ToggleAndTextGenerator.ps1 rename to ToggleObjectsGenerator.ps1 index bb0e9ab7..bc48da64 100644 --- a/ToggleAndTextGenerator.ps1 +++ b/ToggleObjectsGenerator.ps1 @@ -3,7 +3,7 @@ #region Toggles Text Eng -[Array]$Text_Eng_Privacy = +$Text_Eng_Privacy = "Turn off `"Connected User Experiences and Telemetry`" service", "Turn off per-user services", "Turn off the SQMLogger session at the next computer restart", @@ -22,7 +22,7 @@ "Turn off automatic installing suggested apps", "Do not let track app launches to improve Start menu and search results" -[Array]$Text_Eng_UI = +$Text_Eng_UI = "Show `"This PC`" on Desktop", "Set File Explorer to open to This PC by default", "Show Hidden Files, Folders, and Drives", @@ -61,9 +61,9 @@ "Use the PrtScn button to open screen snipping", "Automatically adjust active hours for me based on daily usage" -[Array]$Text_Eng_OneDrive = "Uninstall OneDrive" +$Text_Eng_OneDrive = "Uninstall OneDrive", "" -[Array]$Text_Eng_System = +$Text_Eng_System = "Turn on Storage Sense to automatically free up space", "Run Storage Sense every month", "Delete temporary files that apps aren't using", @@ -109,35 +109,35 @@ "Turn off thumbnail cache removal", "Turn On automatically save my restartable apps when sign out and restart them after sign in" -[Array]$Text_Eng_StartMenu = +$Text_Eng_StartMenu = "Do not show recently added apps on Start menu", "Open shortcut to the Command Prompt from Start menu as Administrator", "Add old style shortcut for `"Devices and Printers`" to the Start menu", "Import Start menu layout from pre-saved reg file", "Unpin all Start menu tiles" -[Array]$Text_Eng_Edge = +$Text_Eng_Edge = "Turn off Windows Defender SmartScreen for Microsoft Edge", "Do not allow Microsoft Edge to start and load the Start and New Tab page at Windows startup and each time Microsoft Edge is closed", "Do not allow Microsoft Edge to pre-launch at Windows startup, when the system is idle, and each time Microsoft Edge is closed", "Turn off creation of an Edge shortcut on the desktop for each user profile" -#$Text_Eng_UWP = -# "Uninstall all UWP apps from all accounts, except the followings...", -# "Uninstall all provisioned UWP apps from System account, except the followings..." +$Text_Eng_UWP = + "Uninstall all UWP apps from all accounts, except the followings...", + "Uninstall all provisioned UWP apps from System account, except the followings..." -[Array]$Text_Eng_WindowsGameRecording = +$Text_Eng_WindowsGameRecording = "Turn off Windows Game Recording and Broadcasting", "Turn off Game Bar", "Turn off Game Mode", "Turn off Game Bar tips" -[Array]$Text_Eng_ScheduledTasks = +$Text_Eng_ScheduledTasks = "Create a task in the Task Scheduler to start Windows cleaning up", "Create a task in the Task Scheduler to clear the $env:SystemRoot\SoftwareDistribution\Download folder", "Create a task in the Task Scheduler to clear the $env:TEMP folder" -[Array]$Text_Eng_MicrosoftDefender = +$Text_Eng_MicrosoftDefender = "Add folder to exclude from Windows Defender Antivirus scan", "Turn on Controlled folder access and add protected folders", "Allow an app through Controlled folder access", @@ -147,7 +147,7 @@ "Hide notification about sign in with Microsoft in the Windows Security", "Hide notification about disabled SmartScreen for Microsoft Edge" -[Array]$Text_Eng_ContextMenu = +$Text_Eng_ContextMenu = "Add `"Extract`" to MSI file type context menu", "Add `"Run as different user`" from context menu for .exe file type", "Add `"Install`" to CAB file type context menu", @@ -169,7 +169,7 @@ #endregion Toggles Text Eng #region Toggles Text Ru -[Array]$Text_Ru_Privacy = +$Text_Ru_Privacy = "Отключить службу `"Функциональные возможности для подключенных пользователей и телеметрия`"", "Отключить пользовательские службы", "Отключить сборщик SQMLogger при следующем запуске ПК", @@ -188,7 +188,7 @@ "Отключить автоматическую установку рекомендованных приложений", "Не разрешать Windows отслеживать запуски приложений для улучшения меню `"Пуск`" и результатов поиска и не показывать недавно добавленные приложения" -[Array]$Text_Ru_UI = +$Text_Ru_UI = "Отобразить `"Этот компьютер`" на рабочем столе", "Открывать `"Этот компьютер`" в Проводнике", "Показывать скрытые файлы, папки и диски", @@ -227,9 +227,9 @@ "Использовать клавишу Print Screen, чтобы запустить функцию создания фрагмента экрана", "Автоматически изменять период активности для этого устройства на основе действий" -[Array]$Text_Ru_OneDrive = "Удалить OneDrive" +$Text_Ru_OneDrive = "Удалить OneDrive", "" -[Array]$Text_Ru_System = +$Text_Ru_System = "Включить Память устройства для автоматического освобождения места", "Запускать контроль памяти каждый месяц", "Удалять временные файлы, не используемые в приложениях", @@ -275,35 +275,35 @@ "Отключить удаление кэша миниатюр", "Автоматически сохранять мои перезапускаемые приложения при выходе из системы и перезапустить их после выхода" -[Array]$Text_Ru_StartMenu = +$Text_Ru_StartMenu = "Не показывать недавно добавленные приложения в меню `"Пуск`"", "Запускать ярлык к командной строке в меню `"Пуск`" от имени Администратора", "Добавить ярлык старого формата для `"Устройства и принтеры`" в меню Пуск", "Импорт настроенного макета меню `"Пуск`" из заготовленного reg-файла", "Открепить все ярлыки от начального экрана" -[Array]$Text_Ru_Edge = +$Text_Ru_Edge = "Отключить Windows Defender SmartScreen в Microsoft Edge", "Не разрешать Edge запускать и загружать страницу при загрузке Windows и каждый раз при закрытии Edge", "Не разрешать предварительный запуск Edge при загрузке Windows, когда система простаивает, и каждый раз при закрытии Edge", "Отключить создание ярлыка Edge на рабочем столе для каждого профиля пользователя пользователя" -#$Text_Ru_UWP = -# "Удалить все UWP-приложения из всех учетных записей, кроме следующих...", -# "Удалить все UWP-приложения из системной учетной записи, кроме следующих..." +$Text_Ru_UWP = + "Удалить все UWP-приложения из всех учетных записей, кроме следующих...", + "Удалить все UWP-приложения из системной учетной записи, кроме следующих..." -[Array]$Text_Ru_WindowsGameRecording = +$Text_Ru_WindowsGameRecording = "Отключить Запись и трансляции игр Windows", "Отключить игровую панель", "Отключить игровой режим", "Отключить подсказки игровой панели" -[Array]$Text_Ru_ScheduledTasks = +$Text_Ru_ScheduledTasks = "Создать задачу в Планировщике задач по очистке обновлений Windows", "Создать задачу в Планировщике задач по очистке папки %SystemRoot%\SoftwareDistribution\Download", "Создать задачу в Планировщике задач по очистке папки %TEMP%" -[Array]$Text_Ru_MicrosoftDefender = +$Text_Ru_MicrosoftDefender = "Добавить папку в список исключений сканирования Защитника Windows", "Включить контролируемый доступ к папкам и добавить защищенные папки", "Разрешить работу приложения через контролируемый доступ к папкам", @@ -313,7 +313,7 @@ "Скрыть уведомление Защитника Windows об использовании аккаунта Microsoft", "Скрыть уведомление Защитника Windows об отключенном фильтре SmartScreen для Microsoft Edge" -[Array]$Text_Ru_ContextMenu = +$Text_Ru_ContextMenu = "Добавить пункт `"Extract`" для MSI в контекстное меню", "Добавить `"Запуск от имени друго пользователя`" в контекстное меню для .exe файлов", "Добавить пункт `"Установить`" для CAB-файлов в контекстном меню", @@ -336,75 +336,57 @@ #endregion Toggles Text -$curDir = $MyInvocation.MyCommand.Definition | Split-Path -Parent -$resultFile = "{0}\ToggleAndTextGenerator.txt"-f $curDir -$toggles = New-Object System.Collections.ArrayList($null) -$textE = New-Object System.Collections.ArrayList($null) -$textR = New-Object System.Collections.ArrayList($null) -$textBlockUid = 0 -$toggleUid = 1000 -$category = "ContextMenu", "Edge", "MicrosoftDefender", "OneDrive", "Privacy", "ScheduledTasks", -"StartMenu", "System", "UI", "WindowsGameRecording" - -if (Test-Path -Path $resultFile) -{ - Remove-Item -Path $resultFile -Confirm:$false -Force - Write-Warning -Message "Файл ""$resultFile"" удален!" -} +$categoryArray = "Text_Eng_ContextMenu", "Text_Eng_Edge", "Text_Eng_MicrosoftDefender", "Text_Eng_OneDrive", +"Text_Eng_Privacy", "Text_Eng_ScheduledTasks", "Text_Eng_StartMenu", "Text_Eng_System", "Text_Eng_UI", "Text_Eng_WindowsGameRecording" -$category | %{ - $catName = "$_" - $textEng = Get-Variable -Name ("Text_Eng_$catName") - $textRu = Get-Variable -Name ("Text_Ru_$catName") - - if ($textEng.Value.Count -eq $textRu.Value.Count) +$textblockuid = 0 +$toggleuid = 999 +for ($j=0;$j -lt $categoryArray.Count; $j++) +{ + $categoryName = $categoryArray[$j].Split("_")[2] + $categoryEng = Get-Variable -Name $categoryArray[$j] + $categoryRu = Get-Variable -Name ($categoryArray[$j] -replace "Eng", "Ru") + + for ($i=0; $i -lt $categoryEng.Value.Length; $i++) { - [Void]$toggles.Add("------------ $catName ------------") - for ($i=0;$i -lt $textEng.Value.Count;$i++) + $name = "Toggle_{0}_{1}"-f $categoryName, $i + $textblock = "Text{0}"-f $name + $toggleuid++ + $eng = $categoryEng.Value[$i] + $ru = $categoryRu.Value[$i] + + if ($eng.Contains('"')) { - $strE = $textEng.Value[$i] - $strR = $textRu.Value[$i] - - if ($strE.Contains('"')) {$strE = $strE.Replace('"', '""')} - if ($strR.Contains('"')) {$strR = $strR.Replace('"', '""')} - - [Void]$textE.Add("""{0}"","-f $strE) - [Void]$textR.Add("""{0}"","-f $strR) - - $toggleName = "Toggle_{0}_{1}"-f $catName, $toggleUid - $textblockName = "Text_{0}_{1}"-f $catName, $textBlockUid - $template = @" - - - - - - - - - - - - - -"@ - [Void]$toggles.Add($template) - $toggleUid++ - $textBlockUid++ + $eng = $eng.Replace('"', '"') } - [Void]$toggles.Add("------------ $catName ------------") - } - - else - { - Write-Warning -Message "Количество строк в массивах ""$textEng"" и ""$textRu"" не совпадает!" - } + + if ($eng.Contains('&')) + { + $eng = $eng.Replace('&', '&') + } + + if ($ru.Contains('"')) + { + $ru = $ru.Replace('"', '"') + } + + if ($ru.Contains('&')) + { + $ru = $ru.Replace('&', '&') + } + + @" +@{ + Category = "$categoryName" + Checked = "0" + ToggleName = "$name" + TextBlockName = "$textblock" + TextEng = "$eng" + TextRu = "$ru" + TextblockUid = "$textblockuid" + ToggleUid = "$toggleuid" +}, +"@ + $textblockuid++ + } } - -$toggles | Out-File -FilePath $resultFile -Force -Confirm:$false \ No newline at end of file diff --git a/VS/Script_Gui/Script_Gui_3/MainWindow.xaml b/VS/Script_Gui/Script_Gui_3/MainWindow.xaml index 3d9e2aec..3075940f 100644 --- a/VS/Script_Gui/Script_Gui_3/MainWindow.xaml +++ b/VS/Script_Gui/Script_Gui_3/MainWindow.xaml @@ -5,7 +5,7 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Script_Gui_3" mc:Ignorable="d" - Name="Window" Title="Windows 10 Setup Script" MinHeight="908" MinWidth="950" Height="908" Width="950" + Name="Window" Title="Windows 10 Setup Script" MinHeight="863" MinWidth="950" Height="863" Width="950" FontFamily="Calibri" FontSize="18" TextOptions.TextFormattingMode="Display" WindowStartupLocation="CenterScreen" SnapsToDevicePixels="True" ResizeMode="CanResize" ShowInTaskbar="True" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" Foreground="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"> @@ -1091,12 +1091,12 @@ - - + + + + + + + - + + + + + + + + + + + + + + - - + + + + + + + @@ -2129,12 +2184,12 @@ - - + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + @@ -3097,12 +3225,12 @@ - - + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"@ - -#endregion Xaml Markup - -$xamlGui = [System.Windows.Markup.XamlReader]::Load((New-Object System.Xml.XmlNodeReader $xamlMarkup)) -$xamlMarkup.SelectNodes('//*[@Name]') | ForEach-Object { - New-Variable -Name $_.Name -Value $xamlGui.FindName($_.Name) -Force -} - -#region Script Functions -function Hide-Console { - <# - .SYNOPSIS - Hide Powershell console before show WPF GUI. - #> - - [CmdletBinding()] - param () - - Add-Type -Name Window -Namespace Console -MemberDefinition ' - [DllImport("Kernel32.dll")] - public static extern IntPtr GetConsoleWindow(); - - [DllImport("user32.dll")] - public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow); -' - [Console.Window]::ShowWindow([Console.Window]::GetConsoleWindow(), 0) -} - -function Use-HamburgerMenu { - <# - .SYNOPSIS - Show or hide hamburger menu. - #> - - [CmdletBinding()] - param () - - $minWidth = 50 - $maxWidth = 250 - $duration = New-Object System.Windows.Duration([timespan]::FromSeconds(1)) - $widthProperty = New-Object System.Windows.PropertyPath([System.Windows.Controls.Canvas]::WidthProperty) - - if ($HamburgerMenu.ActualWidth -eq $minWidth) { - $animation = New-Object System.Windows.Media.Animation.DoubleAnimation($minWidth, $maxWidth, $duration) - } - - else { - $animation = New-Object System.Windows.Media.Animation.DoubleAnimation($maxWidth, $minWidth, $duration) - } - - $animation.SpeedRatio ="3" - $storyboard = New-Object System.Windows.Media.Animation.Storyboard - [System.Windows.Media.Animation.Storyboard]::SetTargetProperty($animation, $widthProperty) - $storyboard.Children.Add($animation) - $storyboard.Begin($HamburgerMenu) -} - -function Set-HamburgerHover { - <# - .SYNOPSIS - Mouse hover effect for hamburger button. - #> - - [CmdletBinding()] - param - ( - [Parameter(Mandatory=$false)] - [switch]$Active - ) - - - if ($Active) - { - $ButtonHamburger.Background = "#2196F3" - } - - else - { - $ButtonHamburger.Background = "#3F51B5" - } -} - -function Click-HamburgerButton { - <# - .SYNOPSIS - Click event to Hamburger Category Button. - #> - - [CmdletBinding()] - param - ( - [Parameter(Mandatory=$true)] - $Panel, - - [Parameter(Mandatory=$true)] - [string]$Header - ) - - $PanelToggle_ContextMenu, $PanelToggle_Edge, $PanelToggle_MicrosoftDefender, $PanelToggle_OneDrive, - $PanelToggle_Privacy, $PanelToggle_ScheduledTasks, $PanelToggle_StartMenu, $PanelToggle_System, - $PanelToggle_UI, $PanelToggle_UwpApps, $PanelToggle_WindowsGameRecording | ForEach-Object { - - if (($_.Name -eq $Panel.Name) -and ($_.Visibility -eq "Collapsed")) - { - $_.Visibility = "Visible" - } - - elseif (($_.Name -ne $Panel.Name) -and ($_.Visibility -eq "Visible")) - { - $_.Visibility = "Collapsed" - } - } - - $TextBlock_Category.Text = $Header -} - -function Click-ToggleButton { - <# - .SYNOPSIS - Click event to Toggle Buttons. - #> - - [CmdletBinding()] - param - ( - [Parameter(Mandatory=$false)] - [switch]$IsChecked - ) - - if ($IsChecked) - { - $Global:clickedToggle++ - } - - elseif (!$IsChecked) - { - $Global:clickedToggle-- - } - - if ($clickedToggle -gt 0) - { - $ButtonApply.Visibility = "Visible" - $ButtonSave.Visibility = "Visible" - } - - else - { - $ButtonApply.Visibility = "Hidden" - $ButtonSave.Visibility = "Hidden" - } -} - -function Set-Language { - <# - .SYNOPSIS - Change Language button click event - #> - - [CmdletBinding()] - param - ( - [Parameter(Mandatory=$false)] - [switch]$Change - ) - - (Get-Variable -Name "Text_*").Name | ForEach-Object { - $textToggle = $Window.FindName($_) - - if ($Change) - { - if ($RU) - { - $textToggle.Text = $TextEng[$textToggle.Uid] - } - - else - { - $textToggle.Text = $TextRu[$textToggle.Uid] - } - } - - else - { - if ($RU) - { - $textToggle.Text = $TextRu[$textToggle.Uid] - } - - else - { - $textToggle.Text = $TextEng[$textToggle.Uid] - } - } - } - - if ($Change) - { - $Global:RU = !$RU - } -} - -function Follow-OnGitHub { - <# - .SYNOPSIS - Open Farag2 GitHub in Default Browser - #> - - [CmdletBinding()] - param () - - Start-Process -FilePath $gitHub -} - -#endregion - -#region Controls Events - -$ButtonHamburger.Add_MouseLeftButtonDown({ - Use-HamburgerMenu -}) - -$ButtonHamburger.Add_MouseEnter({ - Set-HamburgerHover -Active -}) - -$ButtonHamburger.Add_MouseLeave({ - Set-HamburgerHover - -}) - -$ButtonChangeLanguage.Add_MouseLeftButtonDown({ - Set-Language -Change -}) - -$ButtonGitHub.Add_MouseLeftButtonDown({ - Follow-OnGitHub -}) - -$Button_ContextMenu.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_ContextMenu -Header "Context Menu" - }) - -$Button_Defender.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_MicrosoftDefender -Header "Microsoft Defender" - }) - -$Button_Edge.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_Edge -Header "Microsoft Edge" - }) - -$Button_Game.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_WindowsGameRecording -Header "Windows Game Recording" - }) - -$Button_OneDrive.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_OneDrive -Header "OneDrive" - }) - -$Button_Privacy.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_Privacy -Header "Privacy & Telemetry" - }) - -$Button_StartMenu.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_StartMenu -Header "Start Menu" - }) - -$Button_System.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_System -Header "System" - }) - -$Button_Tasks.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_ScheduledTasks -Header "Scheduled Tasks" - }) - -$Button_Ui.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_UI -Header "UI & Personalization" - }) - -$Button_Uwp.Add_MouseLeftButtonDown({ - Click-HamburgerButton -Panel $PanelToggle_UwpApps -Header "Uwp Apps" - }) -#endregion Controls Events - -#region Add Click Event to Toggle Buttons - -(Get-Variable -Name "Toggle_*").Name | ForEach-Object { - $currentToggle = $Window.FindName($_) - $currentToggle.Add_Checked({ - Click-ToggleButton -IsChecked - }) - - $currentToggle.Add_Unchecked({ - Click-ToggleButton - }) -} - -#endregion Add Click Event to Toggle Buttons - -Set-Language -Hide-Console -$Window.ShowDialog() | Out-Null