gpt4 book ai didi

shell - 在vb6中获取实际的Powershell返回值?

转载 作者:行者123 更新时间:2023-12-02 23:25:27 26 4
gpt4 key购买 nike

好吧,所以我已经尝试了一段时间,而且我意识到这并不是经常要问的问题,而且随着vb6逐渐被淘汰,似乎没有比这少的帮助了。我想谈一下语言。

标题实际上并没有全部说明,因为我正在尝试做一些非常具体的事情。我需要执行一个shell命令(我知道该怎么做),但是,执行完之后,我希望能够将该命令的返回值保存为字符串。例如,如果命令是ipconfig,则我希望该命令的整个返回值(执行该命令后在powershell中看到的所有文本)都保存到程序中的字符串中。

据我所知,我需要“导入”一些东西,因为我必须使用WshShell,但我不知道从哪里获得。这就是问题的一部分,我必须添加哪些类以及如何添加,或者是否有一种无需添加类就可以做到的方法,那就更好了。另外,我听说过很多有关CreatePipe的使用以及类似问题的信息,但是我不知道如何使用它。

基本上,我的意思是说我对这个主题没有任何知识,任何见解都会受到赞赏,并感谢所有答复。

最佳答案

有很多方法。使用VBScript的WSHShell.Exec是最简单的。

这是VBScript,但是可以将VBScript粘贴到VB中(反之亦然)。

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")

Set oExec = WshShell.Exec("ipconfig")

Do While oExec.Status = 0
WScript.Sleep 100
Loop
MsgBox oExec.StdOut.ReadAll

从帮助中略有修改。

这是从VBS / VB ping的方法
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * From win32_PingStatus where address='104.43.195.251'")
'msgbox colItems
For Each objItem in colItems
msgbox "Status" & objItem.statuscode & " Time " & objItem.ResponseTime
Next

关于shell - 在vb6中获取实际的Powershell返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38255453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com