Вы должны войти, чтобы создавать сообщения и темы.

Зависает программа при использовании cmd [Решено]

Добрый день, делаю программу которая при нажатии на кнопку будет завершать службы, процессы. Для этого использую такой код:

Спойлер

void Cmd(string line)
{
Process.Start(new ProcessStartInfo
{
FileName = "cmd",
Arguments = $"/c {line}",
WindowStyle = ProcessWindowStyle.Hidden
}).WaitForExit();
}

private void guna2Button1_Click(object sender, EventArgs e)
{
Cmd("sc stop hidserv");
Cmd("sc stop WinHttpAutoProxySvc");
Cmd("sc stop DeviceAssociationService");
Cmd("sc stop PeerDistSvc");
Cmd("sc stop diagsvc");
Cmd("sc stop GraphicsPerfSvc");
Cmd("sc stop AppVClient");
Cmd("sc stop shpamsvc");
Cmd("sc stop smphost");
Cmd("sc stop SysMain");
Cmd("sc stop UsoSvc");
Cmd("sc stop WaaSMedicSvc");
Cmd("sc stop cbdhsvc");
Cmd("sc stop XboxGipSvc");
Cmd("sc stop tzautoupdate");
Cmd("sc stop WwanSvc");
Cmd("sc stop CscService");
Cmd("sc stop wmiApSrv");
Cmd("sc stop WbioSrvc");
Cmd("sc stop WebClient");
Cmd("sc stop iphlpsvc");
Cmd("sc stop p2psvc");
Cmd("sc stop RasAuto");
Cmd("sc stop Spooler");
Cmd("sc stop SEMgrSvc");
Cmd("sc stop RasMan");
Cmd("sc stop XblAuthManager");
Cmd("sc stop MapsBroker");
Cmd("sc stop hidserv");
Cmd("sc stop pla");
Cmd("sc stop DusmSvc");
Cmd("sc stop TrkWks");
Cmd("sc stop SNMPTRAP");
Cmd("sc stop RpcLocator");
Cmd("sc stop RemoteAccess");
Cmd("sc stop lmhosts");
Cmd("sc stop SessionEnv");
Cmd("sc stop SharedAccess");
Cmd("sc stop defragsvc");
Cmd("sc stop DoSvc");
Cmd("sc stop UmRdpService");
Cmd("sc stop wercplsupport");
Cmd("sc stop SCPolicySvc");
Cmd("sc stop BcastDVRUserService");
Cmd("sc stop WpnUserService");
Cmd("sc stop wlidsvc");
Cmd("sc stop NcaSvc");
Cmd("sc stop NcbService");
Cmd("sc stop SDRSVC");
Cmd("sc stop swprv");
Cmd("sc stop FDResPub");
Cmd("sc stop LanmanWorkstation");
Cmd("sc stop PrintNotify");
Cmd("sc stop WpcMonSvc");
Cmd("sc stop Wecsvc");
Cmd("sc stop LanmanServer");
Cmd("sc stop FrameServer");
Cmd("sc stop XboxNetApiSvc");
Cmd("sc stop Netlogon");
Cmd("sc stop AssignedAccessManagerSvc");
Cmd("sc stop vmicvmsession");
Cmd("sc stop NgcSvc");
Cmd("sc stop PushToInstall");
Cmd("sc stop LicenseManager");
Cmd("sc stop icssvc");
Cmd("sc stop UevAgentService");
Cmd("sc stop vmicrdv");
Cmd("sc stop spectrum");
Cmd("sc stop UserDataSvc");
Cmd("sc stop vmicshutdown");
Cmd("sc stop stisvc");
Cmd("sc stop vmicvss");
Cmd("sc stop MSiSCSI");
Cmd("sc stop fhsvc");
Cmd("sc stop PimIndexMaintenanceSvc");
Cmd("sc stop WalletService");
Cmd("sc stop FontCache");
Cmd("sc stop ClipSVC");
Cmd("sc stop SmsRouter");
Cmd("sc stop dmwappushservice");
Cmd("sc stop wbengine");
Cmd("sc stop irmon");
Cmd("sc stop SensrSvc");
Cmd("sc stop vmickvpexchange");
Cmd("sc stop ScDeviceEnum");
Cmd("sc stop WPDBusEnum");
Cmd("sc stop PcaSvc");
Cmd("sc stop wisvc");
Cmd("sc stop vmicheartbeat");
Cmd("sc stop TabletInputService");
Cmd("sc stop vmictimesync");
Cmd("sc stop WpnService");
Cmd("sc stop SENS");
Cmd("sc stop WinRM");
Cmd("sc stop WEPHOSTSVC");
Cmd("sc stop RmSvc");
Cmd("sc stop InstallService");
Cmd("sc stop BDESVC");
Cmd("sc stop ALG");
Cmd("sc stop TermService");
Cmd("sc stop SCardSvr");
Cmd("sc stop WiaRpc");
Cmd("sc stop XblGameSave");
Cmd("sc stop TapiSrv");
Cmd("sc stop PhoneSvc");
Cmd("sc stop VSS");
Cmd("sc stop RemoteRegistry");
Cmd("sc stop AppIDSvc");
Cmd("sc stop vmicguestinterface");
Cmd("sc stop Fax");
Cmd("sc stop BITS");
Cmd("sc stop DiagTrack");
Cmd("sc stop PerfHost");
Cmd("sc stop wscsvc");
Cmd("sc stop wuauserv");
Cmd("sc stop PolicyAgent");
Cmd("sc stop IKEEXT");
Cmd("sc stop Themes");
Cmd("sc stop SensorDataService");
Cmd("sc stop SensorService");
Cmd("sc stop WerSvc");
Cmd("sc stop bthserv");
Cmd("sc stop AGMService");
Cmd("sc stop KtmRm");
Cmd("sc stop QWAVE");
Cmd("sc stop SystemEventsBroker");
Cmd("sc stop svsvc");
Cmd("sc stop WebClient");
Cmd("sc stop p2psvc");
Cmd("sc stop DsmSvc");
Cmd("sc stop p2pimsvc");
Cmd("sc stop TrkWks");
Cmd("sc stop RpcLocator");
Cmd("sc stop SNMPTRAP");
Cmd("sc stop RemoteAccess");
Cmd("sc stop SessionEnv");
Cmd("sc stop UmRdpService");
Cmd("sc stop wercplsupport");
Cmd("sc stop SCPolicySvc");
Cmd("sc stop NcaSvc");
Cmd("sc stop swprv");
Cmd("sc stop PNRPsvc");
Cmd("sc stop CertPropSvc");
Cmd("sc stop Wecsvc");
Cmd("sc stop WinHttpAutoProxySvc");
Cmd("sc stop W32Time");
Cmd("sc stop StiSvc");
Cmd("sc stop fhsvc");
Cmd("sc stop FontCache");
Cmd("sc stop WMPNetworkSvc");
Cmd("sc stop PcaSvc");
Cmd("sc stop PNRPAutoReg");
Cmd("sc stop WerSvc");
Cmd("sc stop DeviceAssociationService");
Cmd("sc stop StorSvc");
Cmd("sc stop lltdsvc");
Cmd("sc stop AppMgmt");
Cmd("sc stop AxInstSV");
Cmd("sc stop EFS");
Cmd("sc stop YandexBrowserService");
Cmd("sc stop PlugPlay");
Cmd("sc stop TimeBrokerSvc");
Cmd("taskkill /f /im MSIAfterburner.exe");
Cmd("taskkill /f /im NAVSvc.exe");
Cmd("taskkill /f /im AppleMobileDeviceService.exe");
Cmd("taskkill /f /im taskeng.exe");
Cmd("taskkill /f /im Updater.exe");
Cmd("taskkill /f /im taskhostw.exe");
Cmd("taskkill /f /im SystemSettingsBroker.exe");
Cmd("taskkill /f /im GoogleUpdate.exe");
Cmd("taskkill /f /im wmpnetwk.exe.exe");
Cmd("taskkill /f /im mDNSResponder.exe");
Cmd("taskkill /f /im EgisUpdate.exe");
Cmd("taskkill /f /im NeroCheck.exe");
Cmd("taskkill /f /im soffice.exe");
Cmd("taskkill /f /im jqs.exe");
Cmd("taskkill /f /im reader_sl.exe");
Cmd("taskkill /f /im Osa.exe");
Cmd("taskkill /f /im OneDrive.exe");
Cmd("taskkill /f /im DeviceDetector.exe");
Cmd("taskkill /f /im GyStation.exe");
Cmd("taskkill /f /im ISUSPM.exe");
Cmd("taskkill /f /im pmmUpdate.exe");
Cmd("taskkill /f /im HotkeyUI.exe");
Cmd("taskkill /f /im HotkeyUtility.exe");
Cmd("taskkill /f /im LavasoftTcpService.exe");
Cmd("taskkill /f /im RIconMan.exe");
Cmd("taskkill /f /im SearchUI.exe");
Cmd("taskkill /f /im speedfan.exe");
Cmd("taskkill /f /im PnkBstrA.exe");
Cmd("taskkill /f /im RuntimeBroker.exe");
Cmd("taskkill /f /im StandardCollector.Service.exe");
Cmd("taskkill /f /im ASCService.exe");
Cmd("taskkill /f /im GameBarPresenceWriter.exe");
Cmd("taskkill /f /im UninstallMonitor.exe");
Cmd("taskkill /f /im smartscreen.exe");
Cmd("taskkill /f /im service_update.exe");
Cmd("taskkill /f /im Taskmgr.exe");
Cmd("taskkill /f /im sqlwriter.exe");
Cmd("taskkill /f /im GetVideo.exe");
Cmd("taskkill /f /im TextInputHost.exe");
Cmd("taskkill /f /im Microsoft.ServiceHub.Controller.exe");
Cmd("taskkill /f /im spoolsv.exe");

Проблема в том что при нажатии на кнопку программ зависает на 10 секунд+-, как можно убрать зависание?

Владимир, добрый день.
Настоятельно рекомендую пройти Мой курс по C#, потому что делая то, что делаете Вы – это бессмысленная трата своего и чужого времени, ресурсов компьютера, энергии электричества и т.д. Запуская CMD, Вы запускаете каждый Process.Start. Важно это понимать. Такой подход годится, когда нужно сделать самому себе DDOS-атаку или уничтожить Windows. Прежде, чем на C# писать код для Windows, стоит разобраться, как эта Windows устроена. И как работает CMD.

Вы не пошлёте в командную строку столько команд сразу, а по отдельности – это, мягко говоря – пиздец. Поэтому Вам нужно разбить список на несколько частей и слать всего 3 CMD, не более. PowerShell, к слову, также ограничен в символах однострочными командами, как и CMD, поэтому будьте готовы и к этому.

Также забавно то, что выполнение каждой процедуры ожидает завершения. Речь о WaitForExit. То есть Вы каждый раз инициализируете новый экземпляр cmd.exe, проворачиваете однотипную задачу и ждёте её выполнения, чтобы повторить точно такую же...

Можете не отвечать, потому что Вам сейчас нужно срочно бросить своё дело и пройти полностью курс по C#, данный Мной.

В любой непонятной ситуации переходи на beta  © Win 10 Tweaker

Спасибо, пошёл проходить курс.

Лайкнул XpucT
XpucT