2009-11-12 9 views
0

J'ai une fonction qui est responsable de générer un email Outlook avec les informations appropriées. Cependant, je souhaite joindre une image du presse-papiers. Je peux déjà détecter s'il y a une image dans le presse-papiers et utiliser le contrôle de la boîte d'image pour l'afficher.Puis-je joindre une image du presse-papiers?

IDataObject data = Clipboard.GetDataObject(); 
Image img = (Image)data.GetData(DataFormats.Bitmap, true); 

Donc, avec ce que je suis en mesure d'obtenir l'image du presse-papiers (je ne montre pas de vérifier si une image existe ou non). Avec l'objet image, est-il possible de l'attacher à un email Outlook? De l'API, il montre simplement que le premier paramètre Attachment.Add est Source de l'objet.

L'erreur que je reçois lorsque j'utilise l'objet d'image en utilisant directement:

mailItem.Attachments.Add(img, Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing); 

est System.Runtime.InteropServices.COMException (0x80010105): Le serveur a généré une exception. (Exception de HRESULT: 0x80010105) RPC_E_SERVERFAULT))

Merci.

+0

Avez-vous essayé d'ajouter votre image en utilisant cette méthode? – Lazarus

Répondre

2

Enregistrez d'abord l'image sur le disque.

Add Method (Attachments Collection)

Syntaxe

objAttachments.Add (Source, [Type], [Position], [DisplayName])

objAttachments requis. Une expression qui renvoie un objet de collection Pièces jointes .

Source Obligatoire Variante. Le fichier (représenté par le chemin d'accès complet et le fichier nom) ou élément qui constitue l'annexe .