青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博:http://weibo.com/wanlianwen
posts - 172,  comments - 1253,  trackbacks - 0
曾經有一位csdn朋友問過我這個問題(當時自己很自大,以為知道很多),由于孤陋寡聞沒能夠幫助解決,并且告訴他不可能實現。現在等我知道怎么實現了,確不知道那個朋友在那里。如果上天再給我一次機會,我寧愿不回答。如果非要我給一個答案,我想該說不知道。
無知無畏,大放厥詞,不知道有沒有誤導別人,為自己行為感到慚愧,愿那個朋友已經找到解決方法。在此給出實現,希望對后面有需要的人有幫助。
我開始了解類型庫應該說是從.NET開始,它里面有程序集的概念,程序集里面有類型,可以通過反射技術動態創建。當我再回頭看COM的類型庫時,我完全明白了。在這一點.NET從思想上和COM的類型庫(or OLE)完全等同。COM類型庫等同于程序集的概念,它里面也是類型,下面摘自SDK:
typedef?/*?[v1_enum]?*/?
enum?tagTYPEKIND
????
{????TKIND_ENUM????=?0,
????TKIND_RECORD????
=?TKIND_ENUM?+?1,
????TKIND_MODULE????
=?TKIND_RECORD?+?1,
????TKIND_INTERFACE????
=?TKIND_MODULE?+?1,
????TKIND_DISPATCH????
=?TKIND_INTERFACE?+?1,
????TKIND_COCLASS????
=?TKIND_DISPATCH?+?1,
????TKIND_ALIAS????
=?TKIND_COCLASS?+?1,
????TKIND_UNION????
=?TKIND_ALIAS?+?1,
????TKIND_MAX????
=?TKIND_UNION?+?1
????}
????TYPEKIND;

通過dll查看類型庫有很多種辦法,借助VB開發環境,使用OLE View(VC6自帶小工具)附上一張圖:

為什么要用編程方式獲取類型庫信息呢?自然有理由,想想VB IDE導入類型庫如何實現的?下面就介紹編程。
//?load?a?dll?contain?typelib
????hr?=?LoadTypeLib(L"TgmDocument0906.dll",?&pITypeLib);
????
if(SUCCEEDED(hr))
????
{
????????
//?get?account?of?types?and?iterate
????????nType?=?pITypeLib->GetTypeInfoCount();
????????
for(nIt=0;?nIt<nType;?++nIt)
????????
{
????????????
//?get?each?type
????????????hr?=?pITypeLib->GetTypeInfo(nIt,?&pITypeInfo);
????????????
if(SUCCEEDED(hr))
????????????
{
????????????????
//?what?the?type?is??see?define?of?TYPEKIND,?it?is?a?enum
????????????????pITypeLib->GetTypeInfoType(nIt,?&enumKind);
????????????????
//?get?type?name
????????????????pITypeInfo->GetDocumentation(MEMBERID_NIL,?&bstrName,?NULL,?NULL,?NULL);
????????????????
//?print?type?and?name
????????????????PrintType(enumKind,?W2A(bstrName));
????????????????
//?if?dispatch,?we?print?all?the?functions(or?property?but?i?didn't?distinguish)
????????????????if(enumKind?==?TKIND_DISPATCH)
????????????????
{
????????????????????PrintDispFunc(pITypeInfo);
????????????????}

????????????????SysFreeString(bstrName);
????????????????pITypeInfo
->Release();
????????????????pITypeInfo?
=?NULL;
????????????}

????????}

????????pITypeLib
->Release();
????????pITypeLib?
=?NULL;
????}
我加載一個以前寫的com dll(當然理論上可以是任何含有類型信息的dll或者exe),然后遍歷所有類型,獲取類型的名字并打印,如果類型是dispatch接口,打印出所有接口函數(可能是屬性,在此我沒有判斷)。下面是實驗結果:



示例代碼下載
posted on 2006-09-06 22:21 萬連文 閱讀(2243) 評論(4)  編輯 收藏 引用 所屬分類: ATL

FeedBack:
# re: 通過編程獲取COM dll中Type和Function
2006-09-07 18:11 | LOGOS
這個頁面(不知道是否包括你站點上其他的頁面),可以造成我瀏覽器的內存泄漏,會把整個機器吃了.
我用長風瀏覽器(IE內核).....  回復  更多評論
  
# re: 通過編程獲取COM dll中Type和Function
2006-09-07 22:01 | 漂舟
你瀏覽器這么歪 ?  回復  更多評論
  
# re: 通過編程獲取COM dll中Type和Function
2013-10-30 22:34 | 紅色代碼
額.頂了星星  回復  更多評論
  
# re: 通過編程獲取COM dll中Type和Function[未登錄]
2015-08-08 19:29 | 阿牛
PrintDispFunc(pITypeInfo);

PrintType(enumKind, W2A(bstrName));
這兩個函數是怎么實現的  回復  更多評論
  
簡歷下載
聯系我

<2006年4月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(66)

隨筆分類

隨筆檔案

相冊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品免费在线| 亚洲日本欧美| 久久久久欧美精品| 亚洲欧美一区二区激情| 亚洲一区二区三区三| 亚洲一区二区高清| 校园春色综合网| 美女免费视频一区| 欧美美女bbbb| 国产精品麻豆成人av电影艾秋 | 久久久精品一区| 蜜桃av噜噜一区| 亚洲国产欧美一区二区三区久久| 免费观看久久久4p| 亚洲国产精品小视频| 日韩视频精品在线观看| 亚洲一区在线免费观看| 美女国产一区| 国产精品乱看| 亚洲激情视频在线观看| 午夜精品婷婷| 亚洲电影在线观看| 亚洲一区欧美激情| 美国十次成人| 国产精品美女午夜av| 在线观看一区欧美| 久久久久国产精品厨房| 久久综合中文色婷婷| 久久中文字幕一区| 亚洲精品日韩激情在线电影| 亚洲欧美日本国产专区一区| 噜噜噜噜噜久久久久久91| 欧美亚州一区二区三区| 亚洲国产高清高潮精品美女| 欧美一区1区三区3区公司| 亚洲国产三级| 久久影视精品| 国产午夜精品久久久| 日韩一级成人av| 美日韩免费视频| 午夜精品一区二区三区电影天堂| 欧美成在线观看| 亚洲福利视频二区| 久久久久免费| 午夜免费久久久久| 国产精品高清在线观看| 日韩亚洲综合在线| 亚洲国产日韩美| 免费日韩av| 精品二区久久| 久久久久国产精品麻豆ai换脸| 亚洲午夜视频| 国产精品久久久久久久电影| 日韩午夜av电影| 亚洲国产高清一区二区三区| 久久久国产精品一区二区三区| 国产日产欧产精品推荐色| 亚洲自拍偷拍麻豆| 一区二区三区四区五区视频| 欧美成人精品一区二区三区| 亚洲国产免费| 亚洲人被黑人高潮完整版| 欧美成人午夜| 亚洲天堂网在线观看| 亚洲免费av电影| 欧美四级电影网站| 午夜精品视频在线观看一区二区| 亚洲一二三区在线观看| 国产乱码精品一区二区三区av | 久久一区二区精品| 久久久久国产精品麻豆ai换脸| 好吊色欧美一区二区三区四区 | 99精品久久久| 欧美午夜精品理论片a级大开眼界| av不卡在线看| 中日韩男男gay无套| 国产精品人人爽人人做我的可爱 | 国产精品久久久久9999| 午夜综合激情| 欧美激情视频一区二区三区不卡| 欧美顶级艳妇交换群宴| 久久久久99精品国产片| 亚洲第一在线| 亚洲欧洲一区二区三区| 欧美日韩一区二区视频在线| 亚洲欧美日韩国产中文在线| 亚洲欧美日韩视频一区| 在线日韩日本国产亚洲| 亚洲另类自拍| 国产一区二区三区免费在线观看 | 99re6这里只有精品视频在线观看 99re6这里只有精品 | 久久国产日韩欧美| 久久综合伊人77777蜜臀| 亚洲美女色禁图| 亚洲欧美激情视频| 亚洲激情成人网| 午夜精品久久久久99热蜜桃导演| 在线日本高清免费不卡| 中日韩视频在线观看| 在线观看欧美视频| 一区二区日韩精品| 精品成人乱色一区二区| 99国产精品久久久久老师| 国产综合视频在线观看| 亚洲人成人一区二区在线观看 | 一区二区三区日韩欧美精品| 亚洲男人第一av网站| 亚洲区第一页| 羞羞答答国产精品www一本| 亚洲精品男同| 欧美诱惑福利视频| 亚洲影院免费| 欧美精品激情| 欧美99久久| 国产精品一区二区a| 亚洲精品一区二区在线| 伊人久久大香线蕉av超碰演员| 99国产精品99久久久久久| 亚洲缚视频在线观看| 校园春色综合网| 欧美一二三区在线观看| 欧美看片网站| 亚洲国产精品国自产拍av秋霞| 国模精品娜娜一二三区| 亚洲永久免费av| 亚洲欧美日韩直播| 欧美日韩中文| 亚洲乱码国产乱码精品精98午夜| 亚洲韩国一区二区三区| 久久精品日韩| 两个人的视频www国产精品| 国产美女一区| 亚洲欧美日韩综合| 午夜精品电影| 国产精品毛片高清在线完整版| 亚洲乱码精品一二三四区日韩在线 | 久久中文精品| 国产精品一二三| 日韩一本二本av| 99国产精品视频免费观看| 久热精品视频| 欧美激情 亚洲a∨综合| 亚洲高清影视| 欧美国产成人精品| 亚洲人成网站999久久久综合 | 久久久精品欧美丰满| 国产日韩欧美91| 久久久精品免费视频| 免费观看一区| 亚洲三级电影全部在线观看高清| 免费成人在线视频网站| 亚洲国产一区二区三区在线播| 亚洲毛片在线观看.| 欧美日韩亚洲一区二区三区在线观看 | 欧美国产在线视频| 亚洲理论电影网| 欧美日韩喷水| 亚洲欧美中文日韩v在线观看| 欧美在线免费视频| 激情欧美丁香| 欧美巨乳在线| 性欧美激情精品| 亚洲国产精品一区二区第四页av| 一本一本大道香蕉久在线精品| 国产精品久久久久久久久借妻| 性高湖久久久久久久久| 欧美成人综合| 亚洲男人影院| 尤物精品国产第一福利三区 | 亚洲国内欧美| 性色av一区二区三区红粉影视| 国产亚洲永久域名| 欧美粗暴jizz性欧美20| 亚洲图片欧洲图片av| 久久婷婷综合激情| 一个人看的www久久| 国产精品一区二区视频| 久久伊人亚洲| 亚洲欧美视频在线| 亚洲日本中文字幕| 久久免费精品视频| 亚洲视频axxx| 亚洲国产日韩欧美| 国产亚洲欧美日韩一区二区| 久久综合伊人| 亚洲在线视频网站| 亚洲国产毛片完整版| 欧美一级淫片播放口| 亚洲免费观看在线观看| 国户精品久久久久久久久久久不卡| 欧美电影在线免费观看网站| 欧美伊人精品成人久久综合97| 亚洲精品在线视频观看| 麻豆成人在线观看| 久久精品国产清自在天天线 | 亚洲精品久久| 欧美国产另类| 亚洲视频香蕉人妖| 亚洲午夜高清视频| 国产综合色在线|