Trước khi bạn nói câu hỏi trùng lặp của nó, hãy để tôi giải thích (vì tôi đã đọc tất cả các chủ đề tương tự).Ẩn Cửa sổ Lệnh trong C# Ứng dụng
Ứng dụng của tôi có cả các thiết lập này:
procStartInfo.CreateNoWindow = true;
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
và cũng là có WindowsApplication như các loại đầu ra.
Cửa sổ màu đen STILL xuất hiện khi tôi gọi một lệnh dòng lệnh. Tôi có thể làm gì khác để che giấu cửa sổ không? Nó không xảy ra cho tất cả các lệnh, XCOPY là một tình huống mà nó cửa sổ đen hiện lên. Điều này chỉ xảy ra mặc dù khi đích đến, tôi XCOPYing cũng đã chứa tệp và nó nhắc tôi nếu tôi muốn thay thế nó. Ngay cả khi tôi vượt qua/Y nó vẫn sẽ nhấp nháy một thời gian ngắn.
Tôi đang mở để sử dụng VBScript nếu điều đó sẽ giúp ích, nhưng có ý tưởng nào khác không?
Các khách hàng sẽ gọi thực thi của tôi và sau đó vượt qua trong một ví dụ lệnh dòng lệnh:
C:\MyProgram.exe start XCOPY c:\Test.txt c:\ProgramFiles\
Dưới đây là đoạn code đầy đủ của ứng dụng:
class Program
{
static void Main(string[] args)
{
string command = GetCommandLineArugments(args);
// /c tells cmd that we want it to execute the command that follows and then exit.
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
// Do not create the black window.
procStartInfo.CreateNoWindow = true;
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo = procStartInfo;
process.Start();
}
private static string GetCommandLineArugments(string[] args)
{
string retVal = string.Empty;
foreach (string arg in args)
retVal += " " + arg;
return retVal;
}
}
Bạn có thể đăng phần còn lại của 'Process' /' ProcessStartInfo' c ode? –
@fletcher: Nó được nêu trong câu hỏi rằng loại đầu ra là Ứng dụng Windows và không phải bàn điều khiển. Tôi đã thử nghiệm nó với loại đầu ra thiết lập để ứng dụng Windows và nó hoạt động tốt. @snow: Tôi sẽ kiểm tra lại thiết lập OutputType của bạn. – nukefusion
@fletcher Đó thực sự là một vấn đề! Tôi muốn cho cửa sổ không hiển thị ở tất cả! – mint