Инетчика жена отправила в магазин за кофе. Продавщица его спрашивает:
- Вам какой кофе?
- Ну этот, самый, как его... Нетскейп.
- ????
- Блин!!!! home.netscape.com
uses DDEman;
...
procedure GotoURL(sURL: string);
var
dde: TDDEClientConv;
begin
dde := TDDEClientConv.Create(nil);
with dde dobegin// specify the location of netscape.exe
ServiceApplication :='C:\Program Files\Netscape\Communicator\Program\NETSCAPE.EXE';
// activate the Netscape Navigator
SetLink( 'Netscape', 'WWW_Activate' );
RequestData('0xFFFFFFFF');
// go to the specified URL
SetLink( 'Netscape', 'WWW_OpenURL' );
RequestData( sURL+',,0xFFFFFFFF,0x3,,,' );
// ... CloseLink;end;
dde.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
GotoURL('http://www.site.ru');
end;
Прошлый эпизод! Это код на Delphi, использующий механизм динамического обмена данными (DDE) для управления браузером Netscape Navigator версии 4.x.
Что такое DDE?
Динамический обмен данными (DDE) - это механизм межпроцессной связи (IPC) в Microsoft Windows. Он позволяет приложениям обмениваться данными и выполнять команды на других запущенных приложениях.
Как работает код?
Процедура GotoURL создает экземпляр TDDEClientConv, который используется для общения с Netscape Navigator.
Указывается служебное приложение как C:\Program Files\Netscape\Communicator\Program\NETSCAPE.EXE, которое является исполняемым файлом для Netscape Navigator.
Метод SetLink активирует сервер DDE "Netscape" и указывает команду для выполнения, в этом случае WWW_Activate. Эта команда tells Netscape открыть основное окно.
Метод RequestData отправляет запрос Netscape для выполнения действия. В этом случае, он задает URL для посещения с помощью команды WWW_OpenURL.
Ограничения и проблемы:
Код специфичен для Netscape Navigator версии 4.x и может не работать с новыми версиями или другими браузерами.
Механизм DDE был deprecated в Windows Vista и поздних версиях, поэтому код может не работать на новых операционных системах.
Код не обрабатывает ошибки или исключения, что может привести к неожиданному поведению или краху.
Альтернативные решения:
Используйте более современный и поддерживаемый способ управления браузерами,such as Internet Explorer Automation (IEAU) API or WebDriver protocol.
Если вы все еще используете Delphi, рассмотрите использование третьей-сторонней библиотеки или компонента, которая предоставляет возможности автоматизации браузеров, such as Borland's BrowserControl или третьесторонние библиотеки, такие как IE8Control.
В целом, это код - реликвия прошлого и может не быть подходящим для современных проектов разработки.
В статье описана возможность использования интерфейса развлекательных программ (DDE) для автоматизации работы с браузером Netscape Navigator, включая открытие URL-адресов и управления его функциональностью.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.