Як використовувати клас process в
Іноді програмісту потрібно запустити іншу програму зі своєї програми. Для цієї мети підійде метод Start класу Process з простору імен System.Diagnostics. Як і багато інших методів в .NET, метод Start має кілька перевантажених версій. Вам потрібно лише вибрати найбільш підходящий варіант для виконання ваших завдань.
Запуск документа в зіставленої програмі
Якщо ви хочете показати текстовий файл в Блокноті, то просто напишіть:
Ви можете використовувати команду Shell і в VB.NET, але робити цього зовсім не варто.
Запуск браузера за замовчуванням
Якщо вам потрібно запустити браузер за замовчуванням за заданою посиланням, то використовуйте наступний код:
Створення і відправка листа
Якщо ви хочете більшої гнучкості при запуску іншої програми, то створіть об'єкт ProcessStartInfo, за допомогою якого зможете управляти поведінкою програми.
Якщо вам необхідний запуск програми з забороною на закриття свого застосування (В VB6 довелося б використовувати купу викликів Windows API), то використовуйте метод WaitForExit.
C допомогою класу Process можна не тільки запускати додатки, але і закривати їх за допомогою методу Kill.
Зверніть увагу, що на панелі інструментів з'явився компонент Process, який ви можете додати в свій проект і виконати багато завдань ще на етапі розробки, а не під час виконання програми.
Згорнути все програми Блокнот
За допомогою методу Process.GetProcessesByName можна отримати список всіх запущених екземплярів Notepad.exe і застосувати до них будь-які дії. Наприклад, ми хочемо звернути всі запущені програми Блокнот.
У наведеному прикладі спочатку отримуємо список запущених процесів Notepad, а потім за допомогою функцій Windows API звертаємо всі виявлені вікна Блокнота.
Непомітний »запуск зовнішніх процесів
Іноді виникає необхідність запустити зовнішній процес, отримати від нього будь-які дані (або просто дати йому можливість відпрацювати) і потім його закрити. Однак зовнішній процес стає видно користувачеві (часто це можна спостерігати при роботі інсталяторів). А ось щоб запустити зовнішній процес непомітно для користувача, треба в класі налаштувань запуску процесу ProcessStartInfo властивості WindowStyle привласнити значення ProcessWindowStyle.Hidden.
Наприклад, ви можете запустити Блокнот як прихований процес:
Але в цьому випадку потрібно бути обережним, так як неправильне використання цієї можливості може призвести до сумних наслідків.
Нижче представлений невеликий приклад «непомітного» запуску процесів, який запускає утиліту Reg.exe і робить бекап гілки реєстру HKEY_CLASSES_ROOT \ mailto в файл.
Підвищення рівня привілеїв в Windows Vista
Щоб підвищити рівень привілеїв в Windows Vista через системне діалогове вікно UAC, використовуйте наступне:
У наведеному прикладі показано, як можна запускати новий процес з підвищеними привілеями.