Текущая папка, но не CurDir?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Текущая папка, но не CurDir?

Сообщение SHURUP » 23.09.2004 (Чт) 5:52

Дано:
Программа висит в памяти (возможно иконка в Трэйе) и при нажатии определенной комбинации клавиш выскакивает. При этом должна вызываться процедура protsedura1(curPath),
где curPath - путь к папке Explorera, в которой был пользователь до нажатия этой комбинации.
Вопрос:
1)Как узнать какое окно было активным до появления моей формы.
2)Как отличить, это открытая оболочкой папка, или окно другой программы.
3)Если папка, то как узнать ее полное имя.

Заранее благодарен!
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 23.09.2004 (Чт) 7:55

1)До показа своей формы возьми GetActiveWindow или GetForegroundWindow и узнай HWND активного окна.
2)Юзай GetWindowThreadProcessId чтобы узнать какому процессу принадлежит окно, если ехрlorer'у, то это будет либо открытая оболочкой папка, либо другое окно созданое им.
الفيجوال بيسك الرابح

PATRIOT_kz
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 105
Зарегистрирован: 14.09.2004 (Вт) 21:09
Откуда: Павлодар, Казахстан

Сообщение PATRIOT_kz » 23.09.2004 (Чт) 11:33

И поищи в узнаном HWND окне, через команду 'FindWindow()' узнай текст в элементах через 'GetWindowText()', TextBox, RichTextBox, Edit.
Как только узнаешь текст проверь на подлинность папки.
Через 'GetAttr( MyFolder )'
Press any key . . .

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.09.2004 (Чт) 15:33

Откуда RichTextBox в окне эксплорера? :roll:
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.09.2004 (Чт) 15:52

Дык, какой же Explorer без RichTextBox? :) Я бы правда скорее искал ComboBox, но видимо мне надо доки подучить, если я не знаю таких общеизвестных фактов про RTB...
Lasciate ogni speranza, voi ch'entrate.

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 23.09.2004 (Чт) 23:20

За 1,2 - спасибо!
То есть вы предлагаете отлавливать текст в адрессной строке(будь то combo, TextBox, Edit или даже :? RichTextBox), но что делать если в Винде выставлено не отображать полный путь в адресной строке? Или когда ее вообще нет?
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 24.09.2004 (Пт) 7:48

То есть вы предлагаете отлавливать текст в адрессной строке

Если тебе еще нужно, как это делается, то вот пример.На НТ работает, на 9х нужно подправить строку в GetExplorerProcess заменив "ехрlorer.exe" на "c:\windows\explorer.exe".
Вложения
getexplorer.zip
(2.27 Кб) Скачиваний: 40
الفيجوال بيسك الرابح

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.09.2004 (Пт) 8:02

GM, у тебя что ли VB с украинским IDE? :-) :lol:

Кроме того, SHURUP прав: путь в адресной строке может быть неполным, а может отсутствовать совсем.
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.09.2004 (Пт) 9:27

tyomitch, а это не так уж и страшно. Окно будет скрытым, но присутствовать будет. А вот насчет неполного пути это конечно облом.
Надо попробовать "пообщаться" с explorer'ом, в нем очень много малодокументированных фич. И наверняка он умеет сообщать кучу инфы тем, кто умеет с ним общаться.
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.09.2004 (Пт) 17:29

Кстати, если заглянуть шпионом, то видно, что текст в комбобоксе всегда пустой.
Так что не выйдет :-(
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: С.Т., Google-бот и гости: 4

    TopList