From cd6644ea4ddc78597934ab0ef5ba50e3c3daa927 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Sat, 8 Jul 2023 23:25:41 +0200 Subject: Moved to a simpler SSG --- public/non-blocking-shell-exec-csharp.html | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 public/non-blocking-shell-exec-csharp.html (limited to 'public/non-blocking-shell-exec-csharp.html') diff --git a/public/non-blocking-shell-exec-csharp.html b/public/non-blocking-shell-exec-csharp.html new file mode 100755 index 0000000..3a4ebe9 --- /dev/null +++ b/public/non-blocking-shell-exec-csharp.html @@ -0,0 +1,36 @@ +Execute not blocking async shell command in C#

Execute not blocking async shell command in C#

May 22, 2023

Execute a shell command in async in C# while not blocking the UI thread.

private async Task executeCopyCommand()
+{
+  await Task.Run(() =>
+  {
+    var processStartInfo = new ProcessStartInfo("cmd", "/c dir")
+    {
+      RedirectStandardOutput = true,
+      UseShellExecute = false,
+      CreateNoWindow = true
+    };
+
+    var process = new Process
+    {
+      StartInfo = processStartInfo
+    };
+
+    process.Start();
+    process.WaitForExit();
+  });
+}
+

Make sure that async is present in the function definition and await is used +in the method that calls executeCopyCommand().

private async void button_Click(object sender, EventArgs e)
+{
+  await executeCopyCommand();
+}
+
\ No newline at end of file -- cgit v1.2.3