comment ouvrir le client de messagerie par défaut en c# ?

comment ouvrir le client de messagerie par défaut en c# ? - C#/.NET managed - Programmation

Marsh Posté le 29-03-2007 à 17:32:04    

hello,
 
Ce que je souhaite faire correspond à un mailto, ex mailto:toto@toto.com mais en c#, j'ai presque réussi en utilisant un objet de la classe Process (system.diagnostics.process), le processus de mon client de messagerie (outlook.exe pour moi) est bien chargé mais rien n'apparait à l'écran.
 
Si qq a une idée pourquoi ma fenêtre ne s'affiche pas ou une autre méthode.
merci d'avance
 
voici un morceau de mon code:

Code :
  1. string strMailTo = "mailto:toto@toto.com";
  2. System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
  3. myProcess.StartInfo.UseShellExecute = true;
  4. myProcess.StartInfo.RedirectStandardOutput = false;
  5. myProcess.StartInfo.FileName = strMailTo;
  6. myProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
  7. myProcess.Start();


Reply

Marsh Posté le 29-03-2007 à 17:32:04   

Reply

Marsh Posté le 29-03-2007 à 18:19:55    

Et en enlevant tous les détails ?

Code :
  1. System.Diagnostics.Process.Start("mailto:toto@toto.com" );

Reply

Marsh Posté le 02-04-2007 à 17:08:05    

_Mose_ a écrit :

Et en enlevant tous les détails ?

Code :
  1. System.Diagnostics.Process.Start("mailto:toto@toto.com" );



 
ça fait pareil  :(

Reply

Marsh Posté le 02-04-2007 à 20:55:06    

Hello, J'utilise une petite classe perso qui fonctionne bien pour moi.

Code :
  1. Imports System
  2. Imports System.Diagnostics
  3. Public Class MailTo
  4.     Private Function FormatRecipient(ByVal oList As List(Of String)) As String
  5.         Return String.Join(";", oList.ToArray())
  6.     End Function
  7.     Public Sub Mailto(ByVal oRecipient As List(Of String), ByVal sSubject As String, ByVal sBody As String)
  8.         Dim sCmd As String
  9.         sCmd = "mailto:"
  10.         sCmd += FormatRecipient(oRecipient)
  11.         sCmd += "?"
  12.         sCmd += "subject=" & sSubject
  13.         sCmd += "&body="
  14.         sCmd += sBody
  15.         Dim oInfo As New System.Diagnostics.ProcessStartInfo(sCmd)
  16.         Dim oProcess As New System.Diagnostics.Process
  17.         oProcess.StartInfo = oInfo
  18.         Try
  19.             oProcess.Start()
  20.         Catch ex As Exception
  21.             MessageBox.Show(ex.ToString())
  22.         End Try
  23.     End Sub
  24. End Class

Reply

Marsh Posté le 03-04-2007 à 09:47:43    

Lamarmotte a écrit :

Hello, J'utilise une petite classe perso qui fonctionne bien pour moi.

Code :
  1. Imports System
  2. Imports System.Diagnostics
  3. Public Class MailTo
  4.     Private Function FormatRecipient(ByVal oList As List(Of String)) As String
  5.         Return String.Join(";", oList.ToArray())
  6.     End Function
  7.     Public Sub Mailto(ByVal oRecipient As List(Of String), ByVal sSubject As String, ByVal sBody As String)
  8.         Dim sCmd As String
  9.         sCmd = "mailto:"
  10.         sCmd += FormatRecipient(oRecipient)
  11.         sCmd += "?"
  12.         sCmd += "subject=" & sSubject
  13.         sCmd += "&body="
  14.         sCmd += sBody
  15.         Dim oInfo As New System.Diagnostics.ProcessStartInfo(sCmd)
  16.         Dim oProcess As New System.Diagnostics.Process
  17.         oProcess.StartInfo = oInfo
  18.         Try
  19.             oProcess.Start()
  20.         Catch ex As Exception
  21.             MessageBox.Show(ex.ToString())
  22.         End Try
  23.     End Sub
  24. End Class



 
je l'ai adapté en c# mais ça fait toujours la même chose.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed