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


Автор: alek1987new 29.3.2010, 05:24
Привет всем, помогите пожалуйста разобраться каким образом можно открыть папку, путьк к которой вычисляется программно. Заранее благодарен. smile 

Автор: Rennigth 29.3.2010, 08:07
Код

  ShellExecute(Handle, nil, {путь}, nil, nil, SW_SHOWNORMAL);

Автор: alek1987new 29.3.2010, 19:46
я пробовал подобным образом, но проблема заключается в том, что у меня одна переменная содержит путь к папке, и если я вставляю эту пременную в эту функцию на то место, где должен быть указан путь компилятор ругается.

Автор: Proxin 29.3.2010, 20:22
Код

procedure showfolder(pth:string);
begin
winexec(pchar('explorer.exe '+pth),sw_shownormal);
end;

Автор: Rennigth 29.3.2010, 23:26
alek1987new, 
Эта переменная у тебя типа string наверное... ?
Код

  ShellExecute(Handle, nil, PChar(Переменная), nil, nil, SW_SHOWNORMAL);

Автор: Mikel 30.3.2010, 08:52
Про WinExec забыть и больше не вспоминать!
Цитата

Note  This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function.

Автор: Rennigth 31.3.2010, 13:05
Цитата(Mikel @  30.3.2010,  08:52 Найти цитируемый пост)
Про WinExec забыть и больше не вспоминать!

 smile 

Автор: Демо 2.4.2010, 19:11
Цитата(Mikel @  30.3.2010,  08:52 Найти цитируемый пост)
Про WinExec забыть и больше не вспоминать!


Не надо на WinExec бочку катить.
Функция ещё долго будет служить. Полезна она тем, что позволяет дождаться, пока запускаемое приложение полностью загрузится и начнёт обрабатывать очередь сообщений (для оконных приложений).

Автор: Mikel 3.4.2010, 11:42
Так CreateProcess еще и информацию вернет о созданном процессе ) Служить будет долго, до тех пор пока на ХР остаетесь smile

Автор: Демо 3.4.2010, 13:45
Цитата(Mikel @  3.4.2010,  11:42 Найти цитируемый пост)
Так CreateProcess еще и информацию вернет о созданном процессе ) Служить будет долго, до тех пор пока на ХР остаетесь


А что ограничиваешь Windows XP? У меня прекрасно работает на Windows 7 x64.

Вот только некоторые вопросы:

- Зачем иногда излишняя дополнительная информация о процессе?
- CreateProcess позволяет дождаться, когда запускаемое приложение начнёт выбирать из очереди сообщения?
- CreateProcess можно вызвать без дополнительных усилий по заполнению служебных структур?


Это всё к тому, что не надо слишком прямолинейно следовать рекомендациям кого-бы то ни было.

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