Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.09;
Скачать: CL | DM;

Вниз

Как открыть файл через Explorer.....   Найти похожие ветки 

 
Makhanev A.S. ©   (2003-09-24 00:20) [0]

Нужно показать файл в explorer"е: то есть открывается проводник и выделяется нужный файл.
С помошью ShellExecute могу только открывать папку файла, а как его выделить???


 
ЮЮ ©   (2003-09-24 03:12) [1]

TOpenDialog


 
Makhanev A.S. ©   (2003-09-24 18:55) [2]

ЮЮ © (24.09.03 03:12) [1]
Да нет, видимо, я не так изъяснился.

Мне нужно:

ShellExecute(Application.Handle, "explore", PChar(ExtractFilePath(FileName)), nil, nil, SW_SHOWNORMAL);


Но в добавок, чтобы файл выделялся... то есть на него попал фокус ввода.
А ShellExecute только папку открывает...


 
ЮЮ ©   (2003-09-25 03:42) [3]

А что тебе даст это выделение, да ещё во внешнем к программе окне?
Юзер может вообще кликнуть по другому файлу (или вообще ничего не открывать).

А используя OpenDialog, ты показываешь практически то же самое, что и в окне explorer.При этом пользователь может запустиь этот же файл также как и из explorer: ShellExecute(nil, "open", PChar(OpenDialog.FileName), nil, nil, SW_SHOWNORMAL), а можно открыть его как-то иначе из программы


 
Makhanev A.S. ©   (2003-09-26 02:25) [4]


> ЮЮ © (25.09.03 03:42) [3]

Не могу понять, причём ту OpenDalog.

Пример - в нашей программе показана куча файлов из разных директорий. Юзер хочет быстренько перейти к какому-либо из них.
Он жмет что-то вроде "открыть содержащую объект папку" -> открывается обычный Explorer и показывает ему этот файл.

Конкретный пример - поиск файлов (F3) в Windows.
Там любой найденный файл можно открыть, используя "Открыть содержащую объект папку".
Ровно то же самое (пункт меню) я имплементирую.
Вот только проблемка в том, что ShellExecute+"explore" не выделяет файл.

И если открылась директория с кучей файлов, то юзеру придется потратить n секунд на дополнительные действия по поиску нужного ему файла.


 
icebeerg ©   (2003-09-26 10:07) [5]

Посмотри параметры explorer"a
------------------------------
Explorer [/e,][/root,<объект>,] [[<папка>]| [/select, <объект в папке>]]
/e - Просмотр всех папок и содержимого исходной папки.
Без данного параметра открывается только содержимое исходной папки.
С параметром - проводник
/root,<объект> - Указание имени папки, содержимое которой требуется просмотреть (по умолчанию открывается содержимое рабочего стола).
Ограничивает верхний уровень до папки <объект>
/select - Выделение требуемого объекта в папке.
<объект в папке> - Указание имени объекта для выделения в папке. Если параметр /select не задан, в проводнике открывается соответствующая папка. По умолчанию это объект верхнего уровня (расположенный в корне).
/s,/n - Развернуть окно на весь экран
---------------------------------------


 
Makhanev A.S. ©   (2003-09-26 20:52) [6]


> icebeerg © (26.09.03 10:07) [5]

Огромное спасибо!
Это то, что мне нужно.



Страницы: 1 вся ветка

Текущий архив: 2003.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
3-27414
NAlexey
2003-09-18 08:53
2003.10.09
Interbase 5.0 - missing registry


1-27608
Kinder
2003-09-27 18:12
2003.10.09
Как randomom отсортировать символы?


1-27544
bfg1000ke
2003-09-29 16:15
2003.10.09
Assembler


1-27477
star
2003-09-26 20:48
2003.10.09
PrintScreen и Alt+PrintScreen


3-27301
Vlad
2003-09-19 12:31
2003.10.09
Вопрос по InterBase