【问题标题】:How to Create "Instant Messaging" in Notepad++ - VBScript如何在 Notepad++ 中创建“即时消息” - VBScript
【发布时间】:2014-08-29 03:08:24
【问题描述】:

作为与几个朋友过去的时间,我正在尝试通过记事本++制作一种“即时消息”。

设置如下: 三台计算机连接在一个网络上。在计算机 2 上,其目录中有 Notepad++。在计算机 3 上,有 VBScript 和文本文件(在 Notepad++ 中打开)。 Notepad++ 中的“F5”键已分别反弹为“Reload From Disk”。

目标是让 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 来实现这些结果?

【问题讨论】:

    标签: loops vbscript notepad++ instant-messaging


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 2023-02-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多