Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/65: Рейтинг темы: голосов - 65, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 11.08.2009
Сообщений: 43

Получить URL из адресной строки браузера

12.11.2009, 20:14. Показов 14008. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здрасте.
Можно ли как либо узнать что написано в поле "Адрес" в браузере.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2009, 20:14
Ответы с готовыми решениями:

Как изменить URL в адресной строке браузера
Привет всем! Помогите с решением: Как изменить URL в адресной строке браузера? На пример Opera. Тоесть нужно изменить значение в адресной...

Дружественный URL для пользователя в адресной строке браузера
Всем здравствуйте! Возникла проблема при реализации дружественного URL для пользователя в адресной строке браузера. Перерыл много чего...

чистка адресной строки браузера
привет. не могу почистить эту строку. там полно адресов на целую страницу. как их убрать. Где то читал что при чистке убираются и сокейты....

48
12.06.2012, 22:28
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от LK Посмотреть сообщение
вот свои быстрее и толковее получается собственными ручками почему-то, может, я совсем тупой
У меня случилось, что SCF не всегда оптимально форматировал. Но не оптимально на мой взгляд :) Поэтому я тоже руками частенько правлю.

1
12.06.2012, 22:32

Не по теме:

вот и я о том же, если форматировать самому по ходу писания кода, что логично, то со временем это входит в привычку

0
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 40
18.12.2014, 18:06
Цитата Сообщение от Avazart Посмотреть сообщение
А код рабочий !!!
Здравствуйте! В целях саморазвития я озадачился созданием программы, очень похожей на Вашу. У меня возник вопрос : данная програма работает во всех браузерах?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.12.2014, 18:11
Цитата Сообщение от Lucky One Посмотреть сообщение
Здравствуйте! В целях саморазвития я озадачился созданием программы, очень похожей на Вашу. У меня возник вопрос : данная програма работает во всех браузерах?
IE,Opera,FireFox - работает
Сhrom - не работает
Другие не пробовал.
1
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 40
19.12.2014, 13:22
Неработоспособность в Chrome связана с какой-либо особенностью самого браузера? И посоветуйте, пожалуйста, какими методами можна реилизовать эту задачу (получение URL и заголовка аткивного окна). Я сейчас начал только собирать информацию, ваша подсказка могла бы сэкономить уйму времени. Спасибо.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.12.2014, 14:28
Цитата Сообщение от Lucky One Посмотреть сообщение
Неработоспособность в Chrome связана с какой-либо особенностью самого браузера?
Вероятно там нет поддержки технологии DDE.

Методы нужно искать в доках браузеров.
0
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 40
19.12.2014, 15:32
В какой среде вы создавали свой проект? Судя по исходникам - Builder ?

Добавлено через 48 минут
Ваш проект очень похож на то,что мне нужно, но почему-то работает лишь с Мозилой (пишу "Firefox" - все ок, остальные не работают). Я подозреваю что мог вводить имя браузера некоректно.Скажите, пожалуйста, как именно нужно вводить названия браузеров (я пробовал разные способы,абревиатуры и т.д.)? Открыть проект и посмотреть не получаеться - не могу скачать нормальный Builder. Спасибо.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.12.2014, 16:46
Читайте внимательнее тему.
Должно нормально открываться в XE3 и старше.
1
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 40
19.12.2014, 17:17
Уже разобрался, спасибо!
0
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 40
22.12.2014, 15:52
Здравствуйте! Не сочтите за наглость или за тупость, так как я уже обращался к вам. У меня два вопроса :
1) Опера поддерживает DDE? (мой код не работает в Oper`е, ваша программа - тоже).
2) Можна ли средствами DDE получить заголовок активной вкладки аналогично URL?
Заранее спасибо!

Код для Оперы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
TDdeClientConv *Client_DDE = new TDdeClientConv(NULL);
 PChar temp;
  AnsiString Result = "";
 
 
         Client_DDE->SetLink("launcher", "WWW_GetWindowInfo");
 
 
   temp = Client_DDE->RequestData("0xFFFFFFFF");
 
   Result = StrPas(temp); 
 
   Result.Delete(Result.Pos(","), Result.Length()-Result.Pos(",")+1);
 
   Result.Delete(1,1);
   Result.Delete(Result.Length(), 1);
 
 
   StrDispose(temp); 
   Client_DDE->CloseLink();
   Client_DDE->Free();
   Edit1->Text=Result;
}
0
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
22.12.2014, 18:25
Почему у тебя в качестве Service в SetLink указано "launcher"?
Должно быть имя (ехе) без расширения, т.е. "opera" для Оперы (прошу прощения за тавталогию).
Так или иначе, но для "театрального" браузера (он вроде некоторое время назад был серьезно обновлен) код не работает.

Ниже получение заголовка для IE и Firefox (в случае Opera - кукиш, пустая строка). Других браузеров не имею.
Вообще для WWW_GetWindowInfo результирующая строка содержит URL (адрес) и WindowText (заголовок): http://support.microsoft.com/kb/160957.
Можешь проверить, убрав строки с Result.Delete.
Firefox дополнительно выдает еще одно значение, но оно пустое (лишь пара двойных кавычек):


C++
1
2
3
4
5
6
7
8
9
10
11
  TDdeClientConv *Client_DDE = new TDdeClientConv(NULL);
  Client_DDE->SetLink("firefox", "WWW_GetWindowInfo");  // для IE - "iexplore", без 'r' на конце
  // регистр символов в имени значения не имеет
 
  String Result = Client_DDE->RequestData("WWW_GetWindowInfo");
  Result.Delete(1, Result.Pos(",")+1);
  Result.Delete(Result.Pos("\""), Result.Length()-Result.Pos("\"")+1);
 
  Client_DDE->CloseLink();
  delete Client_DDE;
  Caption=Result;
2
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.12.2014, 19:04
Что у вас там не работает не знаю

Версия: 12.17
Сборка: 1863
Платформа:Win32
Система: Windows 7
Идентификация браузера: Opera/9.80 (Windows NT 6.1; MRA 8.1 (build 6283)) Presto/2.12.388 Version/12.17
1
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
22.12.2014, 19:18
Ну хз
Opera 26.0

Информация о версии

Версия: 26.0.1656.60 - Используется обновленная версия Opera
Канал обновлений: Stable
Система: Windows 7 32-bit


Идентификация браузера

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60
Миниатюры
Получить URL из адресной строки браузера  
1
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.12.2014, 19:25
Видимо Opera (Blink) так что на WebKit уже.

Новая ветка подверглась серьёзной критике со стороны пользователей, главным образом за удаление практически всей прежней функциональности, отсутствие удобства (к примеру, стандартные закладки были реализованы в виде особой экспресс-панели, так называемой «копилки» без возможности импорта) и потерю браузером «индивидуальности» (многие стали называть его очередным клоном Google Chrome). В связи с этим разработчики ещё не отказались от поддержки версий с движком Presto.
https://ru.wikipedia.org/wiki/Opera
1
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
22.12.2014, 20:56
Там же:
Разработчики обещают вернуть значительную часть функциональности в ближайших версиях.
А пока имеем то, что имеем.

Добавлено через 1 час 18 минут
P.S.: добавлю лишь, что для получения адреса в коде из поста №31 нужно строки 6 и 7 заменить на
C++
1
2
  Result.Delete(Result.Pos(",")-1, Result.Length()-Result.Pos(",")+2);
  Result.Delete(1,1);
1
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 40
23.12.2014, 10:03
Я написал "launcher" потому что такое имя .ехе файла Оперы.

0
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 40
23.12.2014, 13:23
Возможно посредством того же DDE получить title активной вкладки?

А каким способом можно извлечь URL и title из Chrome и Opera ?

Я думал об анализе файла истории, но не знаю,как это реализовать. Может, у вас есть какие-то идеи?

Кстати, вот очень интересный код , но он написан с использованием Qt, я пытался переделать под "станадартный" С++, но не получилось.

Добавлено через 19 минут
На сколько я понял, код у меня правильный, просто Опера (новая) не поддерживает DDE?

Добавлено через 2 часа 45 минут
С IE и FF разобрался полностью. С помощью DDE я вытащил и title активных вкладок. Понял, что DDE - довольно хорошая штука, но, к сожалению, не везде работает.

Но по-прежнему не могу понять, как получить URL и title из Chrome и Opera. Буду очень признателен за любую подсказку/идею.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.12.2014, 13:43
Цитата Сообщение от Lucky One Посмотреть сообщение
о по-прежнему не могу понять, как получить URL и title из Chrome и Opera. Буду очень признателен за любую подсказку/идею.
По твоей ссылке на статью же предоставлено же еще два способа c помощью WinApi функций типа GetWindowText function либо через анализ, файлов браузера где сохраняется история.
0
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 40
23.12.2014, 15:52
Мне не совсем подходит такой метод. У меня где-то есть подобный код, но он получает заголовок активного окна, то есть окна самой программы. Я же хочу получить заголовок определенной активной программы(Хром,Опера).

Я нашел кое-что и немного модифицировал. НО, работает данное решение лишь с Блокнотом.

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include <iostream>     
#include <stdlib.h>     
#include <string>       
using namespace std;
 
#define UNICODE
#include <windows.h>
 
int main()
{
    HWND const window = FindWindow( L"Notepad", nullptr );
    if( window == 0 )
    {
        wcerr << "There is no active window." << endl;
    }
    else
    {
        int const   nAttempts   = 3;
        for( int i = 1;  i <= nAttempts;  ++i )
        {
            int const   bufferSize  = 1 + GetWindowTextLength( window );
            wstring     title( bufferSize, L'\0' );
            int const   nChars  = GetWindowText( window, &title[0], bufferSize );
 
            if( nChars == 0 || nChars < GetWindowTextLength( window ) )
            {
                Sleep( 20 );  continue;
            }
            title.resize( nChars );
            wcout << "'" << title << "'" << endl;
            return EXIT_SUCCESS;
        }
        wcerr << "Found a window but unable to obtain the title." << endl;
    }
    system("pause");
    return EXIT_FAILURE;
}
0
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
24.12.2014, 01:25
Как ни странно, но класс окна новой Оперы - Chrome_WidgetWin_1, причем окно нормально находится
C++
1
  HWND window = FindWindow(L"Chrome_WidgetWin_1", NULL);
Однако ни GetWindowText(A/W), ни даже SendMessage (пробовал и PostMessage) с WM_GETTEXT не могут получить заголовок окна (запускал также от имени администратора)
C++
1
2
3
  wchar_t title[100];
  GetWindowText(window, title, 100);
  SendMessage(window, WM_GETTEXT, sizeof(title), (LPARAM)title);
Но AutoIt v3 Window Info (не знаю, как он работает) заголовок прекрасно видит.
Миниатюры
Получить URL из адресной строки браузера  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2014, 01:25

Аналог адресной строки браузера
Делаю браузер на C#. Хочу сделать поисковую строку как в Хроме (то есть если ввести адрес в текстбокс, то он должен переходить по нему, а...

Как извлечь URL из адресной строки?
Здравствуйте! Скажите, как извлекать и сохранять адрес из адресной строки браузера Фаерфокс, пользуясь imacroso'm? Какая команда нужна для...

Изменить текст адресной строки браузера
Помогите пожалуйста , нужно чтобы программа могла изменить текст адресной строки браузера , как сделать не знаю. И еще не знаете как...

Взять параметр из адресной строки браузера
Как взять параметр из адресной строки браузера? Есть ссылка на главной странице(диалоги), адрес ссылки такой...

убрать .php с адресной строки браузера htaccess
Здравствующие. Много информации пересмотрел в интернете и не получается в адресной строке браузера убрать .php Сайт без CMS. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru