Menindas Keterlihatan Tetingkap Konsol Semasa Penciptaan Proses Jauh
Apabila melaksanakan arahan dari jauh menggunakan System.Diagnostics.Process, pengguna mungkin menghadapi isu a tetingkap konsol kelihatan mengganggu aliran kerja mereka. Walaupun menetapkan sifat seperti CreateNoWindow dan WindowStyle kepada Hidden, tetingkap konsol masih muncul.
Untuk menghapuskan isu ini, adalah penting untuk memastikan bahawa sifat UseShellExecute ditetapkan kepada palsu. Seperti yang dijelaskan oleh MSDN, jika UseShellExecute ditetapkan kepada benar atau jika mana-mana sifat UserName atau Kata Laluan bukan nol, CreateNoWindow akan diabaikan, menyebabkan tetingkap baharu dipaparkan.
Untuk membetulkan tingkah laku ini, gunakan coretan kod berikut:
ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = fullPath; startInfo.Arguments = args; startInfo.RedirectStandardOutput = true; startInfo.RedirectStandardError = true; startInfo.UseShellExecute = false; startInfo.CreateNoWindow = true; Process processTemp = new Process(); processTemp.StartInfo = startInfo; processTemp.EnableRaisingEvents = true; try { processTemp.Start(); } catch (Exception e) { throw; }
Dengan menetapkan UseShellExecute kepada false, CreateNoWindow akan dihormati, memastikan tiada tetingkap konsol dipaparkan semasa proses jauh dilaksanakan.
Atas ialah kandungan terperinci Bagaimana untuk Menghalang Tetingkap Konsol Kelihatan Apabila Memulakan Proses Jauh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!