Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Открыть папку содержащую этот файл и выделить его


Автор: IDontBelieveInSilence 20.11.2007, 18:20
Здравствуйте.  Есть файл, например bla.txt, расположен он в C:\BlaBla\, как можно открыть папку blabla и выделить bla.txt, как будто по нему левой кнопкой мыши щёлкнули?

Автор: Snowy 20.11.2007, 18:42
explorer.exe /e, /select, C:\BlaBla\bla.txt

Автор: IDontBelieveInSilence 20.11.2007, 19:09
А как эти строки вставить в ShellExecute? Я попытался так:
ShellExecute(0, '', 'explorer', '/e,/select', 'C:\blabla\bla.txt', SW_SHOW);
но меня выкинуло в корень C:\ и всё.

Автор: Snowy 20.11.2007, 20:54
Код
procedure ProgExec(CmdStr: string; WinState: word = SW_SHOWNORMAL);
var
  si:  TStartupInfo;
  pi:  TProcessInformation;
begin
  FillChar(si, SizeOf(si), 0);
  FillChar(pi, SizeOf(si), 0);
  with si do begin
    cb:=SizeOf(si); dwFlags:=1; wShowWindow:=WinState;
  end;
  CreateProcess(nil,PChar(CmdStr),nil,nil,false, 0,nil,nil, si, pi);
  CloseHandle(pi.hProcess); CloseHandle(pi.hThread);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ProgExec('explorer.exe /e, /select, "C:\Program Files\Movie Maker\moviemk.exe"');
  // или так
  // ProgExec('explorer.exe /e, /select, "' + ParamStr(0) + '"');
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)