【问题标题】:VB6 + how to exe script on linux machine from VB6 appVB6 + 如何从 VB6 应用程序在 Linux 机器上执行脚本
【发布时间】:2012-01-08 01:01:34
【问题描述】:

在 Windows XP 机器上运行的 VB6 应用程序如何通过 SSH 在 Linux 机器 (Redhat 5.3) 上运行脚本?

VB 应用程序应采用以下参数

  1. Linux 登录
  2. Linux 密码
  3. 脚本路径

然后通过SSH运行脚本路径。

例如

ARG1 Login –        root
ARG2 Password –     USA123
ARG3 Script path -  /var/tmp/task.pl 

VB6 将在 Linux 机器上运行脚本/var/tmp/task.pl

【问题讨论】:

  • @BNL 嗨,我开始学习 VB6,但直到现在我还没有找到任何解释如何在 Linux 上从 vb6 运行脚本的示例
  • 如何在 Linux 机器上运行 VB 6?
  • @Cody Gray - 不,我想在 win XP 上运行 VB6,而 vb6 将通过 ssh 连接到 linux 机器以便在那里运行脚本
  • @Cody Grayny - 对我的问题有什么建议吗?
  • 只需从 putty 包(带有 VB6 Shell 功能)启动 plink 即可通过 SSH 执行任何 bash 命令。

标签: vba vb6 vbscript windows-xp


【解决方案1】:

您可以尝试使用“shell”函数创建命令窗口,然后通过“sendKeys”函数向其发送 ssh 命令和参数。但是,这将是一个容易出错的解决方案。

如果您想要更永久的修复,请查看this VB Library for SSH manipulation。你可能会发现它很有用。这是a sample project的链接。

编辑:

我没有 VB6 IDE,所以我重用了我之前创建的 VBScript 文件。它既可以按原样运行,也可以很容易地转换为 VB6 代码。

Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "C:\Windows\System32\telnet.exe"
WScript.Sleep(1000)
objShell.SendKeys "o telnet.example.com"
WScript.Sleep(1000)
objShell.SendKeys "{enter}"
WScript.Sleep(10000)
objShell.SendKeys "user"
WScript.Sleep(2000)
objShell.SendKeys "{enter}"
WScript.Sleep(1000)
objShell.SendKeys "pass"
WScript.Sleep(2000)
objShell.SendKeys "{enter}"
WScript.Sleep(1000)
objShell.SendKeys "./var/tmp/task.pl"
WScript.Sleep(1000)
objShell.SendKeys "{enter}"
WScript.Sleep(1000)

【讨论】:

  • 你好,你能给我一个shell命令的例子,在Linux上从WIN XP shell执行脚本
  • “shell”函数可用于创建命令提示符窗口,然后可以操作该窗口以使用“sendkeys”函数打开 SSH 会话。这是一个显示其用途的 SO 帖子:stackoverflow.com/questions/290899/…。但是,我建议你看看我的第二个建议。基于“shell”和“sendkeys”的解决方案可能非常不可靠。
  • telnet.exe 不做 SSH。
  • @Deanna 我已经用 telnet.exe 试过了,我只想发布对我有用的代码。但是,这个想法适用于任何基于命令行的 ssh 客户端(例如 OpenSSH 附带的 ssh.exe)。
猜你喜欢
  • 2012-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多