Cómo: Investigar las bibliotecas cargadas por procesos
Actualización: noviembre 2007
La propiedad Modules del componente Process proporciona acceso a las bibliotecas cargadas para un proceso. La propiedad Modules devuelve una colección del tipo ProcessModuleCollection, que incluye todas las bibliotecas cargadas para el proceso de destino. Posteriormente, puede recorrer en iteración la colección para examinar las bibliotecas individuales.
Si el proceso de destino no ha sido iniciado por un componente Process, enlace una instancia nueva de un componente Process al proceso. Para obtener más información, vea Cómo: Enlazar con procesos existentes.
Declare un objeto de tipo ProcessModuleCollection para contener la colección de módulos.
Asigne la propiedad Modules a la variable ProcessModuleCollection. De este modo se llenará el objeto ProcessModuleCollection con los módulos procedentes del módulo de destino.
Recorra en iteración el objeto ProcessModuleCollection para ver y administrar las bibliotecas individuales.
El ejemplo siguiente muestra cómo devolver todas las bibliotecas cargadas para Microsoft Word y, a continuación, mostrar los elementos en un control ListBox:
Dim WordProcesses() As Process Dim WordModules As ProcessModuleCollection Dim aModule As ProcessModule WordProcesses = Process.GetProcessesByName("WinWord") ' Populate the module collection. WordModules = WordProcesses(0).Modules ' Iterate through the module collection. For Each aModule In WordModules ListBox1.Items.Add(aModule.ModuleName) Next
Process[] wordapps; ProcessModuleCollection modules; wordapps = Process.GetProcessesByName("WinWord"); // Populate the module collection. modules = wordapps[0].Modules; // Iterate through the module collection. foreach (ProcessModule aModule in modules) { Listbox1.Items.Add(aModule.ModuleName); }
Cómo: Crear componentes de proceso