Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как запускать приложения из своей программы ?  (Прочитано 1821 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zayac_val

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
В MFC есть функция ShellExecute(...), с помощью которой можно запускать из программы любое приложение, я написал програмульку в KDevelop и все чего не хватает это аналога ShellExecute(...) в KDevelop т.е. в Qt. Помогите пожалуйста, бо умираю .

Thread

  • Гость
Насчёт Qt не знаю, но в C/C++ есть system(), в POSIX есть fork(), execve(), popen(). Курить маны по этим функциям.

Оффлайн Viewizard

  • Активист
  • *
  • Сообщений: 481
    • Просмотр профиля
fork() + execl(), имхо, наилучший вариант именно как замена ShellExecute-а. Я в свое время разбирал эту тему.
Вот тебе небольшой пример из закормофф родины
        int x;
        x = fork();

            switch(x)
            {
                case -1:
                        printf("error, unable to fork process!\n");
                        break;
                case 0:
                        printf("This is the forked process!\n");

                        execl(getenv("SHELL"), "sh", "-c", binary_with_path, (char *)0);

                        // если тут - произошел сбой и мы не перешли на дочерний процесс
                        printf("Error executing process!\n");
                        break;
                default:
                        printf("This is the original process!\n");
            }
Если что-то не ясно - кури маны  ;)

a-v, ты тут живешь, чтоли  :2funny:
Обходя разложенные грабли, ты теряешь драгоценный опыт!

 

Страница сгенерирована за 0.025 секунд. Запросов: 25.