现在帮我兄弟写一个保护系统的小工具,他是一个学校的电脑老师,为了防止学生在机房玩游戏,要我帮他写一个拒绝多进程的小工具。我前几天给他写的只能定时Timer结束,但CPU常会到100%.我当时要写时,就想说,在游戏进入进程前就拒绝,但能力上的问题,没有解决这个问题,只好用Timer来定时结束进程。不知道CSDN上的兄弟们,有没有好的成功例子。

解决方案 »

  1.   

    这种东西应该靠良好的Windows基础管理的如果是NT系统,设置好目录权限,在组策略中配置软件安全策略就可以了还有一种方法比较绝,就是独占打开DirectX和OpenGL的DLL库,阴险但是很管用。稍微牛一点的游戏都没办法运行
      

  2.   

    到我论坛去找找吧
    现在在老家等回到公司给你把代码贴上来
    http://chenhui530.com/forum/index.php
      

  3.   

    补充一下,按你的要求ms是要用API截获了
    很恐怖,呵呵~因为钩子钩到的时候程序已经开始运行了
      

  4.   

    http://download.csdn.net/source/160745
    自动关闭某些程序或者窗口还是好编写的。明天放上我的一个程序。
    功能自动运行,禁止运行某些程序,窗口。
    昨天刚编写了一个资源管理器,能在任何程序(可以设置指定某些程序不提示)运行之前提示需要输入密码。密码不对就不能运行。文件打开不提示。
    RHExplorer.exe明天放上来你看看。
      

  5.   

    如果只是简单的禁止游戏进程 你试试这个 http://xacker.net/MyProgram/Tlist.exe
    初学时写的 很烂 VB5编译 
    最近加入了一些新功能 高手就不要下载了
      

  6.   

    http://download.csdn.net/user/xx22nn/
    vb写的一个程序工具中把对号去掉。
    发现原来网吧不停的运行pubwin.exe程序他在干什么。
    这是全国公共网吧收费管理系统程序。
    RHExplorer.exe
      

  7.   

    回复:pigpag(Pigpag - A GRE Fighter)
    我想可以在游戏进入进程前,栏截到发出的信息吧。
    如果这样难度很高的话,不知有没有更优化的方法在进程中进行自动结束指定的进程名?因为我写的结束指定进程的工具每天对进程扫描时都让CPU使用到100%
      

  8.   

    回复:xx22nn() 为了保证隐私。我写的没有对窗口进行监视。
    而拒绝多进程的思路是:游戏进入进程前确定是否与工具中写的进程名一样。
    比较游戏启动文件为:game.exe,工具中有申明拦截“game.exe”,那学生在启动游戏时就直接被工具拒绝启动。
    这样的软件我以前好像也有看到过,是家长防止小孩乱玩的。我现在写的其实也是一样,防止学生进入色情网或其他网,同时也要防止学生在课堂上玩游戏。。
    而防止进入网站的功能完成了,但拒绝进程的功能因为我制作的常会让CPU到100%所以只能先取消。想问这边的高手有没有办法。
      

  9.   

    我不知道你的程序为什么这么严重我写过一个程序,不但监视进程,还监视模块,就是会自动关闭调用特定DLL、OCX的程序。原理上没什么区别,我的程序用Timer,间隔500ms,双进城守护,CPU占用率基本为0。所以肯定是你的代码效率比较低,或者Interval太小了
      

  10.   

    我给你个代码你看看吧
    效率非常不错
    使用的是WMI事件的形式
    http://chenhui530.com/forum/viewthread.php?tid=356&extra=page%3D1
      

  11.   

    看看其中的lockTfs自动关闭系统设置,和系统注册表工具
    RHExplorer.exe程序如果运行的是本身不提示直接运行,其他程序就会弹出一个对话框。
    由于没有增加保存配置。所以不能在exe生成后自己订制。
    此程序都提示被学生发现。不过即使不提示学生也知道是老师对计算机作了手脚。
    http://download.csdn.net/user/xx22nn/
      

  12.   

    chenhui530(陈辉)  
    对不起,本帖要求阅读权限高于 10 才可浏览,请返回 。。
    怎么写 CPU都到不了100呀 只是简单的遍历进程和结束 
    TIMER控件 响应时间设成1 代码再怎么复杂  也不会100%吧  
    难道楼主用的是386? 哈哈
      

  13.   

    只是简单的遍历进程和结束 
    TIMER控件 响应时间设成1 代码再怎么复杂  也不会100%吧  
    难道楼主用的是386? 哈哈
    ====================================
    开始我编写的这种程序也是耗费资源多,是因为某些语句使用不当。
    后来发现运行1个小时左右后内存被占满,调试发现原来没有及时收回资源,修改后好了。
    哪个lockTfs和Ytool就是发现进程改变才刷新。平时看不到他使用资源。
    任务管理器监视的东西比较多才使用1%。
      

  14.   

    既然这么多人关注  我也来个
    近日发现一函数 功能很奇怪
    GetProcessImageFileName
    好像可以获取一些已经关闭的进程 知道的麻烦解释一下 谢了Declare Function GetProcessImageFileName Lib "psapi.dll" Alias "GetProcessImageFileNameA" (ByVal hProcess As Long, ByVal lpImageFileName As String, ByVal nSize As Long) As Long
      

  15.   

    我使用的代码与http://zhidao.baidu.com/question/15936209.html中的“鲸无敌”写的差不多。。只不过把Command改成用Timer来处理。。
      

  16.   

    我不知道你的程序为什么这么严重我写过一个程序,不但监视进程,还监视模块,就是会自动关闭调用特定DLL、OCX的程序。原理上没什么区别,我的程序用Timer,间隔500ms,双进城守护,CPU占用率基本为0。所以肯定是你的代码效率比较低,或者Interval太小了
    =========================================================
    模块怎么监视???系统进程里面那么多模块你都监视吗???那就真的比较占用资源了。
    还有系统进程里面的模块要如何关闭啊???
      

  17.   

    晕了直接晕了我看不如就用API拦截算了你HOOK住OpenProcess,hehe
      

  18.   

    用time效率的确不高哦如果你用time控件cpu占用率高你可以减少点inv