VB.net 2015防止出现第二个CMD实例
im将命令流式传输到CMD实例,一切正常,但当我执行tesseract.exe时,另一个CMD实例将打开以执行此类程序 这是tesseract的常规行为如果我手动执行所有这些步骤,将显示第二个CMD实例来执行tesseract命令 这是我正在开发的windows应用程序的一部分,我真的不希望第二个实例出现 我试过了VB.net 2015防止出现第二个CMD实例,vb.net,Vb.net,im将命令流式传输到CMD实例,一切正常,但当我执行tesseract.exe时,另一个CMD实例将打开以执行此类程序 这是tesseract的常规行为如果我手动执行所有这些步骤,将显示第二个CMD实例来执行tesseract命令 这是我正在开发的windows应用程序的一部分,我真的不希望第二个实例出现 我试过了 Shell("cmd.exe", AppWinStyle.MinimizedFocus) Thread.Sleep(50) My.Computer.
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)
和
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)
在这3种情况下,主实例将按预期运行最小化或隐藏,但第二个实例将显示tesseract实例
如果我在这里得到一些帮助,我会非常感激,因为我已经没有办法阻止这样的事件发生了
提前感谢在睡了一个好觉之后,我想出了一个解决问题的方法,我创建了一个.bat文件,如下所示
Shell("cmd /c """ & "cd c:\users\Administrator\desktop\captcharuc\" & "&tesseract.exe imagen.jpg leerca -psm 7" & """", AppWinStyle.Hide, True)
然后用电话打了个电话
@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="
就这样。。mods可以随意将此线程标记为已解决。谢谢它说我明天可以接受我自己的答案,不知道OP的否决票是怎么回事?这里有什么不能投票的吗?我不是落选者,所以我不能告诉你。投票是匿名的。
Shell("c:\users\Administrator\desktop\captcharuc\tese.bat", AppWinStyle.Hide)