|
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
|
|||||||||||
Отключение процессов (пишу диспетчер )20.03.2010, 21:48. Показов 10786. Ответов 12
Метки нет (Все метки)
Пытаюсь создать свой диспетчер задач - и на первых попытках столкнулся с постоянно возникающим исключением "нет доступа". Причем через виндовосовсий диспетчер все процы нормально вырубаются - (те что нельзя плюс те что нужны мне я внес в список исключений.) Причем исключение это вчера например особо не вылазило - и процессы у меня нормально отрубались, а сегодня опять двадцать пять.
Наверняка кто то пытался делать что то подобное - поэтом жду любых советов. Подвопрос: как удалить из комбо бокса элемент после того как процесс был выбран и отключен (в ручном режиме и когда все разом) Можно конечно делать полную очистку коллекции элементов и заново загружать список имеющихся процессов - но ведь можно и по нормальному сделать?
Неужели никто не в курсе? я тут же понял как удалять элементы из ComboBox - combo.Items.Remove(combo.SelectedItem) - так удаляется выделенный элемент - что мне и надо. Однако хотя само по себе это работает - вставка этого кода в функцию private void combo_Selected после цикла - функция отключает процесс при выборе элемента в диспетчере - приводит к исключению что в экземпляре не задана ссылка на объект
Добавлено через 1 час 48 минут Ладно. И с этим разобрался. Нельзя ставить вызов функции на событие изменения в селекторе - так как лишний вызов получаем при удалении элемента. Отсюда и исключение. НО все таки что делать с исключением Отказано в доступе? Почему некоторые процессы нормально отключаются, а некоторые категорически не хотят - хотя при этом тут же нормально отключаются через диспетчер задач? Люди - ну хоть кто-нибудь знает в чем тут дело?
0
|
|||||||||||
| 20.03.2010, 21:48 | |
|
Ответы с готовыми решениями:
12
Диспетчер процессов(удаление процесса) Диспетчер процессов не выводит информацию в DataGridView |
|
10 / 12 / 2
Регистрация: 13.01.2010
Сообщений: 363
|
|
| 21.03.2010, 14:52 | |
|
хм, я не знаю как это может тебе помочь, но вот тебе пример:
У меня на ноуте стоит виста, и она блокировала скайпу доступ к микрофону. Я просто открыл свойства екзешника и поставил права скайпу на "разрешить все". Может у тебя также получится сделать?)))
0
|
|
|
26 / 25 / 2
Регистрация: 26.02.2010
Сообщений: 96
|
|
| 21.03.2010, 17:02 | |
|
может попробовать запустить вашу программу от имени администратора?
0
|
|
|
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
|
|
| 21.03.2010, 18:05 [ТС] | |
|
R@Z()r,
в том и дело для того чтобы в экзешнике была такая настройка нужно как я понимаю изначально ее в коде прописать - то есть опять приходим к проблеме разрешения доступа к системным процессам программно. Frozzeg, как запустить дебаговую версию (отладка идет в Visual Studio Express) от имени администратора? не понимаю... Исключение вылазит при вызове метода Kill() к процессу или группе процессов. В MSDN написано что такая ошибка Win32Exception может быть следствием следующих моментов: Связанный процесс не мог быть завершен. или Этот процесс закрывается. или Связанный процесс является исполняемым файлом Win16. Кто бы все это расшифровал? И еще цитата: "После вызова метода Kill следует вызвать метод WaitForExit для ожидания завершения процесса" Как это метод применить к группе процессов не понял...
0
|
|
|
10 / 10 / 4
Регистрация: 07.12.2009
Сообщений: 31
|
|
| 21.03.2010, 21:50 | |
|
0
|
|
|
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
|
||||||
| 22.03.2010, 00:41 [ТС] | ||||||
|
ReliableS,
"Теория мой друг суха но зеленеет жизни древо..." Примерчик бы кто дал. Вот код - слегка измененный - который у меня отключает все процессы
0
|
||||||
|
10 / 10 / 4
Регистрация: 07.12.2009
Сообщений: 31
|
||||||||
| 22.03.2010, 13:14 | ||||||||
|
Без студии набросал для тебя примерчик. Допустим у тебя есть checkedListBox.
P.S. Массив proc можно объявить, но не инициализировать, вне процедур - public. И инициализировать только при обновлении списка. Так наверно будет лучше.
0
|
||||||||
|
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
|
||||||
| 22.03.2010, 13:50 [ТС] | ||||||
|
ReliableS,
Попробуйте это проверить. И все поймете. Во первых нельзя вот так как вы все процессы отрубать (попробуйте вручную проводник отрубить - он еще как отрубится однако комп тут же пойдет на перезагрузку) - нужно сделать список процессов которые отключать нельзя. Я сделал. Во вторых система все равно откажет вам в доступе для отключения некоторых процессов. В этом и проблема. В остальном наши кода идентичны. Добавлено через 30 минут вот мой код (плюс некоторые варианты)
0
|
||||||
|
10 / 10 / 4
Регистрация: 07.12.2009
Сообщений: 31
|
|||||||||||||
| 22.03.2010, 20:21 | |||||||||||||
|
* пусть есть textbox1
0
|
|||||||||||||
|
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
|
|
| 22.03.2010, 21:21 [ТС] | |
|
ReliableS,
Ну сделал я ловлю ошибки отключения процесса в коде отключающем группу процессов - но это паллиатив. В итоге получаю уведомления шесть раза подряд - шесть процессов не хотят отключаться -и это никуда не годится. Так как через диспетчер они отключаются махом и без последствий для системы. Реальное решение - в области получения всех прав на процессы. Неужели никто не в курсе как их получать?
0
|
|
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
| 23.03.2010, 00:14 | |
|
0
|
|
|
146 / 118 / 8
Регистрация: 09.03.2010
Сообщений: 150
|
|
| 24.03.2010, 14:37 [ТС] | |
|
Alligieri,
Спасибо за совет, но пока так и не смог разобраться как наделить свой код правами админа. Та же фигня у меня происходит с перезаписью реестра. создаю свой подраздел, пишу туда значения - все норм. Удаляю созданный подраздел - все норм. Создаю заново - и пытаюсь удалить не сам подраздел, а только значения - возникает исключение UnauthorizedAccessException. При этом у меня вверху кода стоит [assembly: RegistryPermissionAttribute(SecurityActi on.RequestMinimum, ViewAndModify = "HKEY_CURRENT_USER")] что по идее дает разрешение на перезапись указанного раздела. В общем кто знает в чем тут дело - пожалуйста отпишитесь. И по ходу возник еще одни мелкий вопрос: как получить заголовки все окон процесса? Поясняю: есть метод MainWindowTitle который возвращает заголовок главного окна процесса. Но к примеру у меня на компе открыт Notepad++ ,Визуал Студио Эксперсс, моя прога и Мозилла с кучей открытых вебстраниц. Данный метод возвращает мне заголовки Notepad++ ,Визуал Студио Эксперсс, моя прога +верхнее окно Mozilla Firefox. Лезу в диспетчер задач винды в раздел приложения и вижу там заголовки всех открытых мною окон Mozilla Firefox - 18 штук. Как это сделать как там? чтобы все окна активных процессов получить?
0
|
|
|
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
|
|
| 24.03.2010, 14:50 | |
|
1 вопрос = 1 тема
0
|
|
| 24.03.2010, 14:50 | |
|
Помогаю со студенческими работами здесь
13
Диспетчер процессов Диспетчер процессов Наход процессов в диспетчер задач Диспетчер задач показывает более сотни процессов rundll32.exe Отключение ненужных процессов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|