精华内容
下载资源
问答
  • 哎,突然间,老毛病又烦了,想起原来一直有个编程的问题没有解决——禁止别人用任务管理器,结束自己的程序进程(.NET程序)。带着这个问题,我开始Google,开始baidu,又开始编程了。和原来的搜索结果一样,什么东西...

    闲来无事,英语又学的太痛苦。看到我妈妈电脑开起在,就坐上去看看新闻,听听音乐。哎,突然间,老毛病又烦了,想起原来一直有个编程的问题没有解决——禁止别人用任务管理器,结束自己的程序进程(.NET程序)。带着这个问题,我开始Google,开始baidu,又开始编程了。和原来的搜索结果一样,什么东西都是一筹莫展,得到的答案永远是:C#没有办法自己去禁止别人用任务管理器结束自己进程。不过功夫不负有心人。我还是找到一大堆的替代方法,可以让别人不结束自己进程的方法。

          

     

     

    总结方法有:

        

     

     

    1.      把任务管理器程序给别人删除了,不让别人打开(妈呀,这个我觉得最不可取了,有点杀鸡取卵的味道,没有任务管理器,我是无法忍受的。毕竟人家用户,购买了你产品,你总不可能把别人任务管理器给洗白了吧?)否决!

        

     

     

    2.      接下来这个比较温柔,通过C#内置的Process类,对任务管理器的进程进行扫描,如果检查到有taskmgr.exe的进程(任务管理器进程),就把这个进程结束了。(虽然没有第一个来的恶劣,但是,用户还是不能使用任务管理器)否决!

          

     

     

    3.      写两个程序进行双保护。这个想法是网上提的最多的思路,如果一个程序被结束了,另一个程序检测到这个程序不在了,就立即重新启动该程序,双双保护,互助互利(结果我尝试了一下,不可取,因为1,CPU使用率太高,一直在循环检测,计算机速度立即就下了。我妈妈这个机子,P4的配置,1G内存,也来不起了。网页也卡起了。2,我写了一个第三方程序,以最快速率去结束这个两个进程,如果这两个进程为了节约CPU的使用率,而把扫描间隔时间隔的太开的话,立刻被我的程序洗白。所以,理论上这种方法,肯定是会被洗白的)否决

         

     

     

    4.      技术含量比较高了,通过Windows的驱动机制,把自己给隐藏了(把自己变成驱动),然后隐藏到系统中运行,在任务管理器完全找不到,其实我多喜欢这种方式的,但是,这个程序一弄出来,瑞星,Google,Hotmail,360卫士,全部当成病毒查出来了,我当时眼流花都要流出来了。他们都太不给面子,Google,Hotmail直接把我的附件删除了。随便我压缩,分包压缩,都逃不过他们的法眼。所以,我清楚的意识到,这种程序弄出来,在客户机器上,肯定是无法长久生存的。毕竟一个堂堂正正的程序,干嘛要去隐藏呢?所以。该条方案否决!

          

     

     

    5.      用第三方的VC++程序,辅助C#程序达到不让别人禁止C#进程的方法。哎,弄了半天,这种方法,我认为最行之有效。毕竟不得不承认,要搞Windows系统级的程序设计,C++是当之无愧的龙头老大,C#只是一个做网站级应用的能手。不过,你发布一个程序给用户,用户看到那个任务管理器里面还有个其他程序在运作或者是看到你的安装包里面怎么还有其他程序名字,确实感觉太不专业,太不地道了。话又说回来,这种辅助程序一般都要收费。我下载的那个就要收费。所以,最后,这个方案也否决了!

           

     

     

    难道,C#真的就不能自己弄个什么名堂的东西出来,不被任务管理器结束吗?实际,我认为,C#是可以做到这一点的。原因有2个。1,C#是支持带*号这种指针的方式的。也就是说,C#可以使用指针。2,C#可以完全无障碍的调用Windows自己的API函数(虽然性能没有VC++开发的好),调用第三方开发的COM组件,甚至调用USB插口接口相关信息(曾今做U盘杀毒的时候,用到过,不过主要还是结合API完成的,一个未公开的API函数R开头的忘记了)。所以,为此,我抱着信心开始准备找第三方提供的动态链接库之类的东西,毕竟要自己写,C#还是有许多性能和调用方面的麻烦问题要考虑,毕竟不是毕业设计,所以,能简单就简单,只要克服以上提到的5种方法的不足。

          

     

     

    最后,功夫不负有心人,找了大半天,找到了一个叫Peter的牛人,写了一个通过VC++程序调用VC++动态链接库,实现的VC++程序不被任务管理器结束的源代码。幸亏源代码相当详尽(VC++动态链接库的源码,VC++应用程序源码),要不然,后面的活路,就没有办法做了。于是我开始,慢慢,慢慢走上辛苦的VC++代码分析上。你们可能要问我干什么?我可以很坦然的告诉你,虽然我VC++能力确实不强,但是我要把VC++的代码,移植到C#上。听起来,很不可思意,但是,我真的成功了。最后,为了报答我的学校——成都电子机械高等专科学校和成都信息工程学院。我把VC++应用程序调用代码,移植到.NET上,并且,为了调用方便,我做成了.NET可以识别的dll运行库。只要按以下方式调用运行即可。这个dll运行库可以保护自己进程,也可以通过设置保护其他进程,作为第三方动态链接库存在。(很幸运,虽然这个第三方动态链接库我还是很花了些时间,但是绝对不收费,免费放送,提供C#工程源码下载!如果大家有兴趣也可以一起讨论一下,我的邮件是Email:k.liuxu@gmail.com),至于那个牛人的设计思路,其实,就是用系统函数挂钩,挂接了所有的系统函数消息。没有直接分析任务管理器这些东西。不过,在CMD命令控制台中,无法接受消息,所以,用命令控制台,是可以结束进程的。不过,命令控制台,一般用户不会使用,可以直接把命令控制台删除,或者移植到程序内部调用,不准用户外部调用,就行了。至于其他更麻烦的东西,就有兴趣大家在慢慢聊吧。

         

     

     

    前面分析VC++代码是一个艰苦的历程,简直是挥泪分析啊,眼睛都看肿了,才把VC++应用程序部分移植出来。其实总结了一下,实际上还是因为自己学习不扎实,所以才看的恼火,对不起电子高专培养我的刘光会和杨勇老师,对不起信息工程学院的安俊秀和陈晓红老师。不过最后弄出来了,还是一件好事情吧,也充分说明了C#还是可以搞一些基于系统级的调用和编程的。也许在大鸟眼睛中,移植这种工作并不算什么,这种程序也许是小儿科,不过,对于,刚刚毕业的我来说,还是一种不小的挑战。

          

     

     

    由于时间有限,我只把前半部分的VC++应用程序端移植完成,在以后的时间中,等我把Dll部分抽象出来,我会做成.NET可以识别的dll发布出来。如果还有时间,我就再来说说,我怎么分析的吧。不过这个可能要说很久很久了,毕竟涵盖了5年我大学学习的所有基础知识,大到系统,小到函数指针,代理,枚举这些结构,内存存储空间等等。好了废话不多说了。现在主要看看怎么使用。

     

        首先,我们必须具备两个DLL文件,一个是我用.NET程序生成的KProtectProcess.dll文件,这个文件可以直接放到VS.NET开发环境中进行使用。还有一个是我还没有编译出来的NKCore.dll文件(其实我移植了一半,但是里面设计很多系统关键字,我在C#中还没有找到很好的解决方案,所以正在研究),这个文件是C++的运行库,实际上核心也是这个文件。

         

     

     


        1首先我们新建立一个工程。如下:

       

     

    2.按照如图,放置这些控件,以便我们操作

     

     

     

    3.添加引用.NET可以识别的KProtectProcess.dll动态链接库(VB.NET,J#.NET,VC++.NET都可以调用)右键项目,选择添加引用:

     

     

          

     

     

     

    4.找到KProtectProcess.dll这个文件并添加(注意保持,KProtectProcess.dll文件和NKCore.dll文件在同一目录中)

     

    5.点确定以后,你会看到工程中,多了一个程序集KProtectProcess.dll

             

     

     

    6.双击,按钮进入代码的编写,(其中保护自己,停止保护自己,保护其他进程,停止保护其他进程按钮的名字分别是:button1,button2,button3,button4),具体调用代码编写如下(代码调用,已经简化的相当简单了):自身保护调用SelfProtection(),自身释放调用UnLoadProtection(),其他进程保护,首先调用ProtectProcessID赋值,然后调用ProtectProcess进行保护,如果不赋值,我会抛出一个异常。

     

     

     

     

     

     

     

     

    7.       所有工作都准备完毕就可以调试了。其中以下演示怎么保护其他进程。比如我们现在打开Windows计算器这个程序,计算器这个程序的进程名是calc.exe,所以,我们就找他的进程号PID.1764

     

      

                    

     

       

     

             

     

     

         现在只需要在程序的进程号中输入,1764,然后点保护,最后,你看用任务管理器是不是不能结束calc这个程序了?很简单吧?

          

               

     

                     

                                

     结束语:

      

    (1).NET程序原代码下载地址为(大小47KB):TestClose.rar

        

    (2)两个动态连接库文件(大小14KB):Dll.rar

         

    (3).NET可识别的Dll我移植出来的.cs文件(7KB):KProcess.rar

          

    (4)VC++原始代码文件(大小10KB):vc.rar

           

     

     

       以上程序使用的是VisualStudio.NET 2010,(C#),在XP SP2上测试通过。如果有任何问题的话,请各位大侠多多指教。

    展开全文
  • 有些进程任务管理器能杀死的,因为是system权限,二任务管理器 是admintor权限,所以需要想办法。‘ 由于博主熟悉dos命令,用惯了linux命令,又想学dos命令,所以只能求助第三方小工具了。 亲测很好用的...


    有些进程是任务管理器不能杀死的,因为是system权限,二任务管理器 是admintor权限,所以需要想办法。‘


    由于博主不熟悉dos命令,用惯了linux命令,又不想学dos命令,所以只能求助第三方小工具了。


    亲测很好用的一款小工具 PC Hunter V1.52


    地址  http://www.xuetr.com/

    展开全文
  • 当手误小心把任务管理器中的Windows资源管理器进程结束任务后,电脑出现黑屏时,想要重新恢复,该怎么做? 步骤一: 按Ctrl+Shift+Esc来启动任务管理器; 步骤二: 点击任务管理器界面中的“文件”,点击“运行新...

    当手误不小心把任务管理器中的Windows资源管理器进程结束任务后,电脑出现黑屏时,想要重新恢复,该怎么做?
    在这里插入图片描述
    步骤一
    Ctrl+Shift+Esc来启动任务管理器;

    步骤二
    点击任务管理器界面中的“文件”,点击“运行新任务”;
    在这里插入图片描述
    步骤三
    点击“运行新任务后”,会弹出一个新建任务的程序对话框,在对话框里输入explorer,然后回车,即可重新呼出平时我们看到的windows界面。
    在这里插入图片描述

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

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

    在使用任务管理器结束进程的时候,都有遇到无法结束进程的情况,这时候需要怎么办呢?

    任务管理器
    任务管理器

      方法一、

      1、首先打开开始菜单中的运行,在运行对话框中输入“CMD”。回车打开命令提示符窗口;

      2、在打开的命令提示符窗口中然后输入:tasklist可以查看到现在所有进程。

      3、然后想要关闭进程的话,输入“Taskkill/im 进程名.后缀名 /f”

      注意事项:

      System、SMSS.EXE和CSRSS.EXE不能关闭。

      方法二、

      通过system的权限来运行任务管理器taskmgr.exe,然后取得system权限后就可以结束任何进程了。

      1、首先打开“开始--运行”,在打开的运行对话框中输入“CMD”,回车;

      2、在打开的命令提示符窗口中输入“time /t ”获得现在的时间,比如是10:31。

      3、接着输入at 10:33/interactive taskmgr.exe 命令,这样2分钟后就会自行启动任务管理器;

      4、这样就可以在at命令运行的任务管理器,取得system的权限之后,这样就可以结束那些无法结束的进程了。

    展开全文
  • C# 禁止结束进程,保护进程不结束(源代码)

    千次下载 热门讨论 2010-06-25 13:25:44
    C#,保护进程,通过VisualStudio.NET2005平台,控制系统结束自身进程,控制系统结束指定进程,已经生成了一个动态链接库,方便调用,(C#工程源代码),具体内容访问:...
  • 进程无法结束怎么办

    千次阅读 2008-10-26 20:59:00
    怎么才能关掉一个用任务管理器关了的进程?我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关了 方法一: 杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的...
  • 进程为关键系统进程,任务管理器无法结束进程 - 强制关闭
  • 当一个进程正常或异常终止时,内核就向其父进程发送 SIGCHLD 信号,相当于告诉父亲他哪个儿子挂了,而父进程可以通过 wait() 或 waitpid() 函数等待子进程结束,获取子进程结束时的状态,同时回收他们的资源(相当于...
  • vmware workstation vmx进程结束不了如何解决?

    万次阅读 多人点赞 2020-02-23 14:06:56
    本次博客用于解决如何关掉VMX进程(当然可能别的更好的解决办法) 情景复现 由于好久没有练习Linux操作系统了,所以今日心血...发现这几个大哥进程结束不了 解决办法 编辑—首选项—工作区—显示托盘图标—选择...
  • Win7任务管理器找进程怎么办

    千次阅读 2019-05-19 09:17:19
    原文地址:... ➢ 任务管理器找进程 系统:win7 如图: ➢ 解决方法 点击/双击win7任务管理器边缘的白色区域(中间的框框以外的部分) 如图: ➢ 完整版效果 如图: Categories小技巧 ...
  • 开发了个程序,创建了一个进程,但是杀掉了,在任务管理器里面 右键--结束进程,提示“拒绝访问”,或者“没有此任务实例运行” 怎么办? 直接给答案:PCHunter 具体方法: 1.打开PCHunter,在进程选项...
  • windows进程强制结束命令
  • 任务管理器无法结束进程解决办法

    万次阅读 2015-05-07 17:10:41
    到无法关闭的程序,我们第一个想法就是进入任务管理器进行关闭进程,但是有些恶意进程流氓进程却无法在任务管理器中关闭,当我们遇到这类情况怎么办呢?下面我们以结束一个貌似资源管理器的恶意进程exploror.exe为例...
  • 有的时候会发现在任务管理器里多出了一些进程,但是用任务管理器的“结束进程”却结束不了它们,这个时候应该怎么办呢?一是使用另外的一些进程Kill工具,另外一种就是使用Windows自带的命令ntsd了。使用方法也很...
  • 关闭win7结束不了得进程

    千次阅读 2018-10-16 10:37:13
    1、单击开始菜单,在搜索框内输入“CMD”。...6、这样就可以结束任务管理器无法结束进程。 7、记住,只要输入进程名,不用输入扩展名。 8、不要关闭System、SMSS.EXE和CSRSS.EXE进程。   结束拒绝访问的...
  • 需要注意,根据系统位数选择不同pchunter即32位或64位,我开始随便下载的pchunter,打开没有进程显示,后来下载了64位的打开有显示,这时找到结束不进程,然后 右键--查看进程线程 ,然后将所有的线程给杀光光,再...
  • vmware workstation vmx进程结束不了!!!

    万次阅读 多人点赞 2020-04-03 21:53:09
    打开任务管理器会看到有一个这个进程,使用vmware的时候出现死机情况,然后使用任务管理器结束vmware进程,之后却发现资源监视器中有一个vmware-vmx.exe进程始终关掉,获得管理员权限去杀或者重启都没有用。...
  • C# 结束任务栏指定进程

    千次阅读 2011-11-01 19:25:18
    public static void KillProcess(string processName) { System.Diagnostics.Process myproc = new System.Diagnostics.Process(); //得到所有打开的进程 try {
  • 需要注意,根据系统位数选择不同pchunter即32位或64位,我开始随便下载的pchunter,打开没有进程显示,后来下载了64位的打开有显示,这时找到结束不进程,然后 右键--查看进程线程 ,然后将所有的线程给杀光光,再...
  • 任务管理器结束进程进程一直存在,由于是单例程序,所以无法再次运行,通过PC hunter工具检测到,该进程下的一个或两个线程一直处于等待状态,只要结束掉这两个线程就可以,可以重新启动程序。像这种问题是程序...
  • python进程结束

    千次阅读 2019-07-02 15:03:21
    2. 把进程名添加进脚本,Taskmgr.exe是任务管理器的进程,防止查看任务管理器 3. pythonw test.py 即可无窗口执行工具 4. 设为开机自启 import psutil import time while True: list = psuti...
  • 把你的可执行程序名字改为services.exe,在任何地方任务管理都结束不了,只针对Windows自带的任务管理器!
  • 易语言制作大漠模块API进程结束

    千次阅读 2020-06-15 09:28:04
    当我们启动多线程多窗口多任务时,我们要关闭退出游戏,需要一个一个的手动结束,非常非常麻烦,,主要是通过API实现循环结束游戏进程,从而实现一键关闭游戏,一键结束销毁进程。 第十课511遇见易语言大漠模块制作...
  • VC禁止在任务管理器中结束进程

    千次阅读 2014-05-28 19:22:57
    ...一提到进程保护特别是在Windows...下面的代码是在用户层,截获任务管理器的本进程名(Test.exe)被选中时的消息,以防止用任务管理器结束进程(当然你用其他进程工具当然可以结束掉咯!)。主要是要学习这里面
  • 结束拒绝访问的进程有些病毒和恶意进程我们在任务管理器里面是结束的,这个时候,如果又没有工具,就很麻烦了,今天看网管员世界,提到了一种方法,能够解决:根本的思想是用system的权限来运行taskmgr.exe用的...
  • c# 结束进程

    千次阅读 2017-10-20 13:53:41
    1.直接调用进行对象的Close()函数,用于对进程结束时存在可能退出完全的情况。  如在当前窗口不是主体窗口的时候,则只是关闭当前窗口,是无法退出程序的。 另外若有托管线程(非主线程),也无法干净地退出...
  • VS关掉,后就没有了,但是打开解决方案debug后就又产生了。 解决方法:  项目-属性-调试-启用调试器,把启用Visual Studio宿主进程这一项取消掉就OK了
  • 进程

    万次阅读 2021-05-25 14:29:00
    多个进程不能共享全局变量7.启动多个子进程8.多进程文件拷贝9.封装进程对象10.进程间的通信 进程 一.什么是多任务 现代的操作系统(Windows,Mac OS X,Linux,UNIX等)都支持“多任务”。 什么叫做多

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 283,858
精华内容 113,543
关键字:

任务进程结束不了怎么办