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


Автор: astral 3.5.2006, 16:13
Подскажите как надо.
Хочу в прооге открыть заданную папку, но она не открываеться, только приложение фокус теряет и всё.
вот фрагмент, вроде правильно
Код

procedure OpenFolder(path:String);
begin
  ShellExecute(0, 'explore', PChar(path), nil, nil, 0);
end;
 

Автор: Vit 3.5.2006, 16:23
ShellExecute(Handle, 'Open', 'Explorer.exe', nil, PChar(path), 0);
 

Автор: Snowy 3.5.2006, 16:29
Просто немножко не туда
Код
  ShellExecute(0, 'explore', nil, nil,  'C:\Windows', SW_SHOW);
  

Автор: astral 3.5.2006, 16:37
Спасибо. А я мучался. 

Автор: Rennigth 3.5.2006, 16:40
Vit, 
Snowy, 
а вы проверяли?... у меня нето, нето не отработало... smile
Код

  ShellExecute(0, 'Open', PChar('Explorer'), PChar(APath), nil, 
SW_SHOW);

 

Автор: astral 3.5.2006, 17:07
у меня вот так работает
Код

ShellExecute(0, nil, PChar(path), nil, 'explore', 1);
 

Автор: Snowy 3.5.2006, 17:12
Код
  ShellExecute(0, 'explore', nil, nil, PChar(APath), SW_SHOW);
Прекрасно работает.
Может ты просто каталог неверно указал?  

Автор: astral 3.5.2006, 17:28
щас проверил и так работает
Код

ShellExecute(0, 'explore', nil, nil, PChar(APath), 1);

и так работает
Код

ShellExecute(0, nil, PChar(path), nil, 'explore', 1);


только открывает по разному: с типичными задачами или с проводником.

кстати у меня на SW_SHOW ругаеться, что надо подключать. 

Автор: Snowy 3.5.2006, 17:39
Цитата(astral @  3.5.2006,  17:28 Найти цитируемый пост)
hellExecute(0, 'explore', nil, nil, PChar(APath), 1);
Это открывает проводник. Т.к. указано explore.

Цитата(astral @  3.5.2006,  17:28 Найти цитируемый пост)
ShellExecute(0, nil, PChar(path), nil, 'explore', 1);
Это просто открывает папку, т.к. 'explore' здесь не указано. Точнее указано, но совсем не там, где надо. Поэтому по дефолту работает 'open'.

Цитата(astral @  3.5.2006,  17:28 Найти цитируемый пост)
кстати у меня на SW_SHOW ругаеться, что надо подключать. 
SW_SHOW = 0. Так что они равносильны. 

Автор: DvarfInkvizitor 3.4.2007, 10:00
Всем привет!

У меня вопрос, касающийся данной темы:
как сделать, что бы по нажатию кнопки открывался диалог открытия ПАПКИ ( не файла!!) и соответственно передавался  обратно путь выбранной папки??
это реализуется обычным диалогом TOpenDialog??

Автор: Snowy 3.4.2007, 10:07
DvarfInkvizitor, вопрос никак не касается данной темы.
На будущее - создавай отдельный топ.
По сабжу - смотри FAQ:
http://forum.vingrad.ru/base/Kak-vyivesti-dialog-Obzor-papok-2543.html
http://forum.vingrad.ru/base/Using-the-Shell-API-function-SHBrowseForFolder-889.html

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