• 締切済み
  • 困ってます

MAPIを使用したい

VC++は実は、初心者なのですが、どうしてもMAPIを使用したDLLを作成しなければ行けなくなりました。 つきましては、VC++でのMAPI利用DLLの作成法、サンプルが記載されているHPなどの情報をおもちでしたら、教えて頂ければ幸いです。 なお、調べた所、VC++のスケルトンでMAPIを内包する事は可能ですが、その場合CDocumentクラスになってしまうので、DLL時には利用できないと認識しています。 #(余談)VBのDLLをVCから参照なんて出来ませんよね?

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数1153
  • ありがとう数21

みんなの回答

  • 回答No.2
  • darksky
  • ベストアンサー率66% (38/57)

Simple MAPIのMAPISendMailを使用すればメールは送信できると思います。 MAPISendMailについて調べてみてください。 あと、「Inside MAPI」という書籍がありますので、チェックしてみてはいかがでしょうか。

参考URL:
http://bpstore.nikkeibp.co.jp/msp/book/17201/17201.html

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • VisualStudio2010 DLL作成方法

    VisualStudio2010を使っています(初心者)。 VBで作成していたのですが、一部VC++を使わなければいけなくなりました。VC++はDLLで作成して、VBの方でDLLを参照して処理を行いたいと考えています。 そこで試しに作成したVC++で作成したDLLをVBで参照しようとしたらERRORになってしまい上手にできませんでした。※ERRORの内容までは詳しく覚えてません。VC++のDLLを作成~VBのDLLの参照までを説明しているサイトなどありましたら教えて下さい。 よろしくお願いします。

  • VBとVC++を両方使うプログラム(VS2008)

    VBとVC++を両方使うプログラムのデバッグなんですが、VBとVC++を両方使って作ったプログラム全体を一つのソリューションにまとめて統合環境で動かしてデバッグしたいです。VS2008でVBとVC++を両方使うプログラムの作り方をサンプル付で説明した本はありませんでしょうか? MSDN読んでもさっぱりわかりません。アンマネージかマネージかアクティブXかというと、dllのほうは基本的にOpenGL使うためなので当面はアンマネージでいいかも。でも今後はマネージドになっていくのでしょう。 VB6/VC6の頃はVC++でdllを作ってVBから呼び出してましたが、デバッグのときにdll側にバグがあるとVB側からどういうデータが来ていたのかわからずに苦労していました。まとめて動かして変数の値を追えれば便利です。 無理せず一つの言語でやれといわれそうですが、やはりVCの方が速度は速いし何よりも両方使えれば両方のサンプルコードが使えるので便利だし、何よりC++を使わないと上達しないのでやるしかありません。そんなわけでよろしくお願いします。

  • VC++わかるかた初心者からの質問お願いします

    VC++に詳しいかた教えてほしいのですが、 VBはソフトを動かすときにランタイムが必要ですが VCで作成されたEXEでは そういったものがひつようなんでしょうか? またVBだといろいろとDLLとかOCXとかがEXEとは別途必要ですが VC++の場合はどうなるのでしょうか? EXEと一緒にパッケージできてしまったりはないのでしょうか? よろしくおねがいします。

  • 回答No.1
  • mnabe
  • ベストアンサー率33% (427/1283)

MAPIは最近つかっていないの記憶の彼方に消えていますが、  以前、MAPIを使用したDLLは作れましたので、作る事ができます。その変り、全部自分でMAPI関連のAPIを駆使して作る必要がありますがね(^^;  あと具体的に、何をやりたいか書いて欲しいなぁ... MAPIを使用して何をやりたいのか、また絶対にMAPIでなければならないのか...等々ね。  ちなみに、VBで使用したDLLをVCから参照は(頑張れば)出来ます。文字列の取り扱いを工夫すれば出来ますが、あまり有意義な解決策ではないと思いますよぉ

共感・感謝の気持ちを伝えよう!

質問者からのお礼

やっぱり、そうですか... 簡単には無理みたいですね。 何をやりたいかというと、 「メールアドレス」「メッセージ」を引数で与えて、MAPIで送信するというDLLを作りたいのです。 一応、MAPI以外にもSimpleMAPIとかCMCとかあるみたいなんですが...やっぱり、参考文献がなくて...MSDN(英語)はあるようなのですが... もう少し頑張ってみます。

関連するQ&A

  • VC++6.0で作成したDLLのクラスをVB6.0でインポートするには?

    VC++6.0で作成したDLLのクラスをVB6.0でインポートするにはどうしたらいいのでしょうか? 通常の関数なら__declspec(dllexport) __stdcall を書き,defファイルにEXPORT指定することで解決できたのですが,クラスごとエクスポートする場合にはVC側,VB側の記述をどのようにすれば良いのでしょうか?

  • VC++2008 Express MSCOMMのようなもの LAN接続

    詳しくなくて質問の仕方もよくわかりませんが VC++を使って、LAN経由でシーケンサなどのデータを読み書きできるようなDLLを作成したいと思います。 (DLLでなくても良いです) VBだとMSCOMMを使用してのサンプルなどあり、 分かるのですが、VC++だとどのようにコンポーネントの設定とか するのでしょうか? 環境は以下です。 VC++2008Express Win32アプリ DLL  OS:WindowXP よろしくお願いします。

  • VCで作成したDLLの使用

    VCで作成したDLLの使用 VC6.0で作成されたDLLファイルを使いたいのですが _stdcallで記述されたものではなく DllMainで記述されたものなのですが、 VBから呼び出す事は可能でしょうか? 普通にdeclare functionで呼び出そうとすると、 「エントリfnchogeがDLLファイル hoge.dll内に関数が見つかりません。」 とエラーがでるだけでした。 VB6.0SP3 Windows2000

  • 【C++】DLLの中身

    親クラス:ParentClassが、 メンバ m_a メソッド GetA SetA それを継承した子クラス:ChildClass が、 メンバ m_a ←オーバーライド m_b ←子クラスで追加 メソッド GetA ←オーバーライド SetA ←オーバーライド GetB ←子クラスで追加 SetB ←子クラスで追加 という構成で、それぞれ別のDLLを作成したとき、 以下のどちらになるでしょうか? 「(1)」の認識であり、必ず、子クラスは、親クラスのファイルサイズよりも大きくなるという認識です。 (1)「ChildClass.DLL」では、 コンパイル時の「ParentClass」の処理内容を内包している。 (※ChildClass.DLLのコンパイル時に、親クラスの処理も、記載されたような状態でDLLが作成される) (2) 「ChildClass.DLL」では、 コンパイル時の「ParentClass」の処理内容を内包せず、 実行時に、親クラスのDLLに委譲している。 また、「(1)」であるならば、 親クラスにバグがあって修正した場合、 必ず子クラスも再コンパイルしなければならない認識ですが合っていますでしょうか? /**************************************/ また、DLLがクラスX、クラスYで構成されているとき、 クラスXのobj と、 クラスYのobj と、 クラスXのlib (クラスYから、クラスXの処理を呼び出せるようにするために、クラスX側からpublic で実行できる関数のIN・OUTの仕様が記載されている) クラスYのlib が、含まれているという認識で良いのでしょうか? .   コンパイル時、libや、objができますが、これらはDLLに内包される

  • VB6.0を使用しています

    VB6.0を使用しています VC6.0でdefファイルで宣言してDLLを作成し VBのEXEよりDLLをCALLしています。 VBではDLLの関数をDeclareで宣言しています。 問題なのは ちょっと前まで問題なく動いたDLLですが 新規にDLL関数を追加したら EXEではちゃんと呼び出して処理を行なってくれておりますが VBのデバッグ起動で呼び出すと、その新規のDLLの関数がありませんと メッセージを通知して止まってしまいます、 EXEでは動くのにデバッグ起動ではだめなんでしょうか??不思議です もし、ご存知の方がいらっしゃいましたら教えてください。

  • 【VC++2008】オブジェクトの利用法

    お世話になります。 VC++2008の使い方について質問があります。 ゲームを作成するため、よく使うメソッドなどをクラス化し一度外部に吐き出して、他のプロジェクトからもカプセル化したオブジェクトを利用できるようにしたいと考えています。 私は普段VBを中心に利用していてそちらでは簡単に出来るのですが、VCでのやり方が分からず困っています。 どのようにすれば良いのか本当に最初の部分から細かく教えていただけるとありがたいです。 ホームページなどがありましたら紹介していただけると助かります。 よろしくお願いします。

  • VBから参照できないCのDLLを使用する方法

    Cで作成されたDLLがあるのですが、VBから参照設定しても「指定されたファイルへの参照は登録できません。」と怒られます。 そのようなDLLをどうしてもVBから使用したい場合はどうすれば良いでしょうか? 直接は無理だとしても、間に何かをかましてできると思うのですが、良い方法があれば教えてください。 ちなみに VB6 です。 よろしくお願いします。

  • VC++6.0からVBで作成したActiveX.DLL内の関数が呼出しできない

    VB6.0で作成したActiveX.DLLをVC++6.0(Win32SDK)側で 呼び出すプログラムを作成中です。 VB側(DLL)では問題なく作成できています。 Classに1つPublic関数を作成しただけです。 (Instancingは5MultiUseにしてあります) しかし、VC++側の呼出しでDLL内の関数が 呼び出せないのです。 LoadLibraryExでDLL自体のハンドルは取得できるのですが GetProcAddressで関数の取得時にNULLが返ってきてしまいます。 今まで試したことは ・VBからの呼出しはOK ・MFCだとOK ・SDKでもuser32.dll呼出しのサンプルは関数も実行できる です。 今からMFCへ以降するのは厳しいのでSDkでの方法を 知りたいです。 VB側が悪いのかもしれませんが、関数1つですし、 いじるところもほとんどないので多分VC++側だと 思っています。 なにか注意点とか確認するところをおしえていただければ 幸いです。 環境 Windows2000 SP3 VB6.0 SP5 VC++6.0 SP5 Win32SDK

  • Visual Basic6.0で作ったデータをVisual C 6.0を用いて通信したい(DLLファイルを作成)

    Visual C 6.0 Visual Basic 6.0 WindowsXP 掲題の件ですが、 VBで作成したデータをVCで通信したいと思い、 値を受け渡すにはDLLファイルを作って関数の戻り値にすれば良いと調べて分かり、 作成方法を知りたく質問させていただきました。 まず、 ・どちらのプログラムでDLLファイルを作成したらいいか ・どのようにコードを記述して作成したら良いか(VB,VC) VCで一度作成しようと思い、サンプルコードを調べ、ビルドしたところ 「デバック・・・実行可能ファイル・・・」 と表示されファイルを選ばなければいけない画面になりました。 これはどれを選択すれば良いのでしょうか。 よろしくお願い致します。

  • プログラム実行中に強制終了

    現在、VC++6.0でDLLを作成し、それを用いてVBで図形を描画をするプログラムを作っています。 実行中に連続して図形を描画すると強制終了になります。VBのみで図形を書いたりした場合はこのようなことは起こったことがないのでVCで作ったDLLが問題じゃないのかなと予想しています。 強制するときの状況ですが、 "0x69634e8c"の命令が"0x0000003c"のメモリを参照しました。メモリが"written"になることは出来ませんでした。 というメッセージが表示され、次に "0x5c8faed8"の命令が"0x00000564"のメモリを参照しました。メモリが"read"になることは出来ませんでした。 というメッセージが表示され強制終了されます。 またタスクマネージャで強制終了する際の様子を見ていると、PF使用量が1.2GBと異常に高い値になっていました。 どなたかこの問題に対して意見を下さいませんか?