Вопрос: Cчитать заголовок активного окна в переменную | Добавлено: 08.06.04 13:25 |
Автор вопроса: ![]() |
Помогите считать заголовок активного окна в переменную. Общая задача такая: Надо получить путь активной папки, тогда я в ней смогу (У меня VB-6) |
Ответы | Всего ответов: 17 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 10 Ответов: 387 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 08.06.04 13:33 |
GetActiveWindow() - хендл активного окна получаешь а далее... свою... GetWindowText |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 08.06.04 14:01 |
Угу, только строку необходимо первоначально "расширить", например: str = Space(&H100) |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 10 Ответов: 387 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 08.06.04 14:24 |
УГу создать буфер ... и размер соотсвенно указать ... тоже &H100
Вот так короче dim str as string str = Space(&H100) GetWindowText(GetActiveWindow(), str, &H100) |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 293-943-186 Вопросов: 16 Ответов: 28 |
Профиль | Цитата | #4 | Добавлено: 08.06.04 18:05 |
Спасибо всем, пока на учебе, вечером проверю. Выглядит вроде красиво ![]() |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 08.06.04 19:42 |
Чуток помусорю ![]() За место Space$ можно использовать String$, в этом случае можно обнулить строку... Объявить можно строку вот так: Dim str as string * &H100 тогда не прийдется пользоваться той самой функцией... но и ни меньше ни больше строка не станет, как ее не мучай ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ICQ: 330837479 Вопросов: 1 Ответов: 13 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 09.06.04 06:49 |
Предложенным способом, определяется имя только активной формы. Я ставил в таймер этот код, и если эта форма была активна, то возвращалось ее имя, если было активно чтото другое, возваращалась пусатая строка. Можете предложить что-нибудь еще? |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 10 Ответов: 387 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 09.06.04 09:16 |
Что просили то и получили +).. а если у окна нету... нету... заголовка то чего конкретно ты хочешь получить? |
Номер ответа: 8 Автор ответа: ![]() ![]() ICQ: 330837479 Вопросов: 1 Ответов: 13 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 09.06.04 10:47 |
хм... у калькулятора нету заголовка? http://fasco.nm.ru/files/proekt.rar - vbp http://fasco.nm.ru/files/exe.rar - exe ps. операционка - WinXP |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 10 Ответов: 387 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 09.06.04 15:38 |
Так бы сразу и написал что хочешь получать заголовок н етолько активного окна тогда тебе
EnumWindows |
Номер ответа: 10 Автор ответа: ![]() ![]() ICQ: 330837479 Вопросов: 1 Ответов: 13 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 10.06.04 08:39 |
Значит так. Я знаю все хендлы всех работающих окон, все их имена. Теперь как узнать в какой программе работает пользователь(на какой программе стоит фокус в данный момент). Вот и все что мне надо. |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 10 Ответов: 387 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 10.06.04 09:07 |
Хм.. а что актив виндов не возвратит то окно что счас активно?... ммм.... ну вот ещё GetFocus .. возвратит хендл того окна.. на чём стоит фокус... так как всё в виндовс это окна +).. то может быть и не только окно в понятии окно...
|
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 10.06.04 11:08 |
угу... а потом перебором, перебором... |
Номер ответа: 13 Автор ответа: ![]() ![]() ICQ: 330837479 Вопросов: 1 Ответов: 13 |
Web-сайт: Профиль | Цитата | #13 | Добавлено: 10.06.04 15:59 |
Private Declare Function GetFocus Lib "user32" () As Long Private Sub cmd1_Click() 'получает hwnd и имена всех работающих программ(работает на 100 'включает таймер Private Sub tmr1_Timer() End Sub lngHandle() - hwnd всех окон strCaptions() - их именна соотественно Ну собственно нифига не происходит. Не пишет он имени активного окна.
|
Номер ответа: 14 Автор ответа: ![]() ![]() ICQ: 330837479 Вопросов: 1 Ответов: 13 |
Web-сайт: Профиль | Цитата | #14 | Добавлено: 10.06.04 16:01 |
да, GetHWND это у меня в модуля такая большая функция есть которая получает хэндлы всех программ и их имена. Работает на 100%. |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 11.06.04 01:23 |
Вопрос про GetForegroundWindow или я не так понял? |
|