我試圖運行一系列的測試/診斷程序,無論我做什麼,全部同時運行。我假設這是由於程序打開後代碼繼續運行,然後立即執行下一個任務。爲了給出一點背景知識,我已經在基本的基礎上編寫了一個簡單的測試腳本,現在需要使用GUI實現最新的測試腳本。批處理文件會一個接一個地打開程序,因爲它會等到應用程序關閉才移到下一行(除非使用啓動命令)。VB.net中的非併發外部程序
下面是我用VB中的內容:
Private Sub btnRunselect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRunselect.Click
If cbDevmgr.Checked = True Then
MessageBox.Show("DEVMGR!")
End If
If cbCamera.Checked = True Then
MessageBox.Show("Camera!")
End If
If cbKeyboard.Checked = True Then
MessageBox.Show("Keyboard!")
End If
If cbMic.Checked = True Then
MessageBox.Show("Mic!")
End If
If cbBit.Checked = True Then
MessageBox.Show("Bit!")
End If
End Sub
這是信息框而不是啓動的程序。
現在批處理代碼是這樣的。
:run1
echo .
echo .
echo ----------------------------------
echo . Final Test
echo ----------------------------------
echo .
echo .
SET %S="Final Test"
\utils\nircmdc\nircmdc mutesysvolume 0
\utils\nircmdc\nircmdc setsysvolume 65535
set s=%s: =,%
\utils\nircmdc\nircmdc speak text %S%
:: figure out where the batch drive is
for %%a in (c,d,e,f,g,h,i,j) do if exist %%a:\BurnInTest\bit.exe set drv=%%a
%drv%:
echo .
echo .
echo ----------------------------------
echo. Device Manager
echo ----------------------------------
echo .
echo .
cd C:\Windows\System32\
devmgmt.msc
cd \
%drv%:
echo .
echo .
echo ----------------------------------
echo. Camera Test
echo ----------------------------------
echo .
echo .
\passmark\BurnInTest\AMCap\amcap.exe
echo .
echo .
echo ----------------------------------
echo. Keyboard Test
echo ----------------------------------
echo .
echo .
\passmark\BurnInTest\KeyboardTest\KeyboardTest.EXE -r
echo .
echo .
echo ----------------------------------
echo. Mic Test
echo ----------------------------------
echo .
echo .
\passmark\BurnInTest\SoundCheck\SoundCheck.EXE -R
GOTO run6
RUN6
任何幫助,將不勝感激!提前致謝。
你如何啓動程序?你可以顯示啓動其中一個程序的代碼嗎? – Markus
我開始這樣的過程: Process.Start(「c:\ Windows \ System32 \ devmgmt.msc」) 我將消息框放入隔離器中,稍後在程序中測試其他一些功能。我也嘗試使用DIM xxxx AS NEW system.diagnostics.process字符串來定義該過程,但這也不起作用。 – user3120457