открыть браузер по умолчанию с постом в Delphi - PullRequest
7 голосов
/ 16 мая 2010

Я знаю, что в Delphi вы можете открыть браузер по умолчанию с помощью:

ShellExecute(self.WindowHandle,'open','www.website.com',nil,nil, SW_SHOWNORMAL);

но я хочу знать, есть ли способ автоматически публиковать данные в новом открытом окне браузера ИЛИ автоматически заполнять данные для входа (даже в Firefox, Safari и т. Д.)

Спасибо

-Brad

Ответы [ 3 ]

4 голосов
/ 16 мая 2010

Вы можете запустить браузер с помощью OLE и использовать функцию navigate для передачи данных и контекста в URL.

Открыть IE с OLE

MyBrowser := CreateOleObject('InternetExplorer.Application') as IWebBrowser2;

Отправка данных на URL

MyBrowser.Navigate('http://mysite.com', Flags, EmptyParam, PostData, Headers);

Смотрите здесь пример функции навигации: http://forums.devshed.com/showpost.php?p=2408145&postcount=2

Надеюсь, это поможет!

2 голосов
/ 16 мая 2010

Нет, невозможно POST-данные с URL-адресом или заполнить поля с помощью ShellExecute. Не существует общего API, все браузеры должны управляться дистанционно. Альтернативы - использовать GET (кодировать в самом URL) или напрямую общаться с конкретными браузерами, как TridenT предлагает .

2 голосов
/ 16 мая 2010

Вам необходимо добавить "Http://" перед названием сайта, иначе ОС не знает, какое приложение открыть.

ShellExecute (Application.Handle, 'open', 'http://www.bjmsoftware.com',nil,nil, SW_SHOWNORMAL);

у меня работает в консольном приложении.

...