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

萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博:http://weibo.com/wanlianwen
posts - 172,  comments - 1253,  trackbacks - 0
曾經有一位csdn朋友問過我這個問題(當時自己很自大,以為知道很多),由于孤陋寡聞沒能夠幫助解決,并且告訴他不可能實現?,F在等我知道怎么實現了,確不知道那個朋友在那里。如果上天再給我一次機會,我寧愿不回答。如果非要我給一個答案,我想該說不知道。
無知無畏,大放厥詞,不知道有沒有誤導別人,為自己行為感到慚愧,愿那個朋友已經找到解決方法。在此給出實現,希望對后面有需要的人有幫助。
我開始了解類型庫應該說是從.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 萬連文 閱讀(2245) 評論(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));
這兩個函數是怎么實現的  回復  更多評論
  
簡歷下載
聯系我

<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用鏈接

留言簿(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>
            亚洲午夜激情网站| 国产精品久久看| 99精品国产热久久91蜜凸| 亚洲高清自拍| 牛牛国产精品| 91久久精品日日躁夜夜躁欧美 | 久久久久在线观看| 久久精品视频在线| 欧美暴力喷水在线| 91久久国产综合久久| 一区二区三区免费在线观看| 亚洲免费在线视频| 久久人人爽人人爽爽久久| 女人天堂亚洲aⅴ在线观看| 欧美日韩国产一区精品一区| 国产精品三级视频| 亚洲成色www8888| 一本一本久久| 久久中文久久字幕| 日韩一区二区免费看| 欧美亚洲在线视频| 欧美—级在线免费片| 国产日韩免费| 在线一区二区三区四区| 久久久久88色偷偷免费| 亚洲国产精品高清久久久| 亚洲四色影视在线观看| 久久免费视频一区| 国产精品免费看片| 亚洲日本一区二区三区| 久久精品1区| 亚洲美女视频| 另类天堂av| 国产日韩欧美亚洲| 一区二区三区四区在线| 蜜桃久久精品乱码一区二区| 亚洲一区在线播放| 欧美福利视频| 在线不卡免费欧美| 欧美综合国产精品久久丁香| 91久久精品美女| 久久综合成人精品亚洲另类欧美| 国产精品美女主播| 国产精品―色哟哟| 免费看av成人| 亚洲永久网站| 欧美丝袜一区二区| 亚洲娇小video精品| 久久精品国产综合精品| 亚洲深夜影院| 欧美日韩精选| 9色porny自拍视频一区二区| 欧美成人免费在线观看| 久久精品免视看| 国产亚洲欧美aaaa| 久久久国产视频91| 欧美一级播放| 国产情侣久久| 久久xxxx精品视频| 欧美一乱一性一交一视频| 国产乱人伦精品一区二区| 欧美一区二区三区四区高清| 亚洲午夜一区| 国产精品羞羞答答| 久久久免费精品视频| 久久精品国产亚洲一区二区| 国产一区二区三区久久精品| 久久疯狂做爰流白浆xx| 性欧美18~19sex高清播放| 国产无遮挡一区二区三区毛片日本| 欧美一区二区免费| 欧美一区亚洲| 亚洲国产高清视频| 91久久国产自产拍夜夜嗨| 欧美女同视频| 亚洲欧美在线播放| 久久大逼视频| 91久久国产精品91久久性色| 亚洲国产精品日韩| 欧美日韩在线第一页| 亚洲欧美伊人| 久久久久久久久久久一区| 亚洲经典一区| 一区二区日韩欧美| 狠狠狠色丁香婷婷综合久久五月| 你懂的视频一区二区| 欧美伦理91| 欧美一区二区高清在线观看| 久久中文字幕一区| 亚洲素人在线| 久久久久国色av免费看影院| 亚洲精品欧美在线| 亚洲欧美三级在线| 亚洲人成77777在线观看网| 日韩视频在线观看一区二区| 国产欧美一区二区三区另类精品 | 这里只有精品视频在线| 国产一区二区三区丝袜| 亚洲国产精品成人综合| 国产精品久久久久久久久动漫| 欧美在线三级| 一本久久综合亚洲鲁鲁| 国产精品区一区| 久久伊人精品天天| 欧美精品色综合| 久久精品国产77777蜜臀| 欧美精品一区二区三区久久久竹菊 | 久久全球大尺度高清视频| 欧美护士18xxxxhd| 久久久久99| 欧美日韩一区二区三区高清| 牛牛精品成人免费视频| 国产精品嫩草99av在线| 亚洲国产日韩在线| 国内精品久久久久影院 日本资源| 国产亚洲欧美另类中文| 亚洲日本免费| 在线看国产日韩| 亚洲欧美日韩在线一区| 这里只有精品电影| 欧美成人精品福利| 美日韩精品视频免费看| 国产日韩亚洲欧美精品| 99成人免费视频| 日韩一区二区免费看| 久久视频一区二区| 久久这里只有精品视频首页| 国产日韩av一区二区| 亚洲影院一区| 欧美亚洲一区二区在线| 欧美日韩一区二区三区| 亚洲精品色婷婷福利天堂| 亚洲精品国产精品国自产在线| 久久精品色图| 美女国产精品| 在线播放日韩| 久色成人在线| 亚洲成人在线视频播放| 91久久国产精品91久久性色| 久久夜色精品国产噜噜av| 蜜臀a∨国产成人精品| 激情成人亚洲| 久久亚洲私人国产精品va| 免费欧美电影| 亚洲日本在线观看| 欧美日韩视频不卡| 亚洲午夜高清视频| 欧美亚洲日本网站| 国产午夜精品全部视频播放| 欧美一区二区三区视频在线观看| 久久精品亚洲| 激情偷拍久久| 欧美福利电影在线观看| 在线综合视频| 久久米奇亚洲| 亚洲精品视频啊美女在线直播| 欧美日韩一区在线| 欧美亚洲一区二区在线观看| 国产精品私房写真福利视频| 欧美一区亚洲一区| 激情综合色综合久久| 免费在线观看成人av| 亚洲精品日韩在线观看| 欧美一级视频精品观看| 影音国产精品| 欧美日韩综合在线| 欧美在线综合| 亚洲精品之草原avav久久| 亚洲欧美日韩国产一区| 在线观看一区| 欧美性大战久久久久久久蜜臀| 欧美在线看片a免费观看| 欧美激情性爽国产精品17p| 午夜欧美电影在线观看| 1024国产精品| 国产精品国产三级国产普通话蜜臀 | 久久亚洲欧美国产精品乐播| 亚洲久久一区二区| 久久天天躁狠狠躁夜夜av| 亚洲天堂av综合网| 在线观看精品| 国产精品一卡| 欧美日韩精品在线播放| 久久久久91| 亚洲自拍偷拍麻豆| 亚洲精品综合在线| 欧美成人自拍| 久久久久久久波多野高潮日日| 一区二区三区久久久| 亚洲福利视频在线| 国产一区二区在线观看免费播放| 欧美激情一二区| 久久青青草原一区二区| 午夜精品视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 欧美激情在线| 欧美91大片| 久久青草欧美一区二区三区| 久久国产66| 午夜欧美精品|