Giter VIP home page Giter VIP logo

Comments (9)

gdzjy avatar gdzjy commented on August 15, 2024 1

CreateObject("Wscript.Shell").Run "start_server.exe",0,False
CreateObject("Wscript.Shell").Run "start_client.exe",0,False

保存为vbs文件 就可以了。

from capswriter-offline.

qaq1000w avatar qaq1000w commented on August 15, 2024

#40

from capswriter-offline.

H1DDENADM1N avatar H1DDENADM1N commented on August 15, 2024

@kKevin0001 试试我这个GUI,不显示在任务栏,可以显示托盘图标。#53

start_server_and_client_in_tray

from capswriter-offline.

sjhsbhqf avatar sjhsbhqf commented on August 15, 2024

如果你希望cmd窗口一直显示,下面是基于gdzjy的回答的参考回答:

在VBScript中使用CreateObject("Wscript.Shell").Run方法时,第二个参数(在您的示例中是0)控制着命令窗口的显示方式。如果您希望执行脚本时显示CMD窗口,您需要更改这个参数。

这个参数的值有几种不同的选项,分别对应不同的窗口显示方式:

  • 0 表示隐藏窗口。
  • 1 表示显示窗口,并等待命令执行完成。

因此,如果您希望在执行start_server.exestart_client.exe时显示CMD窗口,您应该将这个参数改为1。修改后的脚本如下:

CreateObject("Wscript.Shell").Run "start_server.exe", 1, False
CreateObject("Wscript.Shell").Run "start_client.exe", 1, False

这样,当您执行VBScript脚本时,它会打开两个CMD窗口分别运行start_server.exestart_client.exe,并且这些窗口将保持可见,直到相应的程序执行完毕或被手动关闭。请注意,这里的False参数表示调用Run方法时不需要等待命令执行完成即继续执行后续的脚本。如果您希望脚本在执行完一个命令之后再继续执行下一个命令,可以将这个参数设置为True

from capswriter-offline.

sjhsbhqf avatar sjhsbhqf commented on August 15, 2024

如果你希望添加注释的话,可以参考下面这个回答哟

在VBScript(Visual Basic Scripting Edition)中,您可以添加注释来解释代码的功能或为将来的代码审查或修改提供便利。VBScript支持单行注释,可以通过以下方式添加:

单行注释

单行注释以单引号 (') 开始,例如:

' 这是一个单行注释

您也可以在代码行的末尾添加注释,例如:

CreateObject("Wscript.Shell").Run "start_server.exe", 1, False ' 启动服务器

注释的作用

  • 代码解释:帮助理解代码的意图和功能。
  • 代码调试:临时禁用某些代码行,而不是删除它们。
  • 备注信息:为代码添加作者、修改日期等备注信息。

示例

下面的示例演示了如何在VBScript脚本中使用注释:

' 创建 Wscript.Shell 对象
Set WshShell = CreateObject("Wscript.Shell")

' 运行 start_server.exe,显示窗口
WshShell.Run "start_server.exe", 1, False

' 运行 start_client.exe,显示窗口
WshShell.Run "start_client.exe", 1, False ' 启动客户端应用程序

请注意,VBScript 不支持多行注释块,所以您需要对每一行进行单独注释。通过在代码中妥善使用注释,可以提高代码的可读性和可维护性。

from capswriter-offline.

sjhsbhqf avatar sjhsbhqf commented on August 15, 2024

如果你希望显示服务端cmd窗口,然后隐藏客户端cmd窗口。但是苦恼于关闭服务端 cmd窗口时客户端的程序不会自动关闭。下面的答案可以借鉴一下:

使用 WMI(Windows Management Instrumentation)来查询和终止进程。WMI 可以通过 VBScript 访问,而且不需要打开命令行窗口,因此可以避免黑窗口不断弹出的问题。下面是如何使用 WMI 在 VBScript 中查询和终止特定进程的示例。

检查进程是否运行并终止进程的脚本示例:

' 创建 WMI 对象
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

' 定义进程名称
strServerProcess = "start_server.exe"
strClientProcess = "start_client.exe"

' 启动服务端
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "start_server.exe", 0, False

' 启动客户端
WshShell.Run "start_client.exe", 0, False

' 循环检查服务端进程是否运行
Do
    Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = '" & strServerProcess & "'")
    
    ' 如果服务端进程不再运行,则结束客户端进程
    If colProcesses.Count = 0 Then
        ' 查询客户端进程并结束
        Set colClientProcesses = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = '" & strClientProcess & "'")
        For Each objProcess in colClientProcesses
            objProcess.Terminate()
        Next
        Exit Do
    End If
    
    ' 等待一段时间后再次检查
    WScript.Sleep 5000
Loop

这个脚本使用 WMI 来检查 start_server.exe 是否运行,如果检测到服务端进程不再运行,则通过 WMI 查询客户端进程 start_client.exe 并终止它。这种方法不涉及命令行窗口的显示,因此可以避免黑窗口不断弹出的问题。

from capswriter-offline.

H1DDENADM1N avatar H1DDENADM1N commented on August 15, 2024

还可以看下这个项目SmartSystemMenu

它扩展了系统中所有窗口的系统菜单。 它会将下面的自定义项目追加到菜单,其中就包括

  • 系统托盘. 将当前窗口最小化或挂起到系统托盘。

图片

from capswriter-offline.

laybxc avatar laybxc commented on August 15, 2024

CreateObject("Wscript.Shell").Run "start_server.exe",0,False CreateObject("Wscript.Shell").Run "start_client.exe",0,False

保存为vbs文件 就可以了。

你好,我现在使用这个方法后并把vbs文件快捷方式放入startup中,服务端自启了,而客户端没有自启,这种是什么情况呢?

from capswriter-offline.

rockbenben avatar rockbenben commented on August 15, 2024

VBS 启动始终存在问题,仅启动服务器端而缺少客户端。转而使用以下 AutoHotkey 脚本后,问题得到解决。

; 设置程序的目录路径
programPath := "D:\Backup\Tools\0.System\CapsWriter-Offline\"

; 执行 start_server.exe,窗口隐藏,等待程序执行完毕
Run, %ComSpec% /c ""%programPath%start_server.exe"", , Hide, ProcessID_Server
WinWaitClose, ahk_pid %ProcessID_Server%

; 执行 start_client.exe,窗口隐藏,等待程序执行完毕
Run, %ComSpec% /c ""%programPath%start_client.exe"", , Hide, ProcessID_Client
WinWaitClose, ahk_pid %ProcessID_Client%

from capswriter-offline.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.