2016-11-05 42 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