Member 13536047 Ответов: 2

Убить процесс по названию


hello every one 
i want to kill specific process by title name coz ppl with this apps can stole my app codes also if i kill it by proccess name they can change the application process name and run it again so i use to kill app by title coz title can't be changed so i use this code
Process[] processes = Process.GetProcesses(); 
foreach (Process process in processes)
                {
                    if (process.MainWindowTitle.Contains("Spy"))
                    {
                    if (!process.HasExited) process.Kill();
                                                        } 

to kill all proccess with title spy and it's works very good but it's work only for one time so if i use it 1 time i can't use it again i have to close full application and run it again to use it one more time so wat is the problem with code so i can use it on timer and run all time when my app is working and kill the app if started at any time i hope i found help here and thx in advance


Что я уже пробовал:

я пробую много вещей но все они дают одинаковые результаты все еще могу использовать код только один раз

2 Ответов

Рейтинг:
2

CPallini

Вы можете периодически выполнять эту задачу с помощью таймера (см. Класс Таймера (System.Таймеры) | Microsoft Docs[^]) но... Вы действительно уверены, что вам это нужно?


Member 13536047

я сделал это по таймеру, но и запустить только 1 раз

CPallini

Пример кода на связанной странице показывает вам, как настроить таймер, который периодически вызывает обработчика.

Рейтинг:
0

OriginalGriff

Во-первых, если вы полагаетесь на "заголовки windows" для идентификации "мошеннических процессов", то вас ждет огромный шок: заголовки могут быть изменены по желанию, и было бы очень наивно предполагать, что все мошеннические программы будут содержать слово "шпион" в заголовке окна.

Во-вторых... процесс вообще не обязательно должен иметь окно - в windows есть огромное количество процессов, которые не имеют главного окна, а следовательно, и заголовка, и не обнаруживаются вашим кодом.

В-третьих... Просто поиск любых трех букв в любой информации о процессе не очень поможет вам - это ужасно вероятно вызовет "ложные срабатывания" и закроет невинные процессы.

В четвертых ... вы не можете убить ни один процесс - он может быть запущен под другим пользователем, у вас может не быть необходимых разрешений ...

И наконец: проблема, которую вы заметили. Мы не можем помочь, не имея возможности увидеть, что произошло, когда вы попытаетесь - мы понятия не имеем, как вы вызываете этот код, и это, вероятно, будет важно для всей операции. Я настоятельно рекомендую использовать отладчик, чтобы точно узнать, что происходит при втором выполнении этого кода и что изменилось с момента первого запуска.
Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!


Member 13536047

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

OriginalGriff

Мы не можем дать вам "небольшое исправление сейчас", потому что оно требует информации, которую вы можете получить только путем отладки, чтобы иметь шанс "исправить это".

Отладка - это навык, который любой, кто пишет код сложнее, чем "Hello World", должен был бы развить по крайней мере зачатки-это основная часть разработки, как правило, гораздо более длительная, чем собственно написание кода.
И мы не можем отладить его для вас: ему нужен полный код для вашего приложения, работающего на машине под отладчиком, чтобы начать его использовать (хотя вы можете применить навыки без самого отладчика, что занимает значительно больше времени и требует повторных изменений кода, перекомпиляции, повторного запуска циклов, чтобы получить то, что отладчик может сказать вам за считанные секунды).

Так что разбейте отладчик, изучите основы его использования в Google и начните смотреть на то, что происходит. Серьезно, мы не можем сделать это для вас (если вы не хотите платить за авиабилеты, отели, еду, выпивку и довольно-огромную-но-вполне-разумную почасовую ставку?)

Member 13536047

это нормально в любом случае thx u много я буду смотреть в мою проблему больше и попытаться узнать :)

OriginalGriff

:большой палец вверх: