2016-11-05 41 views
-2
 Shell("cmd.exe", AppWinStyle.MinimizedFocus) 

    Thread.Sleep(50) 
    My.Computer.Keyboard.SendKeys("cd c:\users\Administrator\desktop\captcharuc", True) 
    My.Computer.Keyboard.SendKeys("{Enter}", True) 
    Thread.Sleep(50) 
    My.Computer.Keyboard.SendKeys("tesseract.exe imagen.jpg leerca -psm 7", True) 
    My.Computer.Keyboard.SendKeys("{Enter}", True) 
    Thread.Sleep(50) 
    My.Computer.Keyboard.SendKeys("exit", True) 
    My.Computer.Keyboard.SendKeys("{Enter}", True) 

IM流命令到CMD实例,一切工作正常,但是当我执行tesseract.exe另一个CMD实例打开来执行这样的程序。VB.net 2015年防止第二次CMD实例显示

这是tesseract的常规行为,如果我手动执行所有这些步骤,第二个CMD实例将显示执行tesseract命令。

这是一个Windows应用程序,即时通讯开发的一部分,真的不希望第二个实例出现。

我试图与

Const strCmdText As String = "/c cd c:\users\Administrator\desktop\captcharuc\&tesseract.exe imagen.jpg leerca -psm 7" 
    Dim startInfo As New ProcessStartInfo("CMD.EXE") 
    startInfo.WindowStyle = ProcessWindowStyle.Minimized 
    startInfo.WindowStyle = ProcessWindowStyle.Hidden 
    startInfo.CreateNoWindow = True 
    startInfo.UseShellExecute = False 
    startInfo.Arguments = strCmdText 
    Process.Start(startInfo) 

Shell("cmd /c """ & "cd c:\users\Administrator\desktop\captcharuc\" & "&tesseract.exe imagen.jpg leerca -psm 7" & """", AppWinStyle.Hide, True) 
在3例

主要实例要么运行最小化或隐藏的意图,但二审将弹出正方体实例。

真的很感激,如果我在这里得到一些帮助,因为我跑出了关于如何防止此类事件发生的想法。

在此先感谢

回答

0

一个良好的夜间睡眠后,我想出了一个解决问题的办法,我确实创造了这样

@Echo off 
Set _SourcePath=C:\Users\Administrator\Desktop\captcharuc\*.jpg 
Set _OutputPath=C:\Users\Administrator\Desktop\captcharuc\ 
Set _Tesseract="C:\Program Files (x86)\Tesseract-OCR\tesseract.exe" 
For %%A in (%_SourcePath%) Do Echo Converting %%A...&%_Tesseract% %%A %_OutputPath%%leerca 
Set "_SourcePath=" 
Set "_OutputPath=" 
Set "_Tesseract=" 

.bat文件,然后用

称它为
Shell("c:\users\Administrator\desktop\captcharuc\tese.bat", AppWinStyle.Hide) 

这就是它.. mods可以随意标记此线程已解决。谢谢

+0

使用左侧的复选标记标记为已解决。 – LarsTech

+0

它说我明天可以接受我自己的答案,想知道在OP下调什么?有什么可以在这里投票吗? –

+0

我不是downvoter,所以我不能告诉你。投票是匿名的。 – LarsTech