Страница: 1 |
Страница: 1 |
Вопрос: Как найти процесс?
Добавлено: 28.11.05 13:53
Автор вопроса: artist
Подскажите пожалуйста, можно ли как нибудь просмотреть все работающие в данный момент процессы. И , если допустим, существеет (работает) в даный момент «calc.exe» выдать сообщение, допустим «calc.exe».
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 28.11.05 14:35
Да. Для этого нужно лишь немного уметь читать.
Пример из MSDN:
Imports System.Diagnostics
Imports System.ComponentModel
Namespace MyProcessSample
_
'/ <summary>
'/ Shell for the sample.
'/ </summary>
Public Class MyProcess
Public Sub BindToRunningProcesses()
' Get the current process.
Dim currentProcess As Process = Process.GetCurrentProcess()
' Get all instances of Notepad running on the local
' computer.
Dim localByName As Process() = Process.GetProcessesByName("notepad"
' Get all instances of Notepad running on the specifiec
' computer.
' 1. Using the computer alias (do not precede with "\\".
Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer"
' 2. Using an IP address to specify the machineName parameter.
Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0"
' Get all processes running on the local computer.
Dim localAll As Process() = Process.GetProcesses()
' Get all processes running on the remote computer.
Dim remoteAll As Process() = Process.GetProcesses("myComputer"
' Get a process on the local computer, using the process id.
Dim localById As Process = Process.GetProcessById(1234)
' Get a process on a remote computer, using the process id.
Dim remoteById As Process = Process.GetProcessById(2345, "myComputer"
End Sub 'BindToRunningProcesses
Public Shared Sub Main()
Dim myProcess As New MyProcess()
myProcess.BindToRunningProcesses()
End Sub 'Main
End Class 'MyProcess
End Namespace 'MyProcessSample
Номер ответа: 2
Автор ответа:
artist
Вопросов: 6
Ответов: 6
Профиль | | #2
Добавлено: 28.11.05 15:17
Это я и раньше читал, если бы знал как дальше, то не писал бы вопрос в форум.
Номер ответа: 3
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #3
Добавлено: 28.11.05 15:46
В вышеуказанном коде уже содержится ответ на ваш вопрос.
' computer.
Dim localByName As Process() = Process.GetProcessesByName("notepad"
Номер ответа: 4
Автор ответа:
artist
Вопросов: 6
Ответов: 6
Профиль | | #4
Добавлено: 28.11.05 16:58
Как и где в этом случае пишется условие для MessageBox ?
Это для меня это здесь не понятно.
Номер ответа: 5
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #5
Добавлено: 28.11.05 17:44
Почитайте какую-нибудь хорошую книжку. Например, "Эффективная работа: Visual Basic .NET", чтобы знать, что такое массив и как с ним работать.
Номер ответа: 6
Автор ответа:
K&M
ICQ: 225442067
Вопросов: 20
Ответов: 170
Профиль | | #6
Добавлено: 28.11.05 22:04
'Get all instances of Notepad running on the local
'computer
- Получить все процессы "Блокнота", запущенные на локальном комьютере.
Dim LocalByName as Process() = Process.GetProcessesByName("calc"
dim i as integer
if LocalByName is nothing then goto nxt
For i = 0 to Ubound(LocalByName)
msgbox(localByName.ProcessName)
Next
nxt:
Может так понятно?
Номер ответа: 7
Автор ответа:
artist
Вопросов: 6
Ответов: 6
Профиль | | #7
Добавлено: 29.11.05 16:50
to: K&M
Спасибо, спасибо, я уже разобрался.
Да и Павел объяснил - "доступнее не бывает", так что все ОК, тема закрыта.