Запуск бат-файла в фоновом режиме - C#
Формулировка задачи:
Имеется код на си шарпе:
По тику таймера должен запускаться батник, который выводит время и записывает в текстбокс. Вопрос: как данный бат-файл запустить без появления окна cmd?
string str_test = "time.bat"; void ViewTime() { using (var vbs1 = new StreamWriter(str_test)) { vbs1.WriteLine(@"echo %time%"); vbs1.Close(); var porc = Process.Start(str_test); } } .... private void timer2_Tick(object sender, EventArgs e) { ViewTime(); }
Решение задачи: «Запуск бат-файла в фоновом режиме»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.IO; using Microsoft.Win32; namespace WindowsFormsApplication2 { public partial class Form1 : Form { string str_test = "time.bat"; public Form1() { InitializeComponent(); } void ViewTime() { using (var vbs1 = new StreamWriter(str_test)) { vbs1.WriteLine(@"echo %time%"); vbs1.Close(); var proc = new Process(); proc.StartInfo.FileName = str_test; proc.StartInfo.UseShellExecute = false; proc.StartInfo.CreateNoWindow = true; proc.Start(); } Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = "time.bat"; p.Start(); string output = p.StandardOutput.ReadToEnd(); p.WaitForExit(); textBox1.Text = output.Substring((output.Length - 13), 8); } private void timer1_Tick(object sender, EventArgs e) { ViewTime(); } private void Form1_Load(object sender, EventArgs e) { timer1.Start(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д