[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 15# wh1234567


    这就是6楼问你的目的,9楼的代码正是运行后一直监视。

TOP

数值是29也不自动执行a.bat啊,咋回事?

TOP

Listening for Registry Change Events...


脚本:        C:\Documents and Settings\Administrator\桌面\新建 文本文档 (2).vbs
行:        18
字符:        5
错误:        无法打开注册键值 "HKEY_LOCAL_MACHINE\333\444" 进行读取。
代码:        80070002
源:         WshShell.RegRead

这个代码需修正,应该是"HKEY_LOCAL_MACHINE\333" 里右边的名称"444
而不是HKEY_LOCAL_MACHINE\333\444

TOP

回复 18# wh1234567

为了便于显示,作了少许修改,但不影响原有功能。
C:\Users\root\Desktop>type a.bat
@echo hello&pause

C:\Users\root\Desktop>type a.vbs
...
Sub SINK_OnObjectReady(wmiObject, wmiAsyncContext)
    Value = ws.RegRead(Hive&"\"&KeyPath&"\"&ValueName)
    WScript.Echo "Registry Value Changed: " & Value
    if CStr(Value)="29" then ws.Run "a.bat" ',0 '后面加0表示隐藏窗口运行

End Sub

C:\Users\root\Desktop>start /b cscript C:\Users\root\Desktop\a.vbs

Listening for Registry Change Events...

C:\Users\root\Desktop>reg add hklm\Software\333 /v 444 /d 28 /f
操作成功完成。

Registry Value Changed: 28

C:\Users\root\Desktop>reg add hklm\Software\333 /v 444 /d 29 /f
操作成功完成。

Registry Value Changed: 29

C:\Users\root\Desktop>


vbs运行a.bat弹出了一个窗口:
hello
请按任意键继续. . .

TOP

系统找不到指定的路径。
hello
请按任意键继续. . .

TOP

回复 20# wh1234567


    你想说什么呢?

TOP

回复 21# powerbat


    不管用,没效果

TOP

回复 22# wh1234567


那你的
hello
请按任意键继续. .
是怎么来的呢?

和你们交流真是累死了。。。

TOP

hello
请按任意键继续. .
按任意键后就自动退出了,进程里也看不到,注册表里相应的29也没见变化,我的a.bat是处理注册表项的,但没见自动执行a.bat
我的a.bat和你刚才这个批处理是在相同目录下的

TOP

是不是刚才你这个代码不完整啊?

TOP

回复 25# wh1234567


    你把19楼的内容好好看一遍,对比一下你是哪里写的有问题。

TOP

我就是复制的你这个代码啊,
代码里... 这个是什么意思?

TOP

19楼引用的内容是在cmd中手动执行命令进行演示的过程。
...是英文省略号,表示省略9楼代码的相同部分以免浪费,还特意用蓝色区分与9楼代码不同的地方。浅蓝色是vbs的执行结果。

TOP

C:\Users\root\Desktop
为什么指定路径,在当前路径不行吗
我的批处理只能自己创建个文件夹放进去?哎

TOP

回复 29# wh1234567


    省略路径当然也可以。
那是我的cmd初始目录不是C:\Users\root\Desktop,而在其他地方运行过那条命令,后来我切换到桌面,直接按↑↓方向键调出历史命令,懒得重新输入。

你的bat随便放在哪里都可以,只要在ws.Run那里填上正确的路径即可(相对路径也行)。
这个vbs的作用只是监视注册表和启动bat,你在bat里可以随便写,已经与这个vbs无关了。

TOP

返回列表