Delphi - URL's en emails
- Datum:
- Auteur: Stefan Cruysberghs
Je kan vanuit Delphi op een zeer gemakkelijke manier rechtstreeks naar een bepaalde URL (Universal Resource Location) in je browser springen door het gebruik van de Win API functie ShellExecute (unit ShellAPI) . Deze functie wordt meestal gebruikt voor het starten van een externe executable maar de functie kan ook enkele internet protocolen gebruiken zoals MailTo, HyperText Tranfer Protocol (http), File Tranfer Protocol (ftp), News, Telnet, … Deze kan je op onderstaande manier aanspreken.
De syntax in de Win32 SDK help :
HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
Gebruik als syntax "mailto:emailadres" of "http://webadres". Bij de uses moet je nog wel de bibliotheek ShellAPI toevoegen. Op deze manier kan je je eigen email-adres opnemen in je aboutbox of vanuit een database-veld rechtstreeks naar een website springen of een email naar een persoon sturen.
Je kan ook nog extra waarden aan de file-parameter meegeven om het onderwerp en de tekst op te geven maar dit werkt enkel als Microsoft Outlook of Microsoft Outlook Expres het default email programma is. De lijnen van de tekst worden gescheiden door %0a en niet door een gewone enter.
'?subject=' + SubjectString +
'&body='+ Line1String +
'%0a' + Line2String
Voorbeelden
ShellExecute(Application.Handle,'open','mailto:persoon@domein','',nil,SW_NORMAL);
ShellExecute(Application.Handle,'open',
'mailto:persoon@domein ?subject=test &body=lijn1 %0a lijn2',
'',nil,SW_NORMAL);
ShellExecute(Application.Handle,'open','http://www.scip.be','',nil,SW_NORMAL);