Как вызвать _wsystem, не показывая консоль? - PullRequest
2 голосов
/ 12 января 2011

Я хотел бы скопировать файл в место назначения с помощью пакетной команды в моем коде.

    szCommand.Format(_T("copy \"%s\" \"%s\""), szOrg, szTargetFile);
    _wsystem(szCommand);

Однако каждый раз, когда вызывается _wsystem, будет отображаться окно консоли, что очень неприятно.

Есть ли способ вызвать _wsystem без отображения окна консоли?Или любая другая альтернатива?

Ответы [ 3 ]

6 голосов
/ 12 января 2011

Чтобы контролировать появление новой программы, используйте CreateProcess. Затем вы можете использовать CREATE_NO_WINDOW флаг создания процесса , чтобы скрыть окно консольной программы.

Но чтобы скопировать файл из одного места в другое, пропустите внешние программы и просто наберите CopyFile.

1 голос
/ 12 января 2011

Зачем выкладывать, когда есть Win32 API, который скопирует файл для вас. Это называется CopyFile!

Подробности здесь: http://msdn.microsoft.com/en-us/library/aa363851%28VS.85%29.aspx

#include <windows.h>

CopyFileA(szOrg, szTargetFile, FALSE);  // use CopyFileW if szOrg and szTargetFile are unicode strings
0 голосов
/ 12 января 2011

Было бы хорошо, если бы свернутое окно было в порядке? Смотрите это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...