2010-05-16 8 views
7

So che in Delphi è possibile aprire il browser predefinito con:aperta browser predefinito con un post in Delphi

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

ma sto volendo sapere se c'è un modo per inviare automaticamente i dati sul nuovo aperto finestra brower o aUTO riempire i dati di login (anche in Firefox, Safari, ecc)

Grazie

-Brad

risposta

4

è possibile avviare il browser con OLE e utilizzare la funzione navigate per passare i dati e il contesto all'URL.

aperta IE con OLE

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

Invia dati di url

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

Vedi qui per un esempio di funzione di navigazione: http://forums.devshed.com/showpost.php?p=2408145&postcount=2

Spero che questo vi aiuterà!

+0

Non volevo solo IE, ma quella poteva essere la mia unica scelta. Grazie per l'info. – Brad

2

È necessario aggiungere "Http: //" prima del nome del sito Web, altrimenti il ​​sistema operativo non sa quale applicazione aprire.

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

funziona per me in un'applicazione console.

+0

Corretto, ma la sua domanda era se poteva specificare quali dati devono essere POST o quali campi compilare. –

+0

@Lars, sì, visto che dopo aver premuto invio e cercato di cancellare la mia risposta, ma registra semplicemente un "voto per elimina "... –

2

No, non è possibile inviare i dati POST con l'url o compilare i campi utilizzando ShellExecute. Non ci sono API generali tutti i browser devono essere controllati a distanza. Le alternative utilizzano GET (codifica nell'url stesso) o parlano direttamente con browser specifici, come TridenT suggests.

+0

Ho pensato tanto. Grazie. – Brad

Problemi correlati