2014-01-06 2 views
1

Я создал файл program.exe, который сам по себе не выводит результат при запуске, он просто запускает окно чистой командной строки.Открыть program.exe без окна командной строки

Цель состоит в том, чтобы запустить его, и не должно быть окон командной строки, оно должно просто запускаться в фоновом режиме. Я пробовал его в командной строке с помощью «start/B program.exe», который работает хорошо. Но я не хочу вводить это в каждый момент времени, и я не хочу создавать для него командный файл, потому что должен быть только один файл exe, который я транснанирую на любой компьютер. Надеюсь, что вопрос ясен. Есть ли возможность сделать это так?

+0

Это немного запутанное описание ... "cmd/c start/b executable.exe". В чем проблема? но в чем причина? –

+0

Я хочу запустить exe-файл в cmd с помощью «start/B * .exe» , но я не хочу вводить его, я просто хочу щелкнуть по файлу и начать его. Решение состоит в том, чтобы написать файл * .cmd с «start/B * .exe», но должен быть только один файл. – jonadev95

+0

'editbin/SUBSYSTEM: WINDOWS the_exe_file.exe' И тогда не будет открыто консольное окно. –

ответ

1

Редактировать: после просмотра изменений и комментариев по этому вопросу ясно, что это неправильный курс действий. Как отмечается в комментариях, правильная вещь - просто сделать .exe, который не подключается к консоли, вместо того, чтобы притворяться, как я показал здесь.

Как насчет того, чтобы ваша программа вызывала себя с помощью функции start /b?

int main(int argc, char** argv) 
{ 
    if (argc < 2) 
    { 
     printf("in first process\n"); 
     system("start /b test.exe x"); 
    } 
    else 
    { 
     printf("in second process\n"); 
    } 
} 
+0

Есть ли возможность получить никакой выход из системной функции? – jonadev95

+0

Вы можете перенаправить вывод везде, где хотите, в том числе изменить его на 'system (" start/b test.exe x> nul ");'. – Kevin

Смежные вопросы