http://www.csdn.net/expert/topic/871/871174.xml?temp=5.721682E-02

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls,Tlhelp32;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        StaticText1: TStaticText;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}function FindTask(ExeFileName: string): integer;
    var
      ContinueLoop: BOOL;
      FSnapshotHandle: THandle;
      FProcessEntry32: TProcessEntry32;
    begin
      result:= 0;
      FSnapshotHandle := CreateToolhelp32Snapshot
                         (TH32CS_SNAPPROCESS, 0);
     //获取系统所有进程快照
      FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
      //调用Process32First前用Sizeof(FProcessEntry32)填充FProcessEntry32.dwSize
      ContinueLoop := Process32First(FSnapshotHandle,
                                     FProcessEntry32);
     //获取快照中第一个进程信息并保存到FProcessEntry32结构体中
      while integer(ContinueLoop) <> 0 do
     //循环枚举快照中所有进程信息
      begin
        if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile))
    =UpperCase(ExeFileName))
          or (UpperCase(FProcessEntry32.szExeFile)
    =UpperCase(ExeFileName))) then
    //找到进程名
           
         Result:=1;
         ShowMessage('找到了!!!');
           ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);
         //查找下一个符合条件进程
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      FindTask(edit1.text);
    end;end.补充一下:
    上面的函数你只要给出exe文件的名称就可以了!其他的你自己修改吧!!
      

  2.   

    用Netstart看有哪些端口在使用