Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Убиваение процесса, Как убить запущенный процесс? 
:(
    Опции темы
EgoBrain
Дата 4.11.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: 1
Всего: 2



Сразу говорю поиск не помог smile Как в C# получить ID процесса и убить его? И еще вопрос экспронтом: как проверить было ли обращение к файлу?
PM MAIL ICQ Skype   Вверх
Bogdan1024
Дата 4.11.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 3
Всего: 13



Следить за обращениями к файлу можно с помощью класса FileSystemWatcher . Если нужно узнать обращались ли к файлу до того как ты заюзал этот класс, то нужно включать слежение за файлом у самой операционки, что тебе вряд ли надо.

Добавлено через 2 минуты и 8 секунд
Про процессы: погугли System.Diagnostics.Process
У него есть метод Kill


--------------------
user posted image
PM MAIL   Вверх
Experimenter
Дата 5.11.2008, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 8.5.2007
Где: Уфа

Репутация: 4
Всего: 17



Bogdan1024, насколько помнится, FileSystemWatcher не следит за обращениями к файлу, только создание, удаление, переименование и изменение. Или следит? Есть альтернатива: 
Код

File.GetLastAccessTime(string path);
только сам не юзал никогда, не знаю, насколько она эффективна.



--------------------
public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){
    if(zlo1 < zlo2) return zlo1;
    else if(zlo1 > zlo2) return zlo2;
    else throw new Exception("Kill yourself by the wall"); }
PM WWW ICQ   Вверх
Bogdan1024
Дата 5.11.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 3
Всего: 13



Ааа, точно, именно за обращениями не факт что следит.
Ну тогда можно посмотреть в сторону WMI - оно-то наверняка такой инфой владеет.
А использование Last Access Time можно кстати отключить. Кстати, не помню, оно включено по умолчанию или нет.


--------------------
user posted image
PM MAIL   Вверх
Darisvet
Дата 9.11.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.11.2008

Репутация: нет
Всего: нет



Код

Process[] pList = Process.GetProcesses();

      foreach (Process p in pList)
      {
           if (p.ProcessName == "explorer")
                 p.Kill();
      }



И ещё - в этом один прикол есть - имя обычно задаётся без расширения exe - список процессов выводится в таком вот долбанутом порядке... Но если расширение не ехе - то будет выводиться с расширением, типа LMCGate.run короче если по поиску не идёт сразу - то попробуйте отладочно вывести мессадж бокс со списком всех процессов: string tmp = ""; и в цикле tmp = tmp + p.ProcessName + "\n"; потом в метод MessageBox.Show(tmp); - всё ясно станет... Как раз аналогичной приблудой занимаюсь...

Это сообщение отредактировал(а) Darisvet - 9.11.2008, 16:50
PM MAIL   Вверх
EgoBrain
Дата 10.11.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: 1
Всего: 2



Цитата

И ещё - в этом один прикол есть - имя обычно задаётся без расширения exe - список процессов выводится в таком вот долбанутом порядке... Но если расширение не ехе - то будет выводиться с расширением, типа LMCGate.run короче если по поиску не идёт сразу - то попробуйте отладочно вывести мессадж бокс со списком всех процессов: string tmp = ""; и в цикле tmp = tmp + p.ProcessName + "\n"; потом в метод MessageBox.Show(tmp); - всё ясно станет... Как раз аналогичной приблудой занимаюсь...


Спасибо. Process - похоже хороший класс. Как снова перейду к этой задачи обязательно его гляну.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.