|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
||||||
Завершение процесса при обнаружении другого процесса21.04.2011, 15:38. Показов 12214. Ответов 15
Метки нет (Все метки)
Здравствуйте.
Люди добрые подскажите пожалуйста как мне быть. Есть приложение которое следит за процессами в диспетчере, запущены 2 процесса - процесс1 и процесс2, если запускаем программу то она проверяет наличие процесса1, и если процесс1 запущен то проверяет есть ли процесс2 и если есть завершает его. Бьюсь как рыба об лед не понимаю в чем дело, вот код:
ЗЫ. Не нашел подобных тем больше.
0
|
||||||
| 21.04.2011, 15:38 | |
|
Ответы с готовыми решениями:
15
Корректное завершение стороннего процесса
Завершение процесса Excel после обработки файла |
|
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
|
||||||
| 21.04.2011, 16:09 | ||||||
2
|
||||||
|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
|
| 22.04.2011, 11:57 [ТС] | |
|
Огромнейшее человеческое спасибо!!!!!
Добавлено через 19 часов 13 минут Ув. ArtOfLife а не могли бы Вы еще подсказать как заставить находить не полное имя процесса а частивное, например "note" вместо "notepad" и чтобі завершались все процессі со словами "note". Спасибо. Добавлено через 16 минут И почему неработает перечисление если я хочу завершать несколько процессов, "notepad" , "AIMP2".
0
|
|
|
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
|
||||||
| 22.04.2011, 15:20 | ||||||
1
|
||||||
|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
|
| 22.04.2011, 17:40 [ТС] | |
|
Спасибо огромное еще раз!!!
Неловко Вас эксплуатировать, просто спрошу, возможно ли вообще реализовать следующее: Есть программа prog.exe (моя программа) она следит за процессом Х если в процессах появляются вредные приложения или взломщики то программа завершает процесс Х который может поддвергнуться взлому. Проблема в том что если убить prog.exe то можно спокойно запустить взломщик и напасть на защищаемый Х. Так вот - возможно ли вообще сделать чтобы если убивают prog.exe то также завершался и процесс Х, и наоборот - если завершить Х то также и нужно завершить мою программу prog.exe потому что следить незачем. Теоретически можно написать .dll который будет загружаться вместе с prog.exe и при завершении процесса prog.exe .dll будет завершать и Х, ну и соотв. наоборот, возможно ли так, или есть другие варианты реализации данной нужды? Мне хотя бы подсказки какие-то, на вести на мысль, потому что код думаю большой будет. Знаю что тут возможно понадобятся перехват АПИ функций, или поиск по хэндлу приложений, возможно ли получить отклык от програмы если ее просто убить, чтобы потом используя этот отклик завершить Х или prog.exe? Если нет то значит нет Вы мне и так здорово помогли. Спасибо!Добавлено через 20 минут ЗЫ. Я перепутал, мне нужно было не закрывать много процессов изза одного а закрывать всегда один и тот же процесс при наличии нескольких других но всеравно спасибо!
0
|
|
|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
|
| 24.04.2011, 17:46 [ТС] | |
|
Неполучается переделать код чтобы закрывать один и тот же процесс при появлении многих, пишет ToLower не может быть в текущем контексте
0
|
|
|
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
|
||
| 26.04.2011, 12:16 | ||
|
По остальным вопросам... 1) Как вы собираетесь определять наличие в списке процессов вредоносных приложений? По названию? Или вы решили написать свой антивирус? 2) Допустим, вы все же нашли способ определения вредоносных приложений в списке ваших процессов... Тогда закиньте все это в службу и производите опрос списка процессов по таймеру. Нашли вирус, закрыли ваше ПО. Хотя, затея сама по себе глупая, ибо если уж нормальный вирус появился в списке процессов и вы об этом узнали уже постфактум, то скорее всего ваше ПО уже заражено, и смысла в его закрытии нет никакого. В общем, если хотите защитить свое ПО, то сделайте селф-дефенс механизм, который будет работать на уровне перехвата API-функций с попытками обращения к вашему процессу. Либо поиграйтесь с привилегиями. В общем, задача далеко нетривиальная. Да и C# тут совершенно не подходит.
1
|
||
|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
|||
| 26.04.2011, 16:18 [ТС] | |||
Вы правильно говорите я так и сделал таймер, опрос списка...На самом деле я хочу защитить игру, для игры существуют 2-4 взломщика имена процессов которых извесны, это довольно несложно поскольку нет никаких вирусов просто есть готовые взломщики, я пишу маленькую програмку которая висит в памяти и если появляется этот проесс взлома игры то игру надо закрыть. Для этого думаю вполне хватит же и C#. Вы мне вон помогли за что большое Вам спасибо, просто у меня осталось 3 проблем - мне нужно было сделать так чтобы при закрытии игры закрывалась и моя программа, и наоборот, чтобы если уничтожить процесс программы моей закрывалась и игра, чтобы предотвратить появление копий процессов ну и проблем связанных с этим, думал тут подойдет .dll или чтото в єтом роде...Ну и Ваш код только наоборот) чтобы закрывать всегда один процесс игры если найдется хотя бы один из 4х взломщиков)Я почти все сделал по таймеру происходит проверка наличия процессов взломщиков только вот нужно завершать не несколько процессов а один при появлении хотябы одного из 4х взломщиков, так как в памяти могут быть 2 или 3 взломщика вот нужно найти каждый и если таковой имеется закрыть игру ну и чтобы одновременно с ней закрылась и моя програмка. Если Вам не сложно то подскажите пожалуйста хотябы только по завершению процесса при выявление одного из 4х взломщиков. Извините что повторяюсь, просто уже не знаю что придумать.
0
|
|||
|
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
|
|||||||||||
| 26.04.2011, 23:06 | |||||||||||
|
Как пример, создайте службу с ниже подобным кодом:
А если и додумается, то тут скорее всего вклинится антивирус, который сам прихлопнет злодея за попытку осуществления диверсии в системе. ![]() П.С. Зачем убивать наблюдателя вместе с игрой? Пусть висит постоянно в качестве службы.
1
|
|||||||||||
|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
|||||||
| 27.04.2011, 01:07 [ТС] | |||||||
|
Спасибо
Мне почемуто неприходило в голову сделать все в виде службы...Все очень понятно единственное немогу опробовать и настроить службу так как пишет ошибку, пробовал во всех версиях .NET 2.0/3.0/3.5/4.0
![]() Добавлено через 14 минут ЗЫ. У меня visual studio 2010 может проблема в версиях? Ваш код вставлял в Service1.cs а ошибка появляется в Servise1.Designer.cs.
0
|
|||||||
|
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
|
|
| 27.04.2011, 12:02 | |
|
Так вы ведь названия неймспейса и класса службы не переименовали в соответствии с моим примером. Конечно, ведь мои ProcessWatcher и ProcessWatcherService != вашим WindowsService7 и Service1.
![]() После компиляции установить службу можно следующим образом: 1) В командной строке переходим в C:\WINDOWS\Microsoft.NET\Framework\верси я фреймворка вашего приложения\. 2) Для установки службы дописываем: InstallUtil.exe "c:\myservice.exe", естественно заменяя путь и название исполняемого файла вашим собственным. Для удаления службы используйте следующий синтаксис: InstallUtil.exe /u "c:\myservice.exe". П.С. У меня тоже 2010 студия и семерка х64. Так что проблема явно не версиях. Ах да, еще не забудьте встроить в проект инсталлер для службы: правой кнопкой в дизайнере, там найдете соответствующий пункт. Потом настроете его - мелочи вроде названия, описания, отображаемого имени, типа запуска и т.п.
1
|
|
|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
|
| 27.04.2011, 14:47 [ТС] | |
Как я сразу недогадался то, ведь названия разные, точно, попробую все как Вы сказали, я только думаю как принудительно установить службу у пользователя на коспьютере? Возможно ли так вообще? Например я могу использовать install shield который поддерживает С# написать функцию которая будет устанавливать службу пользователю во время иснсталяции игры, или может лоадер который при запуске игры будет устанавливать службу? Как лучше будет реализовать?ЗЫ. У меня тоже 7ка х64 и visual 2010 Ultimate ![]() ЗЫ2. Просто я сейчас не дома как прийду сразу попробую все исправлю, установлю. ЗЫ3. А вообще у меня сначала было консольное приложения которое прятало себя сразу после запуска в нем был таймер и функция сканировани процесов и все остальное, несомненно Ваш способ куда интереснее и лучше. Добавлено через 2 часа 31 минуту Странно, при установке службы требует имя пользователя и пароль вводил и новые и данные входа в систему пароль/имя все время пишет что неправильные данные и установка откатывается.
0
|
|
|
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
|
|
| 27.04.2011, 18:43 | |
|
Лучше конечно устанавливать службу при установке самой игры. Пользователь вряд ли будет ставить игру не под администратором системы, так что проблем быть не должно.
Вы инсталлер добавили в проект? Вот в настройках serviceProcessInstaller, в поле Account видимо стоит User. Нужно ставить LocalSystem.
1
|
|
|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
|
| 28.04.2011, 01:51 [ТС] | |
|
Огромное Вам спасибо за все, все получилось и со всем окончательно разобрался, появится монетка я вернусь, найду Вас и отблагодарю))))) Спасибо!!! Но вдруг если что спрошу еще)
0
|
|
|
2 / 2 / 0
Регистрация: 21.04.2011
Сообщений: 60
|
||
| 29.04.2011, 13:41 [ТС] | ||
|
Я извиняюсь еще раз, уперся в Ваш код:
Добавлено через 22 минуты Добавил референс System.ServiceProcess, тогда ругается на код, а референса System.ServiceController нету вродебы. Добавлено через 34 минуты Мои ошибки, разобрался.
0
|
||
|
0 / 0 / 0
Регистрация: 21.07.2011
Сообщений: 61
|
|||||||
| 24.08.2011, 10:09 | |||||||
0
|
|||||||
| 24.08.2011, 10:09 | |
|
Помогаю со студенческими работами здесь
16
Ошибка "appcrash kernelbase.dll" при запуске другого процесса
Вызов функции другого процесса (неверные регистры)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|