Зависает программа при использовании cmd [Решено]
Цитата: Владимир от 07.03.2021, 18:36Добрый день, делаю программу которая при нажатии на кнопку будет завершать службы, процессы. Для этого использую такой код:
[spoiler]
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");[/spoiler]
Проблема в том что при нажатии на кнопку программ зависает на 10 секунд+-, как можно убрать зависание?
Добрый день, делаю программу которая при нажатии на кнопку будет завершать службы, процессы. Для этого использую такой код:
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 секунд+-, как можно убрать зависание?
Цитата: XpucT от 07.03.2021, 18:47Владимир, добрый день.
Настоятельно рекомендую пройти Мой курс по C#, потому что делая то, что делаете Вы – это бессмысленная трата своего и чужого времени, ресурсов компьютера, энергии электричества и т.д. Запуская CMD, Вы запускаете каждый Process.Start. Важно это понимать. Такой подход годится, когда нужно сделать самому себе DDOS-атаку или уничтожить Windows. Прежде, чем на C# писать код для Windows, стоит разобраться, как эта Windows устроена. И как работает CMD.Вы не пошлёте в командную строку столько команд сразу, а по отдельности – это, мягко говоря – пиздец. Поэтому Вам нужно разбить список на несколько частей и слать всего 3 CMD, не более. PowerShell, к слову, также ограничен в символах однострочными командами, как и CMD, поэтому будьте готовы и к этому.
Также забавно то, что выполнение каждой процедуры ожидает завершения. Речь о WaitForExit. То есть Вы каждый раз инициализируете новый экземпляр cmd.exe, проворачиваете однотипную задачу и ждёте её выполнения, чтобы повторить точно такую же...
Можете не отвечать, потому что Вам сейчас нужно срочно бросить своё дело и пройти полностью курс по C#, данный Мной.
Владимир, добрый день.
Настоятельно рекомендую пройти Мой курс по C#, потому что делая то, что делаете Вы – это бессмысленная трата своего и чужого времени, ресурсов компьютера, энергии электричества и т.д. Запуская CMD, Вы запускаете каждый Process.Start. Важно это понимать. Такой подход годится, когда нужно сделать самому себе DDOS-атаку или уничтожить Windows. Прежде, чем на C# писать код для Windows, стоит разобраться, как эта Windows устроена. И как работает CMD.
Вы не пошлёте в командную строку столько команд сразу, а по отдельности – это, мягко говоря – пиздец. Поэтому Вам нужно разбить список на несколько частей и слать всего 3 CMD, не более. PowerShell, к слову, также ограничен в символах однострочными командами, как и CMD, поэтому будьте готовы и к этому.
Также забавно то, что выполнение каждой процедуры ожидает завершения. Речь о WaitForExit. То есть Вы каждый раз инициализируете новый экземпляр cmd.exe, проворачиваете однотипную задачу и ждёте её выполнения, чтобы повторить точно такую же...
Можете не отвечать, потому что Вам сейчас нужно срочно бросить своё дело и пройти полностью курс по C#, данный Мной.
Цитата: Владимир от 07.03.2021, 18:51Спасибо, пошёл проходить курс.
Спасибо, пошёл проходить курс.