比如我在启动里加入calc.exe,每次开机都运行calc.exe(也就是计算器),我想实现在每个月的月初也就是1号进行检测,calc.exe是否在运行,如果在运行就关闭它,请问这个程序应该如何写?操作系统是win2000个人版!

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
     FSnapshotHandle:THandle;
     FProcessEntry32:TProcessEntry32;
     Ret : BOOL;
     ProcessID : integer;
     s:string;
    begin
     FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
     FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
     Ret:=Process32First(FSnapshotHandle,FProcessEntry32);
     Memo1.clear;
     while Ret do
     begin
       Memo1.lines.add(FProcessEntry32.szExeFile);
       s:=ExtractFileName(FProcessEntry32.szExeFile);
       if s=calc.exe' then
       begin
         ProcessID:=FProcessEntry32.th32ProcessID;
         TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,ProcessID),1);
         s:='';
       end;
       Ret:=Process32Next(FSnapshotHandle,FProcessEntry32);
     end;
    end;
      

  2.   

    请给出完整代码,以上的代码很多出错的地方,谢谢!
    比如:FProcessEntry32:TProcessEntry32;无法识别
    FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);