2017-06-07 16 views
0

C++プログラムからデフォルトのメールクライアント「新規メッセージ」ウィンドウを開くようにMacを起動できますか? mailtoリンクのように動作するはずです。プログラムが実行されると、メッセージ本文、件名、および受信者が既に入力された「新しいメッセージ」ウィンドウが開きます。添付ファイルを含める必要はありません。私はその質問に対処するStack Overflowに既にいくつかの回答があることを知っています。私が必要とする機能を持つ Aのmailtoリンクは次のようになります。それはC++で直接のmailtoを使用することができない場合Mac OS Xで「新規メール」ウィンドウをC++で起動する

"mailto:[email protected]?subject=look at this website&body=Hi,I found this website." 

、私が探しています何をして他のいくつかの方法がありますか?

ありがとうございました!

+0

グーグルで数分間試してみたら、これはあなたの望むものと思われます。https://developer.apple.com/documentation/coreservices/1442850-lsopencfurlrefヘッダーファイル:https://github.com/phracker /MacOSX-SDKs/blob/master/MacOSX10.3.9.sdk/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Headers/LSOpen.h#L166おそらくPITAですC/C++から呼び出すことはできますが、実行可能です。 「打ち上げサービス」は、あなたがもっと学ぶために探しているコンセプトのようです。私は上記のことをしたことは一度もありません。 – xaxxon

+0

ご協力いただきありがとうございます! @xaxxon。私は自分の答えを投稿しました。ピタフリーであることが判明しました! – herteladrian

答えて

0

この単純なコードは、私が必要とするものです。これは、指定された受信者アドレス、件名、およびメッセージ本文で、デフォルトのメールクライアントウィンドウを起動します。 "email"、 "subject"、 "bodyMessage"はすべて私の完全なプログラムコードで宣言された文字列変数です。このスニペットには宣言は含まれていません。

 string mailTo = "mailto:" + email + "?subject=" + subject + "\\&body=" + bodyMessage; 
     string command = "open " + mailTo; 
     system(command.c_str()); 

この「post」は、「open」コマンドの使用に役立ちました。

+1

あなたの回答を編集してフォローアップの質問を削除しました。フォローアップの質問がある場合は、コメントや回答者を投稿するのではなく、[新しい質問をする](https://stackoverflow.com/questions/ask)をクリックしてください。 – You

関連する問題