UINT WinExec( LPCSTR lpCmdLine, UINT uCmdShow ); //Запускает какую-либо программу
//Если функция выполнится удачно, то тогда возвращаемое значение
//больше 31.
//При Ошибке может возвращать следующие значения:
//0 - системе не хватило памяти или ресурсов.
//ERROR_BAD_FORMAT - exe-файл поврежден или не выполнимый файл.
//ERROR_FILE_NOT_FOUND - указанный файл не найден.
//ERROR_PATH_NOT_FOUND - указанный путь не найден.
HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd );
// Возвращает дескриптор запущенного приложения в случае удачи.
//Если же произойдет ошибка, то тогда могут вернуться следующие
//значения:
//0 - не хватило памяти или ресурсов.
// ERROR_BAD_FORMAT - exe-файл поврежден или не выполнимый файл.
// ERROR_FILE_NOT_FOUND - указанный файл не найден.
// ERROR_PATH_NOT_FOUND - указанный путь не найден.
// SE_ERR_ACCESSDENIED - система запретила доступ к файлу.
//SE_ERR_ASSOCINCOMPLETE - расширение файла некорректно или
неполно.
//SE_ERR_DLLNOTFOUND - указанная библиотека не найдена.
//SE_ERR_FNF - указанный файл не найден.
//SE_ERR_NOASSOC - нет приложения ассоциированного с данным
//расширением.
...
Запуск постороннего приложения
Подскажите пожалуйста как запустить постороннее приложение из Microsoft Visual C++! Пробовал функцию system(filename); но она запускает консоль и файл а мне показывать консоль не нужно(((
Есть возможность просто это сделать из Qt -
Цитата: FerdoPerdoz@
Подскажите пожалуйста как запустить постороннее приложение из Microsoft Visual C++! Пробовал функцию system(filename); но она запускает консоль и файл а мне показывать консоль не нужно(((
WinExec - запускает программы на выполнение.
ShellExecute - может делать тоже самое плюс открывать файлы документов по расширению с помощью приложения, за которым данное расширение зарегистрировано.
Код:
Все подробности в MSDN.
Плюс ещё CreateProcess.