Как скрыть консоль CMD от этого кода? - PullRequest
3 голосов
/ 27 июля 2011

Как скрыть консоль из этого кода? В настоящее время консоль cmd отображается каждый раз, когда я запускаю этот код.

protected override void OnStart(string[] args)
{            
    String applicationName = "cmd.exe";
    // launch the application
    ApplicationLoader.PROCESS_INFORMATION procInfo;
    ApplicationLoader.StartProcessAndBypassUAC(applicationName, out procInfo);

}

Как мне выполнить файл * .bat отсюда? Могу ли я просто заменить «cmd.exe» на «xxx.bat»?

Ответы [ 2 ]

4 голосов
/ 27 июля 2011

Добавить системную ссылку на код;

using System Diagnostics;

Затем используйте этот код, чтобы скрыть окно CMD и запустить.

Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
cmd.StartInfo.Arguments = "Your arguments";
cmd.Start();
0 голосов
/ 27 июля 2011

Попробуйте использовать класс Process вместо ApplicationLoader (я никогда не слышал об этом классе, это пользовательский класс?)

Пример кода:

 using System.Diagnostics;

 Process pr = new Process();
 pr.StartInfo.FileName = "cmd.exe";
 pr.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
 pr.Arguments = "xxx.bat";
 pr.Start();
...