Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Анд Гость
|
Добавлено: Пн Ноя 01 2004 09:31 Заголовок сообщения: Запуск программы другой программой |
|
|
Помогите пож.!
Ситуация такая:
1)система Win
2)две программы
3)язык Це
Программа кот. я пишу должна вызвать др. программу кот. уже скомпилирована. Пусть будэ называться "TurnOnMe.exe"
Как её запустить на выполнение, а за тем вернуться в вызывающую?
Спасибо. |
|
Вернуться к началу |
|
|
Andy_user
Зарегистрирован: 03.12.2003 Сообщения: 382 Откуда: Санкт-Петербург
|
Добавлено: Пн Ноя 01 2004 09:57 Заголовок сообщения: |
|
|
Посмотрите справку по функции API
CreateProcess _________________ Знание принципов компенсирует незнание фактов. |
|
Вернуться к началу |
|
|
Анд Гость
|
Добавлено: Пн Ноя 01 2004 16:57 Заголовок сообщения: |
|
|
А без этого зверя мона как-нить сделать?
С помощью system() никак не получается
Может что-то не так делаю
Код: |
system("TurnOnMe.exe");
|
Це компилит, но чАвото не пашет красавица наша. |
|
Вернуться к началу |
|
|
FUKS
Зарегистрирован: 14.04.2002 Сообщения: 148 Откуда: Москва
|
Добавлено: Пн Ноя 01 2004 17:06 Заголовок сообщения: |
|
|
Анд писал(а): | А без этого зверя мона как-нить сделать? |
Как-то можно (exec или что-то вроде того), но чем плох CreateProcess? Это он только с виду страшен, а на самом деле там почти все параметры забиваются нулями и NULLами, заполняется только самое необходимое. |
|
Вернуться к началу |
|
|
Анд Гость
|
Добавлено: Пн Ноя 01 2004 18:01 Заголовок сообщения: |
|
|
Просто для курсовика это. => Про эту ф-ию писать надо будет. |
|
Вернуться к началу |
|
|
Михаил Н.
Зарегистрирован: 30.10.2004 Сообщения: 12 Откуда: Ростов-на-Дону
|
Добавлено: Пн Ноя 01 2004 19:38 Заголовок сообщения: |
|
|
Есть много функций. Например, spawnl() , WinExec(),ShellExecute() и.т.д.
spawnl(P_WAIT, "TurnOnMe.exe","TurnOnMe.exe", NULL);
Вместо P_WAIT можно по-моему писать P_NOWAIT для того, чтобы первая программа не ждала когда закончится вторая. А первый строковый параметр содержит путь к запускаемой программе.
(Второй - ее параметр). |
|
Вернуться к началу |
|
|
{KIR} Гость
|
Добавлено: Пт Ноя 05 2004 18:50 Заголовок сообщения: system() |
|
|
юзай system(<здесь ПОЛНЫЙ путь ко второму экзешнику>), например:
system ("C:\myprog.exe"); |
|
Вернуться к началу |
|
|
Анд Гость
|
Добавлено: Сб Ноя 06 2004 01:13 Заголовок сообщения: |
|
|
Пробовал!!! Чаво-то не пашет... Мож приinclude'ить что-нить надо? |
|
Вернуться к началу |
|
|
DarkFlame Гость
|
Добавлено: Пн Ноя 08 2004 16:29 Заголовок сообщения: |
|
|
Смотри хелп по API функции ShellExecute. |
|
Вернуться к началу |
|
|
Анд Гость
|
Добавлено: Пн Ноя 08 2004 23:28 Заголовок сообщения: |
|
|
Не знает кто почему в Turbo C ф-ция не пашет, а MSVC++ все работает, а? |
|
Вернуться к началу |
|
|
DmitryShm
Зарегистрирован: 17.11.2003 Сообщения: 211 Откуда: Казань
|
Добавлено: Вт Ноя 09 2004 09:12 Заголовок сообщения: все функции делают одно и то же.. |
|
|
Все функции делают одно и то же, но стоит использовать только те, которые рекомендуются производителями ПО, как неустаревшие. Например, те, которые продублированы в Unicode-варианте. Юзать те, которые автоматически выбирают вариант в зависимости от определения/неопределения системного макроса _UNICODE. Так или иначе, используя возможности Windows, придется использовать заголовки Windows'а. Независимо от того, в каком IDE программируется. Просто MSVS автоматически пришлепывают все "обычно необходимые заголовки и библиотеки". Следует многие ненужные оттудова удалить, т.к. необоснованно увеличивают код.
PS: Неважно для курсовой это, или нет, т.к. это говорит только о классе программирования : сразу, порой, видно кто писал (развивающийся или же незаинтересованный в своем развитии программист, но это так, к слову). _________________ love IT |
|
Вернуться к началу |
|
|
Анд Гость
|
Добавлено: Вт Ноя 09 2004 17:52 Заголовок сообщения: |
|
|
Всем спасибо за помощь. |
|
Вернуться к началу |
|
|
|