Главная страница
    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.05 c
14-1116945369
DiamondShark
2005-05-24 18:36
2005.06.14
Лучше день потерять, потом за пять минут долететь?


1-1117036352
Masta Hookah
2005-05-25 19:52
2005.06.14
Свойства файлов...


1-1117139484
Дронище
2005-05-27 00:31
2005.06.14
Эмуляция нажати клавиши


14-1116919778
NeyroSpace
2005-05-24 11:29
2005.06.14
Моменты из фильма Terminator 2


1-1116967058
Roman_Vladivostok
2005-05-25 00:37
2005.06.14
Ошибки при запуске DOS программы под WIN.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский