1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Вызов программ

Тема в разделе "С и С++", создана пользователем -Karter-, 22 апр 2008.

Статус темы:
Закрыта.
  1. -Karter-

    -Karter- Гость

    Репутация:
    0
    Хотелось бы узнать, возможно ли из программы вызвать другую независимо скомпилированную программу. И каким образом это возможно сделать?
     
  2. shisik

    shisik Well-Known Member

    Репутация:
    0
    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    CreateProcess
     
  3. biz

    biz Гость

    Репутация:
    0
    еще есть ShellExecute, но она уже может не только запустить EXE-шник, но и открыть документ и т.п...
     
  4. shisik

    shisik Well-Known Member

    Репутация:
    0
    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Открыть документ можно и через CreateProcess. Только ShellExecute сама решает, каким приложением его открывать (в соответствии с настройками Windows), а CreateProcess нужно вручную указавать приложение и по желанию можно в параметрах запуска указать документ, который и будет открыт...
     
  5. biz

    biz Гость

    Репутация:
    0
    shisik
    да, тока я не вижу смысла открывать документ (например .doc) через CreateProcess если это можно проще зделать через ShellExecute
     
  6. shisik

    shisik Well-Known Member

    Репутация:
    0
    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    А если например .doc по какой-то причине с word не ассоциирован?Или если нужна доп. функциональность (например, запуск приостановленного процесса). Как это сделать через ShellExecute? Или нужны атрибуты защиты не по умолчанию. Или скажем нужен HANDLE запущенного процесса...
     
  7. biz

    biz Гость

    Репутация:
    0
    shisik
    можно и HANDLE взять если захотеть, но ты думаешь например -Karter- {удалено модератором} какой знаток всего этого дела?? я не говорю что я гуру, просто я думаю сейчас ему {удалено модератором} не нужен никакой HANDLE процесса и уж тем более менять атрибуты защиты по умолчанию... и поэтому предлогаю самый простой способ, как можно реализовать вызов одно проги из другой. да ну и {удалено модератором} с ними с документами... если он просто хочет вызвать программу, то ему {удалено модератором} не нужны никакие ассоциации файлов. {удалено модератором} лезть в на пальму, если какосы уже под ней лежат еп-т!!

    Код:
    BOOL CreateProcess(
    LPCTSTR lpApplicationName,	// pointer to name of executable module 
    LPTSTR lpCommandLine,	// pointer to command line string
    LPSECURITY_ATTRIBUTES lpProcessAttributes,	// pointer to process security attributes 
    LPSECURITY_ATTRIBUTES lpThreadAttributes,	// pointer to thread security attributes 
    BOOL bInheritHandles,	// handle inheritance flag 
    DWORD dwCreationFlags,	// creation flags 
    LPVOID lpEnvironment,	// pointer to new environment block 
    LPCTSTR lpCurrentDirectory,	// pointer to current directory name 
    LPSTARTUPINFO lpStartupInfo,	// pointer to STARTUPINFO 
    LPPROCESS_INFORMATION lpProcessInformation 	// pointer to PROCESS_INFORMATION 
    );
    
    HINSTANCE ShellExecute(
    HWND hwnd,	// handle to parent window
    LPCTSTR lpOperation,	// pointer to string that specifies operation to perform
    LPCTSTR lpFile,	// pointer to filename or folder name string
    LPCTSTR lpParameters,	// pointer to string that specifies executable-file parameters 
    LPCTSTR lpDirectory,	// pointer to string that specifies default directory
    INT nShowCmd 	// whether file is shown when opened
    );
    чуешь разницу!!?

    sax_ol
    смысл есть во всем, особенно если кто-то это может доказать и объяснить, а не просто кричать: "Я ВСЕ ЗНАЮ!!"
     
  8. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    biz, цензурно выражаться можете?
     
  9. -Karter-

    -Karter- Гость

    Репутация:
    0
    Всем огромное спасибо за помощь!
     
  10. korgik

    korgik Гость

    Репутация:
    0
    да, очень хороший вопрос. только что то на него не хотят отвечать упорно :)
     
Загрузка...
Похожие Темы - Вызов программ
  1. alexas1
    Ответов:
    0
    Просмотров:
    649
  2. k85
    Ответов:
    0
    Просмотров:
    456
  3. Sanchezz86
    Ответов:
    1
    Просмотров:
    780
  4. vln1981
    Ответов:
    0
    Просмотров:
    1.166
  5. JohnLemon
    Ответов:
    3
    Просмотров:
    1.491
Статус темы:
Закрыта.

Поделиться этой страницей