• Delphi结束进程模块


    uses Tlhelp32; 
    
    function KillTask(ExeFileName: string): integer;
    const
      PROCESS_TERMINATE = $0001;
    var
      ContinueLoop: BOOLean;
      FSnapshotHandle: THandle;
      FProcessEntry32: TProcessEntry32;
    begin
      Result := 0;
      FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
      FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
      ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
      while integer(ContinueLoop) <> 0 do
      begin
        if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase
              (ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase
              (ExeFileName))) then
          Result := integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0)
                  , FProcessEntry32.th32ProcessID), 0));
        ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
      end;
      CloseHandle(FSnapshotHandle);
    end;
    
    调用的时候只需要 
    if KillTask('qq.exe') <> 0 then 
        showmessage('结束QQ成功') 
    else 
        showmessage('无法结束QQ'); 
    
    你在程序里面用一个计时器,每隔一秒钟检查一下,如果有就结束,也就实现了禁止运行的目的。 
    procedure TForm1.Timer1Timer(Sender: TObject); 
    begin 
        KillTask('qq.exe'); 
    end;
  • 相关阅读:
    EF获取DbContext中已注册的所有实体类型
    使用一阶微分对图像锐化
    数字图像处理之直方图均衡
    【HDFS】相关概念及常用命令
    【Java】ConcurrentHashMap源码解析
    【Java】对foreach循环的思考
    php生成二维码
    spilt
    strtolower
    in_array
  • 原文地址:https://www.cnblogs.com/hssbsw/p/2389199.html
Copyright © 2020-2023  润新知