Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите запустить bаt файл из билдера

14K
14 марта 2006 года
Baglandir
9 / / 14.03.2006
Помогите запустить bаt файл из билдера
Сори, забыл как ето делается.
294
14 марта 2006 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Baglandir
Помогите запустить bаt файл из билдера
Сори, забыл как ето делается.


Код:
int                  Result = -1;
    DWORD                ExitCode;
    STARTUPINFO          si;
    PROCESS_INFORMATION  pi;
    BOOL                 isProcessRunning;

    ZeroMemory((PVOID)&si, (DWORD)sizeof(si));
    ZeroMemory((PVOID)&pi, (DWORD)sizeof(pi));
    si.cb               = sizeof(si);
    si.wShowWindow      = ShowMode /* SW_SHOWNORMAL */;
    Log.Write(AnsiString("Выполнение внешней программы: ") + CmdLine); // Это мой объектик для записи лога…
    if(CreateProcess(NULL,
                     CmdLine.c_str(), // Командная строка типа здеся…
                     NULL,
                     NULL,
                     FALSE,
                     CREATE_NEW_CONSOLE | NORMAL_PRIORITY_CLASS,
                     NULL,
                     WorkDir.c_str(),
                     &si,
                     &pi) == TRUE)
    {
        CloseHandle(pi.hThread);
        WaitForInputIdle(pi.hProcess, INFINITE);
        WaitForSingleObject(pi.hProcess, INFINITE);
        GetExitCodeProcess(pi.hProcess, &ExitCode);
        CloseHandle(pi.hProcess);
        Result = ExitCode;
        Log.Write(AnsiString("Выполнение внешней программы завершено,"
                                    " код возврата ") + AnsiString(ExitCode));
    }
    else
    {
        throw Exception("Не могу запустить внешний процесс!");
    } // <<< if(CreateProcess(...

См. также ShellExecuteEx()
1.9K
14 марта 2006 года
Anton Chik
175 / / 26.09.2005
ага. я вот так это делал
 
Код:
ShellExecute ( Sender, "open", "mybat.bat", NULL, NULL, SW_SHOWNORMAL );
294
14 марта 2006 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Anton Chik
ага. я вот так это делал
 
Код:
ShellExecute ( Sender, "open", "mybat.bat", NULL, NULL, SW_SHOWNORMAL );


ага, а откуда хэндл запущенного процесса взять?

14K
14 марта 2006 года
Baglandir
9 / / 14.03.2006
спасибо Plisteron, запустилось через

ShellExecute ( Sender, "open", "mybat.bat", NULL, NULL, SW_SHOWNORMAL );
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог