2014-08-28 51 views
0

与过去几次朋友一样,我试图通过记事本++来创建一种“即时消息”。如何在记事本++中创建“即时消息” - VBScript

设置如下: 三台电脑连接在一个网络上。在计算机2上,其目录中有Notepad ++。在计算机3上,有VBScript和文本文件(在Notepad ++中打开)。 记事本++中的“F5”键已被分别反弹为“从磁盘重新加载”。

目标是让Notepad ++每2秒钟左右刷新一次,但是只能在Notepad ++中刷新,即使在后台也是如此。 VBScript旨在关闭Notepad ++关闭。

的VBScript是如下(记住我有VB脚本没有现成的经验,预计主要缺陷):

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 

记事本+ +将打开文本文件,并开始F5循环。但是,无论Notepad ++是否为活动窗口,F5都将继续,并且在Notepad ++关闭时脚本不会关闭。

我当然错过了一些东西,但经过几个小时的研究和试验,我找不到解决方案。

只用VBScript就可以实现这些结果吗?

回答

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