从VB.net中的命令提示符读取文本

时间:2012-07-15 14:56:04

标签: vb.net qr-code command-prompt

我最近发现这个名为zbarcam的应用程序是一个命令提示应用程序,它从我的网络摄像头读取QR码。当我从命令提示符运行它并在命令提示符下显示所有QR代码文本时,它工作得很好。

现在我正在尝试将其功能集成到我的VB.Net项目中,但是,尽管我可以使用StartInfo加载应用程序,但我无法读取命令提示符中显示的QR代码。

以下是我正在使用的代码:

    Dim myprocess As New Process

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    With myprocess
      .StartInfo.FileName = "C:\Progra~2\ZBar\bin\zbarcam"
      .StartInfo.RedirectStandardOutput = True
      .StartInfo.UseShellExecute = False
      .Start()
    End With
    Timer1.Enabled = True
    Timer1.Start()
  End Sub

  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    resultsTextBox.Text = myprocess.StandardOutput.ReadToEnd
  End Sub

我想要做的是每秒检查一次命令提示中的文本更改。但是,当我运行此代码时,命令提示符显示为黑色,当我将代码移到相机前时,虽然它检测到它(我可以在视频预览中看到QR代码周围的绿色框),但是在命令提示符中不显示。

如果我将“ .StartInfo.UseShellExecute ”设置为True并注释“ .StartInfo.RedirectStandardOutput = True ”并禁用计时器,则qr代码启动在命令提示符下显示,但我无法阅读它们!

最好的方法是什么?理想情况下,我希望仅在发生更改时才从命令提示符读取,但如果无法完成此操作,那么下一个最好的方法是每秒轮询一次命令提示符并检查更改。

0 个答案:

没有答案