笔记13

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;

namespace ProcessModuleTest
{
    
class Program
    {
        
static void Main(string[] args)
        {
            ProcessModule();

            Console.ReadKey();
        }
        
public static void ProcessModule()
        {
            Process myProcess 
= new Process();
            
// Get the process start information of notepad.
            ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("notepad.exe");
            
// Assign 'StartInfo' of notepad to 'StartInfo' of 'myProcess' object.
            myProcess.StartInfo = myProcessStartInfo;
            
// Create a notepad.
            myProcess.Start();
            System.Threading.Thread.Sleep(
1000);
            ProcessModule myProcessModule;
            
// Get all the modules associated with 'myProcess'.
            ProcessModuleCollection myProcessModuleCollection = myProcess.Modules;
            Console.WriteLine(
"Properties of the modules  associated "
               
+ "with 'notepad' are:");
            
// Display the properties of each of the modules.
            for (int i = 0; i < myProcessModuleCollection.Count; i++)
            {
                myProcessModule 
= myProcessModuleCollection[i];
                Console.WriteLine(
"The moduleName is " + myProcessModule.ModuleName);
                Console.WriteLine(
"The " + myProcessModule.ModuleName + "'s base address is: " + myProcessModule.BaseAddress);
                Console.WriteLine(
"The " + myProcessModule.ModuleName + "'s Entry point address is: " + myProcessModule.EntryPointAddress);
                Console.WriteLine(
"The " + myProcessModule.ModuleName + "'s File name is: " + myProcessModule.FileName);
            }
            
// Get the main module associated with 'myProcess'.
            myProcessModule = myProcess.MainModule;
            
// Display the properties of the main module.
            Console.WriteLine("The process's main moduleName is:  " + myProcessModule.ModuleName);
            Console.WriteLine(
"The process's main module's base address is: " + myProcessModule.BaseAddress);
            Console.WriteLine(
"The process's main module's Entry point address is: " + myProcessModule.EntryPointAddress);
            Console.WriteLine(
"The process's main module's File name is: " + myProcessModule.FileName);

            myProcess.CloseMainWindow();
//关闭记事本进程

            
//Process[] p = Process.GetProcessesByName("notepad.exe");
            
//ProcessModuleCollection pmc = p[0].Modules;

        }
    }
}
posted @ 2008-04-19 23:47  李涛  阅读(141)  评论(0)    收藏  举报