日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

com 名字对象(3)使用IMoniker

發(fā)布時(shí)間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 com 名字对象(3)使用IMoniker 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

一.名字對象比較

Hash和IsEqual方法

IMoniker* moniker2=NULL; CreateFileMoniker(OLESTR("F:\\test.xlsx"),&moniker2); DWORD dw; moniker2->Hash(&dw); IMoniker* moniker3=NULL; CreateFileMoniker(OLESTR("F:\\test2.xlsx"),&moniker3); DWORD dw2; moniker3->Hash(&dw2); HRESULT hr= moniker2->IsEqual(moniker3);

IsRunning說明對象是否在運(yùn)行,GetTimeOfLastChange獲取對象最后一次修改時(shí)間

IBindCtx* bindCtx=NULL; CreateBindCtx(0,&bindCtx); FILETIME ft; moniker3->GetTimeOfLastChange(bindCtx,NULL,&ft); hr=moniker3->IsRunning(bindCtx,NULL,NULL);

二.管理復(fù)合名字對象

1.Inverse返回名字對象的逆名字對象

IMoniker* moniker2=NULL; CreateFileMoniker(OLESTR("F:\\test.xlsx"),&moniker2); IMoniker* moniker3=NULL; CreateItemMoniker(OLESTR("!"),OLESTR("Sheet1"),&moniker3); IMoniker* moniker4=NULL; CreateGenericComposite(moniker2,moniker3,&moniker4); LPOLESTR str; IBindCtx* bindCtx=NULL; CreateBindCtx(0,&bindCtx); moniker4->GetDisplayName(bindCtx,NULL,&str); IMoniker* moniker5=NULL; moniker4->Inverse(&moniker5); LPOLESTR str2; moniker5->GetDisplayName(bindCtx,NULL,&str2);

原文件名字對象:F:\test.xlsx!Sheet1
逆名字對象:\..\..

2.IsSystemMoniker返回名字對象的類型

DWORD monikerType; IMoniker* moniker2=NULL; CreateFileMoniker(OLESTR("F:\\test.xlsx"),&moniker2); moniker2->IsSystemMoniker(&monikerType);

?

typedef enum tagMKSYS{ MKSYS_NONE = 0,MKSYS_GENERICCOMPOSITE = 1,MKSYS_FILEMONIKER = 2,MKSYS_ANTIMONIKER = 3,MKSYS_ITEMMONIKER = 4,MKSYS_POINTERMONIKER = 5,MKSYS_CLASSMONIKER = 7,MKSYS_OBJREFMONIKER = 8,MKSYS_SESSIONMONIKER = 9,MKSYS_LUAMONIKER = 10} MKSYS;

三.反-名字對象(CreateAntiMoniker)

在創(chuàng)建自定義名字對象時(shí)菜會(huì)用到這種名字對象.暫時(shí)不深究

四.三個(gè)處理FILETIME的函數(shù)

HRESULT CoFileTimeNow(
? FILETIME * lpFileTime
);

BOOL CoDosDateTimeToFileTime(
? WORD nDosDate,
? WORD nDosTime,
? FILETIME * lpFileTime
);

BOOL CoFileTimeToDosDateTime(
? FILETIME * lpFileTime,
? LPWORD lpDosDate,
? LPWORD lpDosTime
);

轉(zhuǎn)載于:https://www.cnblogs.com/Clingingboy/archive/2011/08/01/2124280.html

總結(jié)

以上是生活随笔為你收集整理的com 名字对象(3)使用IMoniker的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。