Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];

Вниз

Как открыть файл через 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
14-27692
Johnny Smith
2003-09-22 14:20
2003.10.09
Нарыл в локалке Терминатора - 3. Это же БРЕДДДДДДД!


1-27478
Charly
2003-09-19 22:58
2003.10.09
Остановить выполнение нити


1-27597
Кен
2003-09-29 07:20
2003.10.09
Как сделать, чтобы через определённый промежуток времени,


1-27460
Scote
2003-09-29 22:03
2003.10.09
Вместо букв - вопросительные знаки


14-27661
Guzz
2003-09-22 15:20
2003.10.09
Борьба со спамом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский