Título: Listar procesos y rutas en ListBox Publicado por: dust564 en 6 Junio 2015, 23:54 pm Se me ha ocurrido una idea, pero buscando en internet solo he encontrado información aplicable a versiones bastante antiguas de visual basic o código inservible.
Idea: Al activarse un evento (pulsar un botón o por el tiempo de un timer, por ejemplo) el programa carga en un ListBox la ruta de todos los archivos en ejecución. Luego genera un hash de cada archivo y busca si el hash existe en otro ListBox. Si existe, cierra el proceso. Es decir, que compruebe si un ejecutable está en una "lista negra" Lo que no se hacer: -> Listar los procesos y sus rutas en un ListBox -- Salu2 Título: Re: Listar procesos y rutas en ListBox Publicado por: Eleкtro en 7 Junio 2015, 02:29 am ¿Estás compilando la app bajo x86, x64, o neutral?.
¿Alguna limitación en la versión objetivo de .Net framework? (-LINQ) ¿C#, Vb.Net, o cualquiera de los dos?, no somos adivinos. Puedes utilizar la Class "Process": Código
Y, si estás desarrollando la app para arquitectura x86, para comunicarte con los procesos x64 puedes realizar una consulta a WMI (Windows Management Instrumentation): ➢ Win32_Process class (Windows) - MSDN (https://msdn.microsoft.com/en-us/library/aa394372%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396) Código
Nota: Recuerda que la Class "ManagementObjectCollection" es Disposable. También puedes utilizar las funciones de la API de Windows: ➢ Process Walking - MSDN (https://msdn.microsoft.com/en-us/library/ms684887%28v=VS.85%29.aspx) ➢ PSAPI Functions - MSDN (https://msdn.microsoft.com/en-us/library/ms684894%28v=vs.85%29.aspx) (de esto no pongo un ejemplo ya que no tengo ...pero por Google debe haber; y elaborarlo me costaría el esfuerzo de escribir aproximadamente +1.000 lineas de P/Invoking) Saludos! Título: Re: Listar procesos y rutas en ListBox Publicado por: nolasco281 en 7 Junio 2015, 07:58 am Hola como estan se que no es mi hilo pero queria hacer unas pregunta en estas partes.
Este trozo de codigo son los procesos que no deberian ejecutarse y en caso que desee mostrar todos los procesos deberia de agregarlos al array? Código
y esta parte por que solo muestra la ruta del proceso pero no el nombre o la ruta ya contiene el nombre del proceso? por que declara pNames. Código
Ya que me dice lo siquiente (http://1.bp.blogspot.com/-xKmAeekfU70/VXPdKHjzqnI/AAAAAAAAA9M/jRm0RtjKWLk/s1600/errorDuda.png) Saludos. Pd: Disculpas por comentar pero tengo esas peque~nas curiosidades Hola gracias por responder las dudas. Leere un poco mas las clase process para poder manejar, efectivamente cambien los procesos de la lista lo probe tanto con listview como con listbox cambie algunas cositas, y ya muestra su ruta. Muchas gracias : ) Saludos. Título: Re: Listar procesos y rutas en ListBox Publicado por: Eleкtro en 7 Junio 2015, 09:43 am Este trozo de codigo son los procesos que no deberian ejecutarse y en caso que desee mostrar todos los procesos deberia de agregarlos al array? Código
Son los procesos de la lista negra, procesos excluidos de la query de LINQ. Idle y System son pseudo-procesos (y por lo tanto, daría error la query al intentar obtener una ruta que no existe), y los otros son procesos protegidos. De todas formas ten en cuenta que lo que escribí es un ejemplo básico que se puede extender para adaptarlo a "X" necesidades, si quieres hacer una buena réplica entonces deberías mostrar lo mismo que muestra el administrador de tareas de Windows. y esta parte por que solo muestra la ruta del proceso pero no el nombre o la ruta ya contiene el nombre del proceso? por que declara pNames. Obviamente la ruta del archivo contiene el nombre del archivo. ¿Por qué declaré pNames y pPaths por separado?, para mostrar dos ejemplos distintos, uno para obtener solo el nombre, y el otro para obtener la ruta completa. Código
me dice lo siquiente (http://1.bp.blogspot.com/-xKmAeekfU70/VXPdKHjzqnI/AAAAAAAAA9M/jRm0RtjKWLk/s1600/errorDuda.png) Fíjate bien, estás utilizando un ListView, no un ListBox. Debes pasarle cómo argumento un array de ListViewItem, o un ListViewItemcollection: Código
Saludos! |