Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

парамерты ShellExecute для поиска файлов


Юрий Федоров ©   (2002-03-22 09:42:00) 

Кто-нибудь знает, как вывести окно "поиск файлов"? То, что нужно вызвать ShellExecute(handle, "FIND", "D:\Winnt", nil, nil, 0) - это я понял, а вот как задать другие параметры?


Song   (2002-03-22 13:28:00) [1]

Лучше найдите по классу и по порядку размещения относительно родительствующего HWND.
Если привести пример с консольным окнами, то там инфа отличается в w2k и win98


Юрий Федоров   (2002-03-22 13:06:00) [2]

>Song
Это все понятно. Я вот подумал: можно ли закладываться на названия дочерних Edit"ов? Не зависят ли они от версии операционки? Конечно, хотелось бы найти что-то в API, но найти не получилось, там даже параметр "FIND" не описан, я его в порядке эксперимента вычислил :)


Song   (2002-03-22 12:46:00) [3]

2Юрий Федоров © (22.03.02 11:46)
Я немного тормознул. Думал у Вас не получается высветить окошко поиска. Поэтому я и предложил Вам сгенерировать нажатие комбинации Win+F чтобы это окошко вызвать (это стандартная комбинация для вызова диалога поиска).
Определите Wnd как посоветовал Виктор Щербаков © (22.03.02 12:26), потом найдите его дочерние edit"ы и в каждый из них занесите нужную Вам инфу. После этого можно также программно нажать на кнопку искать с помощью CB_CLICK


Виктор Щербаков   (2002-03-22 12:26:00) [4]

У меня вот так сработало:
Wnd := FindWindow("Progman", nil);
SendMessage(Wnd, WM_COMMAND, $A085, $41093d);
Вобщем параметры можно в WinSight уточнить.


Юрий Федоров   (2002-03-22 12:23:00) [5]

Спасибо, буду пробовать


Alx2   (2002-03-22 12:06:00) [6]

>Может быть несколько таких окон, как определить, какое мое?
ShellExecute возвращает "instance handle of the application that was run"


Юрий Федоров   (2002-03-22 11:46:00) [7]

>Song
Может быть несколько таких окон, как определить, какое мое?
Немного не понял,что значит сгенерировать на explorer.exe комбинацию "Win+F"


Song   (2002-03-22 11:40:00) [8]

В принципе, это не проблема.
Запустите WinSigh, посмотрите класс и название этого окна, потом с помощью FindWindow находите HWND, а в нём все дочерние edit"ы (их тоже посмотрите в WinSight), а потом заполнить их нужным Вам текстом через посылку сообщения. И всё!


Alx2   (2002-03-22 11:36:00) [9]

Ну вот!
А я думал надо поля в этом, уже вызванном, find заполнить передав дополнительные параметры :(


Song   (2002-03-22 11:32:00) [10]

Искал функцию в shell32, не нашёл :((
Попробуй сгенерировать на explorer.exe комбинацию "Win+F"


Наверх

Титульная страница Поиск, карта сайта Написать письмо