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

Вниз

Определение пути текущей папки   Найти похожие ветки 

 
Max-F   (2005-04-23 13:31) [0]

Как определить путь папки, в которой я сейчас нахожусь Проводником?

Поясню - пишу программу, которая будет сидеть в трее и создавать файлы в папке (в которой пользователь находится) при нажатии горячей клавиши.

Всем заранее спасибо!


 
Юрий Зотов ©   (2005-04-23 13:43) [1]

Не уверен, но попробовал бы комбинацию
CreateRemoteThread + GetCurrentDirectory + WM_COPYDATA


 
jack128 ©   (2005-04-23 13:47) [2]

Max-F   (23.04.05 13:31)
Как определить путь папки, в которой я сейчас нахожусь Проводником?

ну открыто у меня сейчас 10 разных папок..И в какой ты файл создовать??


 
Max-F   (2005-04-23 13:51) [3]

// ну открыто у меня сейчас 10 разных папок..И в какой ты файл создовать??

В активной папке. Окна приложения нет, ты работаешь с Проводником.


 
TUser ©   (2005-04-23 13:57) [4]

А может проще прочитать?
GetForegroundWindow и там FindWindowEx"ом найти комбобокс. Потом прочитать через GetWindowText. Правда, зависит от настроек - должно быть включено отображение полного пути в строке адреса. Гораздо лучше, конечно, привязываться к заголовку.


 
Max-F   (2005-04-23 14:04) [5]

Да вот у меня-то как раз и отключено отображение полного пути...

Сижу ломаю голову как же мне реализовать это... ???


 
Юрий Зотов ©   (2005-04-23 14:17) [6]

> Max-F   (23.04.05 14:04) [5]

Чем не устраивает [1]?

При нажатии горячей клавиши:
1. GetForegroundWindow
2. GetWindowModuleFileName (проверка, что это Проводник. Если нет - выход).
3. GetWindowThreadProcessID
4. OpenProcess
5. CreateRemoteThread. В параметре передается хэндл своего окна.
6. Поточная функция вызывает GetCurrentDirectory, отсылает окну через SendMessage сообщение WM_COPYDATA (тем самым передавая результат) и завершается.


 
Max-F   (2005-04-23 14:24) [7]

Мда... Мне это не реализовать, с моими знаниями :) Никогда с этими функциями не работал...


 
Anatoly Podgoretsky ©   (2005-04-23 14:29) [8]

Взялся за задачу не по зубам.


 
Max-F   (2005-04-23 14:31) [9]

Поэтому и прошу помощи у тех, кому она по зубам...


 
Юрий Зотов ©   (2005-04-23 15:12) [10]

> Max-F   (23.04.05 14:31) [9]

Схема решения есть? Есть. Конкретные имена функций указаны? Указаны. Справка имеется? Имеется.

Значит - вперед. Будут конкретные вопросы по реализации (а они, видимо, будут) - с ними сюда, на форум.

А если подходить так: "Мне это не реализовать, с моими знаниями. Никогда с этими функциями не работал" - то знаний никогда и не прибавится. Каждый когда-то с чем-то никогда не работал - а теперь работает.

И ничего страшного. Надо просто один раз помучиться, зато потом очень многое станет гораздо проще. А другого пути и нет.



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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
3-1115298176
Alexandr
2005-05-05 17:02
2005.06.14
DbgridEh+FIBPlus


1-1117392026
Dezmond
2005-05-29 22:40
2005.06.14
Высота Task Bar


4-1114043885
Кайфолом
2005-04-21 04:38
2005.06.14
Функции WinAPI для трей меню !?


4-1114528271
Виталик
2005-04-26 19:11
2005.06.14
Проблема с запуском программы от лица другого пользователя


8-1108377216
_micha
2005-02-14 13:33
2005.06.14
Как приближённо оценить совпадение двух RGB- цветов ?