中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 20:54
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » Microsoft 网络的文件和打印机共享→勾选/取消勾选→VBS版 查看 4,337 回复 25
楼 主 Microsoft 网络的文件和打印机共享→勾选/取消勾选→VBS版 发表于 2007-05-13 01:09 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
谢谢eech的测试和lxmxn版主的ncpa.cpl,解决了非经典开始菜单下运行出错的bug。
增加了ronin要求的自动判断勾选状态,本机测试通过,但通用性差,需要的请自行修改。
注:运行参数 i 后没有任何反应是正常状态,因为检测到已经开启共享了不需要执行,反之 参数 u 也一样。
'''NetShare_Power.VBS by baomaboy
'''支持参数 i 开启,u 关闭,如:"wscript.exe NetShare_Power.VBS i"
Dim WshSHell
On Error Resume Next
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set WshShell = WScript.CreateObject("WScript.Shell")
Set Args = WScript.Arguments
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
oReg.GetMultiStringValue HKEY_LOCAL_MACHINE,"SYSTEM\CurrentControlSet\Services\lanmanserver\Linkage","Route", arrValues
For Each strValue In arrValues
DuoString=DuoString&strValue
Next
NetShareState = InStr(DuoString,"{86522D76-E90D-4C8B-957E-FA3603378EA5}")
if Args.Count=0 then
intAnswer = MsgBox("【是】将开启“Microsoft 网络的文件和打印机共享”项,"&Chr(10)&Chr(10)&"【否】将关闭“Microsoft 网络的文件和打印机共享”项。", vbQuestion + vbYesNoCancel, "开/关Microsoft 网络的文件和打印机共享” - baomaboy")
If intAnswer = vbYes and NetShareState = 0 Then
Call Exc
end if
If intAnswer = vbNo and NetShareState <> 0 Then
Call Exc
end if
elseif LCase(Args(0)) = "i" and NetShareState = 0 then
Call Exc
elseif LCase(Args(0)) = "u" and NetShareState <> 0 then
Call Exc
end if
Sub Exc()
WshSHell.Run "control.exe ncpa.cpl"
WScript.Sleep 1000
WshSHell.SendKeys "{DOWN}{UP}"
WScript.Sleep 1000
WshSHell.SendKeys "%FR"
WScript.Sleep 1000
WshSHell.SendKeys "{DOWN}{ }"
WScript.Sleep 1000
WshSHell.SendKeys "{TAB 5}{Enter}"
WScript.Sleep 3000
WshSHell.SendKeys "%FC"
End Sub
Set WshSHell = Nothing
WScript.Quit
 

[ Last edited by baomaboy on 2008-3-24 at 11:59 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
lxmxn +4 2007-05-13 03:35
2 发表于 2007-05-13 10:52 ·  中国 浙江 杭州 联通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
发现2000下。似乎没效果哦
3 发表于 2007-05-13 12:58 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
XPSP2运行后,
开始菜单闪一下
弹出搜索的窗口,
http://photo1.bababian.com/upload/20070513/626501CAA3B8CA18275245B6A0D150A6.jpg
然后自动关闭这个窗口
4 发表于 2007-05-13 14:01 ·  中国 广东 梅州 电信
中级用户
★★
积分 421
发帖 111
注册 2003-08-29 00:00
22年会员
UID 9153
性别 男
状态 离线
使用正常,谢谢baomaboy帮我解决了两个大问题
5 发表于 2007-05-13 14:37 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
Originally posted by eech at 2007-5-13 12:58:
XPSP2运行后,
开始菜单闪一下
弹出搜索的窗口,
http://photo1.bababian.com/upload/20070513/626501CAA3B8CA18275245B6A0D150A6.jpg
然后自动关闭这个窗口


^_^ 发现你的系统总与大家的有些异样啊,不过这个问题到是看明白了,你应该用的是xp默认的菜单,换成”经典开始“就行了,
等会儿写个两个菜单都适用的本版更新一下,
呵呵 你的测试很好啊,这两个代码更加完善了,适用性更强了。
6 发表于 2007-05-13 14:47 ·  中国 广东 梅州 电信
中级用户
★★
积分 421
发帖 111
注册 2003-08-29 00:00
22年会员
UID 9153
性别 男
状态 离线
等待你的新版本哦
7 发表于 2007-05-13 15:07 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
Originally posted by ronin at 2007-5-13 14:47:
等待你的新版本哦


已经改进了关于使用非“经典开始菜单”时运行出错的bug
8 发表于 2007-05-13 15:46 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
对了,baomaboy兄,你写的脚本是去掉这项的吧

http://photo1.bababian.com/upload/20070513/C345DEC54A6B2CE7ADF054EAA4D5DE47.jpg
9 发表于 2007-05-13 16:13 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
Originally posted by eech at 2007-5-13 15:46:
对了,baomaboy兄,你写的脚本是去掉这项的吧

http://photo1.bababian.com/upload/20070513/C345DEC54A6B2CE7ADF054EAA4D5DE47.jpg


是的,你的多了虚拟机。另外发图片时用“插入图片”功能或用代码发大家就可以直接看到了





[ Last edited by baomaboy on 2007-5-13 at 04:15 PM ]
10 发表于 2007-05-13 16:39 ·  中国 广东 梅州 电信
中级用户
★★
积分 421
发帖 111
注册 2003-08-29 00:00
22年会员
UID 9153
性别 男
状态 离线
baomaboy能不能改成勾选和取消勾选两个VBS?这样才方便批处理调用,在控制开通共享和关闭共享时候要分别调用才行
11 发表于 2007-05-13 17:01 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
Originally posted by ronin at 2007-5-13 16:39:
baomaboy能不能改成勾选和取消勾选两个VBS?这样才方便批处理调用,在控制开通共享和关闭共享时候要分别调用才行


理论上可以啊,一会儿有时间,我改一下,不用两个VBS,加个判断一个VBS就行。
12 发表于 2007-05-13 17:02 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
刚才没看到还要调用,如果不用两个VBS要加参数调用。
13 发表于 2007-05-13 17:18 ·  中国 广东 梅州 电信
中级用户
★★
积分 421
发帖 111
注册 2003-08-29 00:00
22年会员
UID 9153
性别 男
状态 离线
我觉得用两个和参数调用都可以
14 发表于 2007-05-13 17:47 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
Originally posted by ronin at 2007-5-13 17:18:
我觉得用两个和参数调用都可以


是可以,要么两个VBS文件,要么一个VBS文件加参数调用,

嗯 那个 “判断勾选” 可能要读一下注册表或用到WMI,你可以先试试看。我现在没时间,之后再试。
15 发表于 2007-05-14 10:10 ·  中国 广东 梅州 电信
中级用户
★★
积分 421
发帖 111
注册 2003-08-29 00:00
22年会员
UID 9153
性别 男
状态 离线
发现了一个问题,批处理设置IP和其它电脑有重复时候,这个VBS就没有效果
论坛跳转: