Nieuws
Foto's
Artikelen
Componenten
Applicaties
Kleinkunst

Delphi - URL's en emails

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);