Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не могу запустить файл [D7, WinXP]


sicilla ©   (2006-05-30 12:41:00) 

Добрый день! есть такой код запуска любого файла с ожиданием завершения работы с файлом:
function StartAssociatedExe(FileName: string; var ErrorCode: Cardinal): Boolean;
var
  Prg: string;
  ProcessInfo: TProcessInformation;
  StartupInfo: TStartupInfo;
begin
    SetLength(Prg, MAX_PATH);
    Result := False;
    ErrorCode := FindExecutable(PChar(FileName), nil, PChar(Prg));
    if ErrorCode >= 32 then
    begin
         SetLength(Prg, StrLen(PChar(Prg)));
         FillChar(StartupInfo, SizeOf(TStartupInfo), 0);
         with StartupInfo do
              begin
                   cb := SizeOf(TStartupInfo);
                   wShowWindow := SW_SHOW;
              end;
         if CreateProcess(PChar(Prg), PChar(Format('%s %s', [Prg, FileName])),
            nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then
         begin
              WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
              GetExitCodeProcess(ProcessInfo.hProcess, ErrorCode);
              CloseHandle(ProcessInfo.hProcess);
              CloseHandle(ProcessInfo.hThread);
              Result := True;
         end
         else ErrorCode := GetLastError;
    end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  ErrorCode: Cardinal;
begin
    StartAssociatedExe('c:\Документ Microsoft Word.doc', ErrorCode);
    showmessage('Выполнение закончено');
end;

При запуске Word говорит, что не может найти файл. В чем тут загвоздка? Помогите пожалуйста


sicilla   (2006-05-30 12:58:00) [1]

Супер! Спасибо огромное!


Dmitrij_K   (2006-05-30 12:52:00) [2]

if CreateProcess(nil, PChar(Format('"%s" "%s"', [Prg, FileName])),


Наверх

Титульная страница Поиск, карта сайта Написать письмо