Главная страница
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.032 c
14-1117134416
Narikmen
2005-05-26 23:06
2005.06.14
image1


14-1116919421
Vasya.ru
2005-05-24 11:23
2005.06.14
Критерий интервалов - кто знает?


6-1110720210
DereckWhite
2005-03-13 16:23
2005.06.14
API для работы с сетью


9-1111162648
Andrewk
2005-03-18 19:17
2005.06.14
Glscene


4-1114255052
Dr.Faust
2005-04-23 15:17
2005.06.14
LPT port