• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Ссылка при нажатии на которую вызывается браузер

  • Автор темы Pingvin1
  • Дата начала
R

rrrFer

В Qt мне кажется достаточно будет теги <a href> в QLabel записать (вместо обычного текста).
В Java также примерно делал я.
А ты куда хочешь вывести ссылку?)
 
P

Pingvin1

Чтобы ссылка была видна работавшему за компом. Можно сразу открыть ссылку в
ShellExecute(hwnd,"open", "имя запускаемого файла или открываемой в браузере ссылки","",NULL,SW_SHOWNORMAL); , можно подчеркнуть текст ссылки и анализировать клик мыши, но хотелось бы попроще.
И лучше без Qt и других дополнительных библиотек, которые надо дополнительно устанавливать, а часто и покупать.
 
Последнее редактирование:
R

rrrFer

Иначе никак нельзя. С++ о ссылках ничего не знает.
 
R

rrrFer

ShellExecute и есть самое простое
Но ShellExecute - это не "без использования дополнительных библиотек". Это ведь WinAPI и, мало того, что это таки библиотека, оно еще и не кроссплатформенное и вообще костыль. Я так понимаю, клик по ссылке надо будет отслеживать, а по-хорошему при наведении мыши - менять цвет ссылки. Ну это кроме того, что текст надо подчеркнуть и еще где-нибудь с бубном сплясать. Зачем все это? Ради чего?
 
P

Pingvin1

Раз C++ не работает со ссылками HTML, надо, чтобы кнопка была похожа на ссылку. Т.е. желательно при наведении указателя мыши на ссылку = кнопку цвет её менялся. И сделать это хозяйство надо в Проекте WIN32.
 
R

rrrFer

имеется ввиду не встроенные библиотеки, т.е. WinAPI использовать можно.
Вопрос лишь в том, куда встроенные. То, что в линуксе и на андройде и на айфоне такой библиотеки нет, думаю пояснять не надо?
Но и в Wnidows она есть далеко не везде.
SysLink требует библиотеку Comctl32, да еще и вроде бы (на msdn описано очень смутно) шестой версии. Сама библиотека вроде бы впервые появилась в Windows2000 (первая версия), т.е. если ваша программа не включит ее "как стороннюю библиотеку" - то ваш код гарантированно не будет работать на windows98, например. В какой версии Windows появилась шестая версия я не знаю (на MSDN не написано).

Ну а если вам придется подключать ее подключать - то "встроенной" ее называть уже нельзя - вы в любом случае либо:
* запихаете ее внутрь своего исполняемого файла (слинкуете статически) - при этом увеличится размер файла;
* будете таскать рядом со своей программой dll (подключать ее будете динамически);
* ваша программа будет работать не у всех (а только лишь у тех, у кого в windows встроена нужная версия библиотеки)​
Ну и как не крути, чем больше будет ваша программа и чем больше у нее появится таких зависимостей - тем она будет менее переносимой, а это печально. И да, если вы будете подключать это как стороннюю библиотеку, то ваша поделка, конечно, может быть запустится в linux под wine, но гарантии этого никто не даст никогда.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!