作为与几个朋友的过去时间,我正试图通过记事本++制作一种“即时消息”。
设置如下: 网络上连接了三台计算机。在计算机2上,其目录中有Notepad ++。在计算机3上,有VBScript和文本文件(在Notepad ++中打开)。 Notepad ++中的“F5”键已分别反弹为“从磁盘重新加载”。
目标是让Notepad ++每2秒左右刷新一次,但只能在Notepad ++中刷新,即使在后台也是如此。 VBScript意味着关闭Notepad ++。
VBScript如下(请记住,我之前没有VBScripts的经验;期待重大缺陷):
strFileName = "\\08-111096-CISCO\Users\Straka.J\Downloads\Notepad++"
Dim oShell
set oShell = CreateObject("wScript.Shell")
oShell.Run "notepad++ ""\\08-111099-CISCO\Users\Javorsky.G\Downloads\New Text Document.txt"""
oShell.AppActivate "\\08-111096-CISCO\Users\Straka.J\Downloads\Notepad++\notepad++.exe"
Do
WScript.Sleep 500
oShell.SendKeys "{F5}"
wScript.Sleep 2000
Loop Until Quit
Notepad ++将打开文本文件并开始F5循环。但是,无论Notepad ++是否为活动窗口,F5都将继续运行,并且在Notepad ++关闭时脚本不会关闭。
我当然错过了一些东西,但经过几个小时的研究和实验,我找不到解决方案。
只用VBScript就可以实现这些结果吗?
答案 0 :(得分:0)
AppActivate()
将返回True
。使用该返回值来确定是继续刷新还是关闭脚本。
Do While oShell.AppActivate("\\08-111096-CISCO\Users\Straka.J\Downloads\Notepad++\notepad++.exe")
oShell.SendKeys "{F5}"
WScript.Sleep 2000
Loop
' Script exit