Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.97 c
3-1115826972
IrviS
2005-05-11 19:56
2005.06.14
Как добавить поле в рунтайме


9-1110782330
Smak
2005-03-14 09:38
2005.06.14
PowerTimer


4-1113731899
3k
2005-04-17 13:58
2005.06.14
Добавить текст в чужой RichEdit 2.0


1-1116967301
grol
2005-05-25 00:41
2005.06.14
Как правильно урезать переменную Real?


3-1115654086
xroot
2005-05-09 19:54
2005.06.14
Сортировка в DBGrid




   Наверх