Vraag & Antwoord

Programmeren

[Delphi 5.0] Shellexecute met MailTo: in Vista werkt niet

6 antwoorden
  • Tot en met XP werkt het verzenden van e-mail m.b.v. de API Shellexecute-functie uitstekend. Helaas krijg ik met Vista een fout: SE_ERR_ACCESSDENIED The operating system denied access to the specified file. De code, die ik gebruik is:[code:1:3f7ee6a27c] StrPCopy(CharStr, 'mailto:' + MailAdres + '?Subject=' + Onderwerp + '&Body=' + Tekst); if not (ShellExecute(Handle, 'open', CharStr, nil, nil, SW_NORMAL) > 32) then ... [/code:1:3f7ee6a27c]Hierin zijn CharStr: array[0..1000] of Char; MailAdres, Onderwerp, Tekst: Strings; De functie werkt uitstekend onder XP en lager, dus de code op zich is goed. Op de XP-machine grbruik ik Outlook 2000. Op de Vista-machine Outlook 2007. Weet iemand hoe de boel werkend te krijgen onder Vista?
  • Weet je zeker dat je onder Vista wel uberhaupt dat commando kunt gebruiken op die pc ? Het zou kunnen dat de 'mailto:'-functie niet klopt. Ik heb zelf gebruik gemaakt van de Mapi-unit die standaard bij D7 zit. Of het bij D5 ook zit weet ik niet zeker, maar ik vermoed van wel. Voorbeeld : http://www.swissdelphicenter.ch/torry/showcode.php?id=1246 Grootste voordeel is dat je niet van Outlook afhankelijk bent. De code werkt bij mij ook onder Vista.
  • Bedankt voor de reactie JaFO De zaak ligt iets complexer, dan ik aanvankelijk dacht. Het blijkt, dat de functie het op sommige computers met Vista wel degelijk doet. Ik zal je tip opvolgen en eens bekijken of de Mapi-unit ook in D-5 beschikbaar zijn. Ik zal melden of het is gelukt.
  • Het werkt! Ik heb nog een probleempje; de functies DisableTaskWindows en EnableTaskWindows zijn in D-5 onbekend. Ik heb de twee regels verwijderd, maar ik weet niet wat dat voor consequenties heeft. Mooi, dat ik nu ook attachments kan meezenden!
  • [quote:78d1ca3c2c] DisableTaskWindows en EnableTaskWindows[/quote:78d1ca3c2c] Heb je "Forms" in je uses-clause hebt staan ?
  • Inderdaad, ik had er een unit van gemaakt. Dus geen Forms bij de uses. En nogmaals inderdaad, EnableTaskWindows en DisableTaskWindows blijken gedeclareerd te zijn in de Forms-unit. Zeer bedankt voor de info!

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.