Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
14-1116932735
Alexander Panov
2005-05-24 15:05
2005.06.14
Перестановки в регулярных выражениях;)


4-1114073934
Ярослав
2005-04-21 12:58
2005.06.14
Текс контрола другого приложения


11-1098524553
AlexR
2004-10-23 13:42
2005.06.14
Цвет текста в RichEdit e


1-1117174185
Kolan
2005-05-27 10:09
2005.06.14
Как сделать чтобы форма реагировала во время работы потоков.


1-1117281103
dmitry_t
2005-05-28 15:51
2005.06.14
RxLib и анимированный gif





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский