zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    P2704 [NOI2001]炮兵阵地[状压dp]
    【CRT】中国剩余定理简介
    乘法逆元
    P2921 [USACO08DEC]在农场万圣节[SCC缩点]
    P1967 货车运输[生成树+LCA]
    P2746 P2812 [USACO5.3]校园网Network of Schools[SCC缩点]
    Debian初始化配置
    Linux网桥配置
    Jenkins与Gitlab集成
    Gitlab搭建
  • 原文地址:https://www.cnblogs.com/hssbsw/p/2389199.html
Copyright © 2011-2022 走看看