我有一個場景,我必須創建一個Windows服務,它將檢查如果批處理文件沒有運行,那麼它應該執行該批處理文件。批處理文件沒有通過Windows服務執行
此外,我的批處理文件用於使用Selenium for Application checkout的自動化。
當我創建該服務,以某種方式批處理文件不執行,不能啓動硒。當我在任務管理器中看到相同時,我可以看到一個cmd實例正在運行,但無法運行我的硒。
我的項目代碼:定時器設置爲1分鐘
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (!File.Exists(ConfigurationManager.AppSettings["testFilePath"])) //To check whether batch file is running or not
{
System.Diagnostics.Process proc = new System.Diagnostics.Process(); // Declare New Process
proc.StartInfo.FileName = ConfigurationManager.AppSettings["BatchFilePath"];
proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.WaitForExit();
}
}
批處理文件是這樣的:
copy C:\AutomatedTests\AHD\testingWS.txt C:\AutomatedTests\AHD\AHDExecutionService\testingWS.txt
start cmd /k java -jar "C:\AHS_Automation\Release\UnifiedBillingSystem\Selenium RC\selenium-server-1.0.3\selenium-server.jar"
此代碼將定期檢查,如果批處理文件是不是在執行然後我服務將開始執行,否則將無能爲力。
提供正在運行批處理文件的代碼。 – 2012-07-18 12:06:02
@EstefanyVelez:我用我的代碼更新了這個問題。 – 2012-07-18 12:48:58
嘗試'CreateNoWindow = false' – 2012-07-18 13:28:06