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

Вниз

win api   Найти похожие ветки 

 
Aleksey1   (2002-01-31 01:16) [0]

Всем привет! Помогите пожалуйста разобраьься в такой ситуации.
Значит, имеется стандартный диалог открытия файла, мне нужно взять путь по которому в данный момент отображаются файлы и папки,
читая MSDN я узнал, что это может сделать сообщение диалога CDM_GETFOLDERPATH,
и я пишу в своей программе:
procedure TForm1.Button1Click(Sender: TObject);
var aa:hwnd;
Path: array[0..MAX_PATH] of Char;
begin
aa:=findwindow("#32770","Обзор");//где #32770-класс окна(диалог), обзор-caption окна
if (aa>0) then BEGIN // если такое окно открыто
затем этому диалогу посылаю сообщение:
sendmessage(aa,CDM_GETFOLDERPATH,sizeof(path),integer(@path));//где аа-найденное окно,sizeof(path)-размер буфера, integer(@path)-указатель на переменную, которая должна получить взятый путь
END;
И ничего из этого хорошего не выходит, либо переменная path ПУСТА, либо содержит какие-то каракули.
Я даже смотрел исходник диалогов DIALOGS.PAS и убедился что сообщение послано правильно.
А вот если поместить этот код в OnFolderChange компонента OpenDialog, то при перемещении между папками в path заносится текущий путь

Пример:
procedure TForm1.OpenDialog1FolderChange(Sender: TObject);
var
Path: array[0..MAX_PATH] of Char;
begin
alex:=findwindow(nil,"alexey"); // окно OpenDialog1, caption я поменял специально
SendMessage(alex, CDM_GETFOLDERPATH,SizeOf(Path), Integer(@Path)); // сообщение которое посылается открытому окну
memo1.lines.Add(StrPas(Path)); // добавление путей в поле Memo
end;


 
unikum ©   (2002-01-31 19:27) [1]

Пришли мне адрес на который можно тебе выслать исходник:
Мой адрес:Dmitry_Mar@rambler.ru


 
alexey1   (2002-02-05 03:08) [2]

буду очень рад если поможеш мне, мой адрес: alekssys@mail.ru


 
alexey1   (2002-02-05 03:13) [3]

буду очень рад если поможеш мне, мой адрес: alekssys@mail.ru


 
alexey1   (2002-02-13 04:07) [4]

привет unikum!!!! это alexey1, ты как то хотел выслать исходник по моему проблемному вопросу, буду очень благодарен, вот мой рабочий email- stainer@mail.ru



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
3-32660
TimPasha
2002-03-20 11:44
2002.04.11
Требуется разъяснение!!!


1-32720
vlv
2002-03-28 16:58
2002.04.11
Где лежат изображения стандартных VCL - компонентов?


6-32932
Victor
2002-01-25 16:15
2002.04.11
Широковещательные сообщения по сети


1-32778
СРОЧНО
2002-03-31 14:19
2002.04.11
ПОМОГИТЕ


14-32955
BJValentine
2002-03-01 16:04
2002.04.11
Приколы ПО