Программирование >>  Автоматически обновляемые приложения 

1 ... 89 90 91 [ 92 ] 93 94 95 ... 170


.Листинг 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. Правила формирования письма

Возможность

Синтаксис

Несколько получателей письма

emaillgsite . com, email2(asite2 . com

(адреса разделяются запятыми)

Добавление текста в тему письма (Subject)

?subject=Bam текст для темы письма



1 ... 89 90 91 [ 92 ] 93 94 95 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика