|
Программирование >> Автоматически обновляемые приложения
.Листинг 9,11. Получение списка всех процессов, запущенных в системе using System.Diagnostics; private void Forml Load(object sender, EventArgs e) { foreach (Process p in Process.GetProcesses()) listBoxl.Items.Add(p.ToString 0); Как получить список только оконных процессов на моей машине? Можно получить список только оконных процессов, если проверять свойство MainWindowHandle (ЛИСТИНГ 9.12). Мы также передаем методу GetProcesses имя компьютера, в этом случае равное значению свойства System. Environment .MachineName. Результат показан на рис. 9.1. Mi Процессы jSystem.Diagnostics iSystem.DiagnostJcs : System Diagnostics System.Diagnostics System.Diagnostics System.Diagnostics. System Diagnostics System Diagnostics, System Diagnostics Process (devenv) Process (msimn) Process (explorer) Process (SPDIALER) .Process {notepad) .Process (Abilon) .Process (Windows>A.pplication 1 .Process (lexplore) .Process iVVINWORD) Процессы для IE i Оконные процессы Процессы на удаленной машине Рис. 9.1. Получение списка оконных процессов ; Листинг 9,12. Получение списка оконных процессов private void butWindowProcess Click(object sender, EventArgs e) { listBoxl.Items.Clear(); foreach (Process p in Process.GetProcesses(System.Environment.MachineName)) if (p.MainWindowHandle != IntPtr.Zero) { Оконные приложения listBoxl.Items.Add(p.ToStringО); Как получить список определенных процессов? Можно получить список определенных процессов. Например, в листинге 9.13 мы получаем процессы, связанные с браузером Internet Explorer. Ш:........r7:;;v-r w ................г...................г................. ......:........................................ ;Лиетинг9лЗсПолучение списка определенных процессов using System.Diagnostics; private void butProcessIE Click(object sender, EventArgs e) { Очистим список listBoxl.Items.Clear(); Получим СЦИСОК процессов, связанных с Internet Explorer foreach (Process p in Process.GetProcessesByName( iexplore )) listBoxl. Items. Add (p. ToStringO ) ; Получение списка процессов на удаленной машине Можно также получить информацию об определенных процессах и на удаленной машине, используя перегруженную версию метода GetProcessesByName, В котором надо указать имя удаленной машины без обратных двойных косых черт (\\). Например, в следующем примере (листинг 9.14) мы пытаемся получить список Блокнотов, запушенных на удаленной машине skynet. Листинг 9.14. Получение процессов на удаленной машине using System.Diagnostics; private void butRemoteProcess Click(object sender, EventArgs e) { Очистим список listBoxl.Items.Clear() ; Получим список процессов notepad на удаленной машине skynet foreach (Process p in Process.GetProcessesByName( notepad , skynet )) listBoxl.Items.Add(p.ToString0); Как открыть почтовый клиент, установленный по умолчанию, и установить необходимые параметры для отправки письма? Продолжим опыты с классом Process. Предположим, МЫ хотим предусмотреть в нашей программе возможность отправки письма автору программы, в котором пользователь может высказать все, что он думает об авторе и его великолепном (или ужасном) творении. Для начала надо сформировать необходимые атрибуты для отправки письма (листинг 9.15). Далее нужно использовать команду MaiiTo для запуска почтового клиента с подготовленным письмом. Минимальный синтаксис такой команды должен выглядеть следующим образом: МаИТо:emaii@addressi.com. Кроме ТОГО, МОЖНО Задавать дополнительные параметры, перечисленные в табл. 9.1. Таблица 9.1. Правила формирования письма
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |