Карта сайтаСсылкиКонтакты

Простой путь вызова CreateProcess()

PDF Печать
Статьи

Если Вы поищите функцию CreateProcess() в справке Win32, Вы заметите, что имеется более трех дюжин параметров, которые Вы можете произвольно устанавливать перед вызовом этой функции. Но Вы можете установить только минимальное количество тех параметров, чтобы сделать простой вызов CreateProcess(), как демонстрируется в следующей функции:


function CreateProcessSimple(sExecutableFilePath: string ): string;
var
  pi: TProcessInformation;
  si: TStartupInfo;
begin
  FillMemory(@si, sizeof(si), 0);
  si.cb := sizeof(si);

  CreateProcess(
    nil,
    PChar( sExecutableFilePath ),  // путь к исполняемому файлу:
    nil, nil, False,
    NORMAL_PRIORITY_CLASS, nil, nil,
    si, pi
  );

  // После вызывающего кода,
  // как код ожидания выполнения процесса,
  // Вы должны идти сюда

  CloseHandle(pi.hProcess);
  CloseHandle(pi.hThread);
end;

Теперь все, что нужно сделать - это только вызвать CreateProcessSimple(), скажем, чтобы запустить Блокнот Windows:


CreateProcessSimple('notepad');

 

Добавить комментарий


Защитный код
Обновить