Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: RiizkO en 25 Noviembre 2015, 22:19 pm



Título: Una ayudita pls
Publicado por: RiizkO en 25 Noviembre 2015, 22:19 pm
Hola.

Soy nuevo en el foro tanto como en la programación, veo que el foro es muy bueno y dan muy buen soporte (ojalá me traten bien :P), tengo una duda,

Quisiera poner en mi programa que si un .exe cualquiera, ejemplo: CCleaner.exe si un exe se este corriendo, yo tengo que pinchar el button y en mi programa me salte un messagebox diciendo que me esta corriendo y si no un mensaje de advertencia que me salga que NO esta corriendo


Título: Re: Una ayudita pls
Publicado por: Eleкtro en 25 Noviembre 2015, 22:56 pm
Hmmm... creo que no está del todo claro lo que quieres hacer.

Si pretendes hacer una comprobación puntual para averiguar si al menos existe un proceso corriendo con nombre "X", entonces puedes utilizar la Class Process (entre otras alternativas):

Código
  1. Dim isRunning As Boolean = Process.GetProcessesByName("CCleaner", ".").Any
  2.  
  3. Select Case isRunning
  4.  
  5.    Case True
  6.        MessageBox.Show("El proceso está en ejecución.", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
  7.  
  8.    Case Else
  9.        MessageBox.Show("El proceso no se encontró.", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
  10.  
  11. End Select

En cambio, si pretendes monitorizar cuando un proceso es iniciado en el sistema y cuando se mata, es un pelín más complicado, puedes hacerlo con un Timer o con los eventos del instrumental de windows (WMI) ManagementEventWatcher. Si necesitas un ejemplo pídelo.

Saludos