Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Как найти процесс? Добавлено: 28.11.05 13:53  

Автор вопроса:  artist
Подскажите пожалуйста, можно ли как нибудь просмотреть все работающие в данный момент процессы. И , если допустим, существеет (работает) в даный момент «calc.exe» выдать сообщение, допустим «calc.exe».

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 28.11.05 14:35
Да. Для этого нужно лишь немного уметь читать.
Пример из MSDN:

Imports System
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-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 28.11.05 15:46
В вышеуказанном коде уже содержится ответ на ваш вопрос.

         ' Get all instances of Notepad running on the local
         ' 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-сайт: www.vbnet.ru
 Профиль | | #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
Спасибо, спасибо, я уже разобрался.
Да и Павел объяснил - "доступнее не бывает", так что все ОК, тема закрыта.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам