中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-27 16:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 限制打开应用程序的数量? 查看 983 回复 9
楼 主 限制打开应用程序的数量? 发表于 2008-06-23 11:00 ·  中国 广东 肇庆 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
如何通过修改注册表来限制打开应用程序的数量,例如一次过只能够打开10应用程序的窗口,超过10个就关机或注销。
2 发表于 2008-06-23 11:10 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
注册表还有这功能?
3 发表于 2008-06-23 13:05 ·  中国 广东 肇庆 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
用组策略或者第三方工具也可以,只要能够 限制打开应用程序的数量,就可以了.不一定要注册表.
4 发表于 2008-06-23 13:12 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
开机的时候检测一下进程的数量(假设是a)
以后定期检测进程的数量(假设是b)
如果发现b-a>10就shutdown

这个思路行吗?
5 发表于 2008-06-23 13:26 ·  中国 湖北 武汉 联通
新手上路
杀手
积分 11
发帖 9
注册 2008-04-24 13:58
18年会员
UID 116811
性别 男
来自 湖北武汉
状态 离线
貌似可以,但有时候不太准确。
开机的时候并不能保证所有程序都加载了.....
6 发表于 2008-06-23 13:55 ·  中国 广东 肇庆 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
同意楼上的说法,不一定在开机时就加载所有程序.
7 发表于 2008-06-23 14:02 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
“打开应用程序的数量”是指同一个应用程序的数量?
8 发表于 2008-06-23 14:32 ·  中国 广东 肇庆 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
不是同一个程序,任何程序都可以,以下是我写的一个自动计时的批处理的其中一部份,但不知道为什么,连续打开多个程序,直到系统提示"虚拟内存不够,不能运行所有应用程序"时,这个正在运行的自动计时的批处理就自动停止了.
@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%的机会都会意外停止.
望高手指教.
9 发表于 2008-06-23 16:32 ·  中国 广东 肇庆 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
这可能是bat的一个病,希望大家能够帮我解决这个难题。
10 发表于 2008-06-23 19:15 ·  中国 广东 肇庆 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
原来可以用cmdow来解决这个难题。
论坛跳转: