zoukankan      html  css  js  c++  java
  • MFC-OpenProcess打开进程TerminateProcess终止进程

    VS2012

    void RaisePrivileges();
    HANDLE hProc;
    
    
    
    /*
        提升当前进程的权限
    */
    void CDemoDlg::RaisePrivileges()
    {
        //打开当前进程的访问令牌
        HANDLE hToken;
        TOKEN_PRIVILEGES tkp;
        tkp.PrivilegeCount = 1;
        tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
        if (OpenProcessToken(GetCurrentProcess(),TOKEN_ALL_ACCESS, &hToken))
        {
            if(LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid))
            {
                AdjustTokenPrivileges(hToken,FALSE, &tkp, 0x10, (PTOKEN_PRIVILEGES)NULL,0);
            }
        }
        if (hToken)
        {
            CloseHandle(hToken);
        }
    }
    
    
    void CDemoDlg::OnBnClickedButton1()
    {
        // TODO: 在此添加控件通知处理程序代码
    
        //提升权限
        RaisePrivileges();
    
        //通过PID,去进程中找到计算器的进程,得到句柄
        hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE,2284);//得到进程句柄
        if (hProc == NULL)
        {
            AfxMessageBox("打开进程失败");
        }
        else
        {
            AfxMessageBox("打开进程成功");
        }
    }
    
    
    void CDemoDlg::OnBnClickedButton2()
    {
        // TODO: 在此添加控件通知处理程序代码
    
        //终止进程结束
        TerminateProcess(hProc, 0);
    }

    使用Spy++查看类名和标题名

     

    void CDemoDlg::OnBnClickedButton3()
    {
        // TODO: 在此添加控件通知处理程序代码
    
        //使用窗口的类名或者窗口标题的名字,其中一个就可以得到窗口句柄
        HWND hCalc = ::FindWindow(NULL, TEXT("计算器"));
    
        //得到窗口的进程的ID
        DWORD pid;
        GetWindowThreadProcessId(hCalc, &pid);
    
        //提升权限
        RaisePrivileges();
    
        //打开进程
        hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
        if (hProc == NULL)
        {
            AfxMessageBox("打开进程失败");
        }
        else
        {
            AfxMessageBox("打开进程成功");
        }
    
    }

    Caesar卢尚宇

    2021年1月5日

  • 相关阅读:
    Cocos2d-JS中的Sprite精灵类
    Cocos2d-JS中的精灵菜单和图片菜单
    Cocos2d-JS中的文本菜单
    SpringMVC01
    xml文件
    MyEclipse保存文件时 自动格式化代码! 不包括文档注释
    MyEclipse修改servlet模版
    java05 选择结构
    ssh注解开发
    使用socket实现聊天功能
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/14238280.html
Copyright © 2011-2022 走看看