⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 killprocess.java

📁 杀进程.很好的杀exe程序的类
💻 JAVA
字号:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class KillProcess {

    /**
     * @param args
     */
    public static void main(String[] args) {    
        try {
            killByAppName("f.exe");
        } catch (IOException e) {            
            e.printStackTrace();
        }
    }
   
    public static void killByAppName(String applicationName) throws IOException {
        String path = System.getProperty("user.dir");
        path = "C:\\";
        System.out.println(path);
        final File createFileName = new File(path + "\\scriptName.vbe");
        if (createFileName.exists()) {
            if (createFileName.delete()) {
            }
        } else {
            if (createFileName.createNewFile()) {
            }
        }
        
        final PrintWriter pw = new PrintWriter(new FileWriter(createFileName, true), true);
        pw.println("for each ps in getobject(\"winmgmts:\\\\.\\root\\cimv2:win32_process\").instances_");
        pw.println("wscript.echo ps.handle&vbtab&ps.name");
        pw.println("next");
        pw.close();
        
        final InputStream ii = Runtime.getRuntime().exec("cscript " + path + "\\scriptName.vbe").getInputStream();
        
        final InputStreamReader ir = new InputStreamReader(ii);
        
        final BufferedReader br = new BufferedReader(ir);
        String str = null;
        StringTokenizer st2 = null;
        String pid = null;

        while ((str = br.readLine()) != null) {
                     
            if (str.indexOf(applicationName) > 0) {
                st2 = new StringTokenizer(str);
                st2.hasMoreTokens();
                pid = st2.nextToken();
                System.out.println(pid);
                
                killByPID(pid);
            }
        }
        try {
            ir.close();
            ii.close();
            br.close();
            createFileName.delete();
        } catch (final IOException e) {
            e.printStackTrace();
        }
    }
    
    public static void killByPID(String pid) throws IOException {
        final String[] cmdArray = { "ntsd.exe", "-c", "q", "-p", pid };
        final String[] cmdArray1 = { "taskkill.exe", "/PID", pid, "/T", "/F" };
        int result = 0;
        
        try {
            Process process = Runtime.getRuntime().exec(cmdArray1);
            process.waitFor();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if (result != 0) {
            
            try {
                Process process = Runtime.getRuntime().exec(cmdArray);
                process.waitFor();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }            

        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -