Donc, pour être clair, j'ai ce "travail" (aka c'est utilisable). Voici mon code:Ouvrez un email Outlook rempli dans vb.net puis fermez le fil
Dim Outl As Object
Outl = CreateObject("Outlook.Application")
If Outl IsNot Nothing Then
Dim omsg As Object
omsg = Outl.CreateItem(0)
omsg.cc = UserId
omsg.subject = "CRIT " & eventId & " - " & shortSummary & ""
omsg.body = reportBody
omsg.Display(True) 'will display message to user
EmailExportBackgroundWorker.CancelAsync()
EmailExportBackgroundWorker.Dispose()
End If
End If
Cela fait exactement ce dont j'ai besoin, sauf pour un couple de choses difficiles. En effet, vb.net traite cela comme si j'avais ouvert une fenêtre de dialogue, il attendait que l'utilisateur fasse quelque chose avec l'email surgi avant de passer à autre chose. J'ai contourné mon programme pendant ce temps en le déplaçant vers un arrière-plan, mais l'email qui s'est ouvert a quelques bizarreries que je voudrais résoudre.
Principalement, il ne peut pas être réduit, le bouton de réduction est grisé. Il est également ouvert maximisé, pas le plus gros problème, mais ennuyeux. Enfin, il est répertorié comme ne répond pas. Ce n'est pas, vous pouvez finir de le remplir et l'envoyer, mais il montre comme ne répond pas.
Ce que je voudrais faire, c'est que la bande de roulement ouvre l'email, alors faites-le avec! VB.NET n'a plus rien à voir avec ça une fois ouvert. Je ne peux pas trouver un moyen, même un hacky, de le faire. En fait, puisqu'il s'agit d'un fil de fond, je ne m'inquiète même pas vraiment si ça lâche. Je veux juste que l'utilisateur soit capable de minimiser l'email jusqu'à ce qu'ils choisissent de faire quelque chose avec lui. Ne pas être forcé de faire avec. Vous pouvez cliquer sur un autre programme dans la barre des tâches et envoyer l'e-mail à l'arrière, mais tous les utilisateurs ne réalisent pas que c'est possible.