ユーザーがハイパーリンクの電子メール アドレスをクリックして Microsoft Outlook に移動し、その電子メール アドレスに電子メールを送信できるようにするためのアバウト ボックスを作成しましたが、それを Outlook にリンクする方法がわかりません。ユーザーがリンクをクリックしてこれを実行できるようにします
5 に答える
WinFormsとWebFormsのどちらを使用しているかを言っているのではありません...WinFormsでは、クリックイベントのイベントハンドラーを作成する必要があると思います。その中で、次のように入力してデフォルトのメールアプリケーションを開始できます。
System.Diagnostics.Process.Start("mailto:youremail@xx.com");
このSOスレッドを確認してください。
デフォルトの電子メールクライアントを使用して電子メールを送信するにはどうすればよいですか?
基本的に、クリックイベントは次のようになります。
private void linkLabel1_LinkClicked(object sender,System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "mailto:someone@somewhere.com?subject=hello&body=love my body";
proc.Start();
}
LinkLabel
フォームのコンストラクターに次のように追加します。
linkLabel1.Links.Add(new LinkLabel.Link(0, linkLabel1.Text.Length, "mailto:bob@someaddress.com"));
次に、LinkLabel
のクリック ハンドラーで次のようにします。
linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true;
string target = e.Link.LinkData as string;
System.Diagnostics.Process.Start(target);
<a href="mailto:bob@someaddress.com"></a>.
Outlookがユーザーのマシンにインストールされている場合は、それを使用します。
編集:おっと、WebではなくWinformsが必要であることに気づきました。
WinFormの場合System.Diagnositcs.Process.Start(outlook.exe /c ipm.note /m bob@someadress.com)
は、クリックイベントハンドラーで使用します。
フォームにリンク ラベルを配置します。
リンク ラベルをダブルクリックしてオンクリック ハンドラを作成し、システム プロセス コールを次のように配置します。
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.LinkVisited = true;
System.Diagnostics.Process.Start("mailto:info@cybersprocket.com");
}
これにより、ユーザーが Windows ボックスで構成した既定の電子メール アプリケーションが起動されます。
mailto: を HTTP 参照に置き換えて、デフォルトのブラウザーで Web ページを開きます。
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.LinkVisited = true;
System.Diagnostics.Process.Start("http://www.cybersprocket.com");
}