精华内容
下载资源
问答
  • 2020-06-27 21:04:05

    任务管理器具体功能有:

    1、 列出系统当前所有进程。
    2、 列出隶属于该进程的所有线程。
    3、 如果进程有窗口,可以显示和隐藏窗口。
    4、 强行结束指定进程。

    通过Python调用Windows API还是很实用的,能够结合Python的简洁和Windows API的强大,写出各种各样的脚本。

    编码中的几个难点有:

    1、API的入参是结构体时,怎么解决?

    答:Python内手动建立结构体。

    详见:https://baijiahao.baidu.com/s?id=1615380723396624885&wfr=spider&for=pc

    2、调用API的具体方式是什么?

    答:通过win32模块或ctypes模块。前者更简便,后者函数库更全。

    3、不熟悉Windows API怎么办?

    通过API伴侣这个软件查询API所在的DLL库,通过MSDN查询API的详细解释等等。

     

    完整代码如下:

    import os
    # import win32api
    import win32gui
    import win32process
    from ctypes import *
    
    
    # 列出系统当前所有进程。
    def getProcessList():
        os.system("tasklist")
    
    
    # 结构体
    class THREADENTRY32(Structure):
        _fields_ = [('dwSize', c_ulong),
                    ('cntUsage', c_ulong),
                    ('th32ThreadID', c_ulong),
                    ('th32OwnerProcessID', c_ulong),
                    ('tpBasePri', c_long),
                    ('tpDeltaPri', c_long),
                    ('dwFlags', c_ulong)]
    
    
    # 获取指定进程的所有线程
    def getThreadOfProcess(pid):
        dll = windll.LoadLibrary("KERNEL32.DLL")
        snapshotHandle = dll.CreateToolhelp32Snapshot(0x00000004, pid)
        struct = THREADENTRY32()
        struct.dwSize = sizeof(THREADENTRY32)
        flag = dll.Thread32First(snapshotHandle, byref(struct))
    
        while flag != 0:
            if(struct.th32OwnerProcessID == int(pid)):
                print("线程id:"+str(struct.th32ThreadID))
            flag = dll.Thread32Next(snapshotHandle, byref(struct))
        dll.CloseHandle(snapshotHandle)
    
    
    # EnumWindows的回调函数
    def callback(hwnd, windows):
        pidList = win32process.GetWindowThreadProcessId(hwnd)
        for pid in pidList:
            windows.setdefault(pid, [])
            windows[pid].append(hwnd)
    
    
    # 显示和隐藏指定进程的窗口
    def changeWindowState(pid, status):
        windows = {}
        win32gui.EnumWindows(callback, windows)
        try:
            hwndList = windows[int(pid)]
            # 显示/隐藏窗口
            for hwnd in hwndList:
                win32gui.ShowWindow(hwnd, int(status))
        except:
            print("进程不存在")
    
    
    # 强行结束指定进程
    def killProcess(pid):
        cmd = 'taskkill /pid ' + pid + ' /f'
        try:
            os.system(cmd)
        except Exception as e:
            print(e)
    
    
    if __name__ == "__main__":
        while(True):
            print()
            print()
            print("************************************")
            print("*                                  *")
            print("*     进程管理器                   *")
            print("*                                  *")
            print("*     1.获取所有进程               *")
            print("*     2.获取指定进程的所有线程     *")
            print("*     3.显示和隐藏指定进程的窗口   *")
            print("*     4.强行结束指定进程           *")
            print("*                                  *")
            print("************************************")
            option = input("请选择功能:")
    
            if option == "1":
                getProcessList()
            elif option == "2":
                pid = input("请输入进程的pid:")
                getThreadOfProcess(pid)
            elif option == "3":
                pid = input("请输入进程的pid:")
                status = input("隐藏输入0,显示输入1:")
                changeWindowState(pid, status)
            elif option == "4":
                pid = input("请输入进程的pid:")
                killProcess(pid)
            else:
                exit()
    

     

    更多相关内容
  • ‍如果用户发现电脑系统中出现了卡死的程序,一般会打开任务管理器,然后结束相关程序或者进程。但是发现该操作无法继续,这些卡死程序关闭不了,在这样的情况下,可以参考以上方法来解决问题。win8.1 - 14 、如果有...

    如果用户发现电脑系统中出现了卡死的程序,一般会打开任务管理器,然后结束相关程序或者进程。但是发现该操作无法继续,这些卡死程序关闭不了,在这样的情况下,可以参考以上方法来解决问题。

    win8.1 - 14 、如果有一个程序按正常方法无法关闭,例如下图这个程序,点击系统关闭按钮,或在任务栏最小化程序右键菜单中“关闭”,都无法关闭此程序;

    06be487151dfb50191326df5aea69eab.png

    windows7系统之家 - 15 、只好打开任务管理器去结束进程,选择这个应用程序,右键“结果进程”;

    9ebaa56729e4be9a1bee15defd228710.png

    windows7 - 1、但是提示“无法完成操作,拒绝访问”,同样也无法结束此进程;

    1cbf7ebadbe2f92ca5fb5d06356f66fc.png

    windows8 - 2、先打开开始->运行->输入cmd命令打开命令提示窗口;

    60e9e4d0f7a6853502eef3bd62c3639a.png

    windows10 - 3、输入tasklist命令,按回车;

    524553b68332ebf4c8c29bc6769158f4.png

    xp系统 - 4、显示所有的进程列表之后,查看并记住该进程的PID,然后输入Taskill PID(图例中为Taskill 3804),按回车,即可关闭此程序;

    78a7de3e38285baa8fd4f986c84e1366.png

    纯净版 - 5、如果不用tasklist命令查询PID会话名,还可以在任务管理器菜单栏打开“查看”——“选择列...”,然后在选择列框中,勾选“PID(进程标志符)”,确定;

    4f8e471a2a3d4586673eec1d9b2da35e.png

    U盘系统 - 6、返回后就可以看到PID,记下无法关闭的进程PID,然后运行命令Taskill PID会话名,例如进程PID为188,则命令为taskkill /pid 188 /f 回车,即可关闭卡死进程。

    8c42a45e159ce0d5f56fde50a9d8d828.png

    大家可以参考以上方法,解决电脑无法通过任务管理器结束一些卡死的程序的问题。

    展开全文
  • 类似于360,腾讯管家等在任务管理器中无法结束提示拒绝访问 使用驱动写的,支持WIN10,WIN8,WIN7等系统。所有程序都可调用,有API帮助教程 由于是驱动,所以打开的时候杀毒软件会报毒 可以用程序调用并且传入要...
  • 直接代码附上: private void button1_Click... //启用任务管理器 RegistryKey Huser = Registry.CurrentUser; RegistryKey zcb = Huser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Syst

    直接代码附上:

    private void button1_Click(object sender, EventArgs e)
            {
    
                //启用任务管理器
                RegistryKey Huser = Registry.CurrentUser;
                RegistryKey zcb = Huser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
    
                zcb.SetValue("DisableTaskMgr", "0", RegistryValueKind.DWord);
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                //禁用任务管理器
                RegistryKey Huser = Registry.CurrentUser;
                RegistryKey zcb = Huser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
                zcb.SetValue("DisableTaskMgr", "1", RegistryValueKind.DWord);
    
                MessageBox.Show("禁用成功");
            }

    页面:

        

            首先在注册表中,任务管理器的路径:HKEY_CURRENT_USE\Software\Microsoft\Windows\CurrentVersion\Policies\System,键值:DisableTaskMgr; 键值1禁用 0启用。

          【在一开始我没有找到此文件(每有此文件会报错:对注册表项的访问被拒绝),遇事新建一个System文件夹,在里面建了一个文件,也是可以使用的。】

            执行以下三步创建一个文件:来实现任务管理器的关闭。

            当以上步骤结束之后,可能还会出现以下的错误:System.Security.SecurityException:“不允许所请求的注册表访问权。”

    字面意思可以很容易理解是权限问题。解决方法也就很简单,更改权限:

           在运行的时候,建立的文件夹里面出现了我们需要的文件:

      注:我开始新建的文件不知道是否有用,如果没用的话希望帮助斧正

      注:运行时关闭电脑管家等

     

    展开全文
  • 计算机在启动任务管理器结束360程序是出现拒绝访问用taskkill pid(带F)指令时还是不行,怎么办?
  • 在平时的工作中,大家常常会碰到一些进程没有法响应,于是想要结束掉,可是有网友反映说结束进程时拒绝访问了,那么当你碰到win10结束进程时拒绝访问如何办,不熟悉的朋友赶紧看看小编整理的以下文章内容吧!...

    win10结束进程时拒绝访问的处理办法?

    在平时的工作中,大家常常会碰到一些进程没有法响应,于是想要结束掉,可是有网友反映说结束进程时拒绝访问了,那么当你碰到win10结束进程时拒绝访问如何办,不熟悉的朋友赶紧看看小编整理的以下文章内容吧!

    办法/步骤:

    1、按“win +R”组合键,进入“运行”。

    2、写入“msconfig”(不包括引号,可直接复制),按回车键。

    3、进入“系统配置”,选中“服务”,勾选左下角“隐藏所有Microsoft服务”,再打开“全部禁止”,打开“应用”。

    4、再打开“服务”边上的“启动”选项,打开“点击任务管理器”。

    5、在列出的启动项上,打开右键,选中“禁止”,禁止全部启动项。

    6、关闭“任务管理器”,再“系统配置”界面下打开“确定”,依据提示重启电脑。

    win10结束进程时拒绝访问的处理办法就讲到这里了,是否是很简单,大家只需要点击系统配置,然后切换到服务选项,以后禁止除Microsoft之外的全部服务,最后切换到启动项,在点击任务栏管理器,把全部进程结束了,待系统重启就好了。

    展开全文
  • 任务管理器无法结束进程

    万次阅读 2017-09-06 15:26:13
    在使用任务管理器结束进程的时候,都有遇到无法结束进程的情况,这时候需要怎么办呢?今天U大侠小编就和大家说说解决任务管理器无法结束进程的小技巧吧! 任务管理器  方法一、  1、首先打开开始菜单中的运行...
  • 任务管理器无法结束进程解决办法

    万次阅读 2015-05-07 17:10:41
    到无法关闭的程序,我们第一个想法就是进入任务管理器进行关闭进程,但是...方法一、用system权限来结束进程这种方法的根本思路是,用system的权限来运行任务管理器taskmgr.exe,取得system权限后就可以结束任何进程
  • 但有的网友的电脑却出现了进程拒绝访问的提示,这该怎么办呢...2018-01-15 14:36:44很多时候程序死机后,需要在任务管理器结束进程才能再次打开,可是有些win7用户在任务管理器结束死机程序的时候弹出了无法中止...
  • 有些病毒和恶意进程我们在任务管理器里面是不能结束的,这个时候,如果又没有工具,就很麻烦了,今天看网管员世界,提到了一种方法,能够解决: 根本的思想是用system的权限来运行taskmgr.exe 用的是at命令 方法...
  • 开发了个程序,创建了一个进程,但是杀不掉了,在任务管理器里面 右键--结束进程,提示“拒绝访问”,或者“没有此任务实例运行” 怎么办? 直接给答案:PCHunter 具体方法: 1.打开PCHunter,在进程选项...
  • 如果taskkill /f /pid 123 出现拒绝访问时,可使用以下方式删除进程: wmic process where name=‘qq.exe’ delete11如果这样还杀不死,恐怕就要进[安全模式]删除了。杀了进程,想删除文件,可以这样删除cmd下运行:...
  • 360bpsvc一直占用电脑大量cpu,任务管理器也无法结束进程这个进程、360bpsvc也无法卸载的解决办法:
  • 任务栏管理器无法结束任务 ...解决结束任务无法结束,拒绝访问。 2、使用pchunter1.57加载驱动失败,宣告pchunter方式失败(windows7的朋友可以试试,有可能可以用此方法) 3、使用管理员权限运行cmd,然后t
  • 需要注意,根据系统位数选择不同pchunter即32位或64位,我开始随便下载的pchunter,打开没有进程显示,后来下载了64位的打开有显示,这时找到结束不了进程,然后 右键--查看进程线程 ,然后将所有的线程给杀光光,再...
  • 使用vmware的时候出现死机情况,然后使用任务管理器结束vmware进程,之后却发现在资源监视中有一个vmware-vmx.exe进程始终关不掉,获得管理员权限去杀或者重启都没有用。占用CPU不说,我其他虚拟机竟然也打不开了...
  • 目录 前言 环境 问题修复尝试记录: 1、尝试直接关闭虚拟机。...2、尝试任务管理器关闭vmware workstation vmx.exe ...WIN10系统,VMware装完上虚拟机,第一次可正常开机使用,...任务管理器直接结束主程序,可结...
  • 紧急求救:使用cmd管理员权限启动Neo4j仍然显示“拒绝访问”???问题描述:新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表...
  • 需要注意,根据系统位数选择不同pchunter即32位或64位,我开始随便下载的pchunter,打开没有进程显示,后来下载了64位的打开有显示,这时找到结束不了进程,然后 右键--查看进程线程 ,然后将所有的线程给杀光光,再...
  • windows无法终止PID的进程,拒绝访问

    千次阅读 2022-01-18 10:33:02
    本来以为把使用这个端口的进程找出来kill掉就行了,但是在杀掉进程时出现拒绝访问导致进程关不掉,程序就一直重启不了。 ** 解决方案 ** 出现该问题的原因是因为权限不够,可以通过搜索cmd,用管理员权限打开,然后...
  • 问题描述程序发版之后一个定时任务突然挂了!“幸亏是用灰度跑的,不然完蛋了。????”之前因为在线程池踩过坑,阅读过ThreadPoolExecutor的源码,自以为不会再踩坑,没想到又一不小心踩坑了,只不过这次的坑踩在了...
  • 原来的SVN自动备份不知道被谁取消了。今天去重新设置一下。   备份脚本如下:   echo -------%date:~0,10%备份开始--------------- e:...---%date:~0,10%备份结束---------------
  • winxp电脑提示U盘拒绝访问怎么修复

    千次阅读 2021-07-28 00:49:42
    将u盘插入xp系统下的电脑...winxp电脑提示U盘拒绝访问的修复方法:1、依次操作“开始”菜单 - “运行” - 在输入框中输入“regedit”,然后按回车键,打开注册表编辑。再在注册表编辑中找到并依次打开:“HKEY_...
  • Hadoop系列之Hadoop任务调度(5)

    万次阅读 2021-01-20 09:44:23
    Hadoop 任务调度 Hadoop 是一个可以高效处理大数据量的分布式集群,并且支持多用户多任务执行。在 Hadoop1.0 版本有一个调度是集成在 JobTracker 里面,对于传统的 Hadoop 批处理任务(日志挖掘、Web 页面索引)...
  • 3、或者是在win10任务管理器的时候,无法终止pid,显示拒接访问 4、或者在cmd命令行中无法终止pid C:\Users\86188>taskkill /F /pid 4028 错误: 无法终止 PID 为 4028 的进程。 原因: 没有此任务的实例在运行。 ...
  • taskkill 显示没有此任务的实例在运行 杀不掉进程

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,580
精华内容 16,632
关键字:

任务管理器结束任务拒绝访问