Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как вызвать диалог "свойства", У файла или папки

5.7K
18 ноября 2003 года
storms
1 / / 18.11.2003
Кто может доступно объяснить как сделать сабж(лудше бы исходником), если имеется только путь
к файлу.
Это тот диалог, который показывается, если на файле или папке нажать правой клавишей мыши и
выбрать "Свойства"
Только не отправляйте к MSDN! Я там накопал что-то про IShellFolder но так до конца и не понял,
как это делается...
Кто может объяснить? Ау, Спецы с большой буквы откликнитесь!
356
18 ноября 2003 года
molnij
159 / / 20.06.2000
вот интересно. по тому же MSDNу это должно выполнятся функцией ShellExecute:

ShellExecute(hwnd,"properties",path,param,dir,SW_SHOWNORMAL)

ну последний параметр роли не играет. hwnd - хэндл окна - тоже можно забить. path - путь к файлу-папке,param и dir можно оставлять пустыми (для данной задачи).

НО! при выполнении возвращается код 31 - не опеределено действие для данного типа файлов. У меня возникает уже стойкое подозрение, что где-то, что-то напутано с орфографией слова properties, или же я не замечаю чего-то очевидного...

Кто знает ответ - поделитесь...
239
19 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by molnij
Кто знает ответ - поделитесь...



Я тоже не знаю точно, но поделюсь:
У меня почему-то открываерся почтовик при вызове этой функции %)... что-то очень уж она разносторонняя.

Но я нашел еще одну, может поможет...

ShellExecuteEx

356
19 ноября 2003 года
molnij
159 / / 20.06.2000
Цитата:
Originally posted by Dolonet
У меня почему-то открываерся почтовик при вызове этой функции %)... что-то очень уж она разносторонняя.

Но я нашел еще одну, может поможет...
ShellExecuteEx



не поможет. вчера посидел с softIce'ом:
ShellExecute всего лишь заполняет структуру, для вызова ShellExecuteEx, а потом вызывает ее. Что интересно, как таковых этих функций в файле shell32.dll нету. есть только две экспортируемые функции RealShellExecute и RealShellExecuteEx (ну на самом деле четыре - две для ANSI-кода, две для Unicode)... вот так... а почтовик может открываться, если второй параметр стоит start или open и вызывается для определенного типа файлов, с которым сопоставлен почтовик, а может и по другой причине... вобщем неисповедимы пути Win.
Между прочим тот же SoftIce не отследил вызовов ни одной из всех shellExecute'ов при нажатии Alt+Enter. Интересно к чему бы это...

239
19 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by molnij

Между прочим тот же SoftIce не отследил вызовов ни одной из всех shellExecute'ов при нажатии Alt+Enter. Интересно к чему бы это...



Хм... наводит на размышления... %)

Вообще-то должна быть такая функция... хотя кто знает, может есть такй exe-шник, к которому пихаешь параметром файл или папку, и он выводит свойства... вообще есть в винде такой универсальный файлик, не помню как зовут, но ОЧЕНЬ знакомо %)

356
20 ноября 2003 года
molnij
159 / / 20.06.2000
Забавно. В файле shell.dll (НЕ shell32) найдена функция ShellExecute. Но вроде бы все старые функции работют только заглушками. Или нет...Плохо, что Ice врял ли найдет функцию по имени в нем, а искать по адресу - влом...
239
22 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by molnij
Забавно. В файле shell.dll (НЕ shell32) найдена функция ShellExecute. Но вроде бы все старые функции работют только заглушками. Или нет...Плохо, что Ice врял ли найдет функцию по имени в нем, а искать по адресу - влом...



Я глянул - есть шанс, ято это explorer.exe с 2-мя параметрами, один из которых полное имя файла, а второй надо смотреть по доке... может поможет?...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог