社本@元ネオニート Blog

社本@元ネオニート (元々ワック) のいたずら書き (for Programmers)

AILight Banner
AILight Blog

プロフィール

社本@元ネオニート Blog
働いたら負けかなと思っていたのですが。。とうとう働き始めました。アメリカのシアトル・エリアにある企業向けのバックアップソフトを開発している会社です。日本人は私だけ。なんとか。。やっていけてるようです。

目次

Blog 利用状況

記事分類

過去の記事

タグ

Scripting::Dictionary を使う方法 - COM

VBSなどのスクリプティング環境で使用することの多いDictionaryを、
VC++から使用する方法です。

VC++とスクリプティング環境とのやり取りに使うと便利なので、多用しています。

---
// インポート
#pragma warning(push)
#pragma warning(disable: 4192)
#pragma warning(disable: 4278)
#import  exclude( \
 "IFileSystem", "IFileSystem2", "IFileSystem3", \
  "IDriveCollection", "IDrive", \
  "IFolderCollection", "IFolder", \
  "IFileCollection", "IFile")
#pragma warning(pop)

// 生成
Scripting::IDictionaryPtr spDictionary(__uuidof(Scripting::Dictionary));
if (spDictionary == NULL)
{
 return E_FAIL;
}

// 設定
spDictionary->Add(&variant_t(L"AppName"), &variant_t(T2W(szAppName)));
spDictionary->Add(&variant_t(L"DisplayVersion"), &variant_t(T2W(szDisplayVersion)));
spDictionary->Add(&variant_t(L"ProductVersion"), &variant_t(T2W(szProductVersion)));

// 取得
MSXML2::IXMLDOMElementPtr spElement = (LPUNKNOWN)spDictionary->GetItem(&_variant_t((long)i));
---

投稿日時 : 2005年7月8日 4:23


コメントを追加

タイトル
名前
URL
コメント