Board logo

标题: 限制打开应用程序的数量? [打印本页]

作者: mgq     时间: 2008-6-23 11:00    标题: 限制打开应用程序的数量?

如何通过修改注册表来限制打开应用程序的数量,例如一次过只能够打开10应用程序的窗口,超过10个就关机或注销。
作者: HAT     时间: 2008-6-23 11:10
注册表还有这功能?
作者: mgq     时间: 2008-6-23 13:05
用组策略或者第三方工具也可以,只要能够 限制打开应用程序的数量,就可以了.不一定要注册表.
作者: HAT     时间: 2008-6-23 13:12
开机的时候检测一下进程的数量(假设是a)
以后定期检测进程的数量(假设是b)
如果发现b-a>10就shutdown

这个思路行吗?
作者: sany217     时间: 2008-6-23 13:26
貌似可以,但有时候不太准确。
开机的时候并不能保证所有程序都加载了.....
作者: mgq     时间: 2008-6-23 13:55
同意楼上的说法,不一定在开机时就加载所有程序.
作者: HAT     时间: 2008-6-23 14:02
“打开应用程序的数量”是指同一个应用程序的数量?
作者: mgq     时间: 2008-6-23 14:32
不是同一个程序,任何程序都可以,以下是我写的一个自动计时的批处理的其中一部份,但不知道为什么,连续打开多个程序,直到系统提示"虚拟内存不够,不能运行所有应用程序"时,这个正在运行的自动计时的批处理就自动停止了.
@echo off
Setlocal EnableDelayedExpansion
title 自动计时
set ks=!time:~0,2!
set kb=!time:~3,2!
set ke=30
if !kb! lss 10 set kb=!kb:~1,1!
set/a kr=!kb!+!ke!
set/a kt=!kr!/60
set ad=60
if !kr! lss 60 set ad=1
set/a ky=!kr!-!ad!*!kt!
set/a ku=!ks!+!kt!
set/a ki=!ks!+!kt!
set bm=
if !ky! lss 10 set bm=0
if !ku! geq 24 set/a ku=ku-24
set gj=!bm!!ky!
set vg=!time:~0,2!
set vh=!time:~3,2!
:time
cls
set bv=
set bk=!time:~0,2!
set bo=!time:~3,2!
set bm=!time:~3,2!
set td=!time:~7,1!
if !bk! lss 23 set ki=!ku!
if !bo! lss 10 set bo=!bo:~1,1!
set/a bv=(!ki!-!bk!)*60+!gj!-!bo!
if !td! == 2 set te=现在时间:!bk!点!bm!分
if !td! == 4 set te=结束时间:!ku!点!gj!分
if !td! == 8 set te=开始时间:!vg!点!vh!分
if !td! == 0 set te=剩余时间: !bv! 分钟
title !te!
sleep 1
goto time

并不是每一次都会停止,但有80%的机会都会意外停止.
望高手指教.
作者: mgq     时间: 2008-6-23 16:32
这可能是bat的一个病,希望大家能够帮我解决这个难题。
作者: mgq     时间: 2008-6-23 19:15
原来可以用cmdow来解决这个难题。