如何修改windows文件的摘要信息
来源:互联网 发布:windows 2012 ad 辅域 编辑:程序博客网 时间:2024/05/16 07:40
代码里只修改了备注,其他字段相同原理
#include <stdio.h>#include <windows.h>#include <ole2.h>#pragma comment( lib, "ole32.lib" )int GetFileComments(wchar_t *filename, wchar_t *buf, size_t len){ IPropertySetStorage *pPropSetStg = NULL; IPropertyStorage *pPropStg = NULL; PROPSPEC propspec; PROPVARIANT propWrite; PROPVARIANT propRead; HRESULT hr;size_t l; // Open a file and a property set within it. hr = StgOpenStorageEx(filename, STGM_SHARE_EXCLUSIVE | STGM_READ, STGFMT_ANY, 0, NULL, NULL, IID_IPropertySetStorage, reinterpret_cast<void**>(&pPropSetStg) ); if( FAILED(hr) ) return 0; hr = pPropSetStg->Open( FMTID_SummaryInformation, STGM_READ | STGM_SHARE_EXCLUSIVE, &pPropStg ); if( FAILED(hr) ) return 0; propspec.ulKind = PRSPEC_PROPID; propspec.propid = PIDSI_COMMENTS; hr = pPropStg->ReadMultiple( 1, &propspec, &propRead ); if( FAILED(hr) ) {pPropSetStg->Release();pPropSetStg = NULL; return 0;}l = wcslen(propRead.pwszVal)+1;if(0 == len){pPropSetStg->Release();pPropSetStg = NULL;pPropStg->Release(); pPropStg = NULL;return l;}wcscpy(buf,propRead.pwszVal);pPropSetStg->Release();pPropSetStg = NULL; pPropStg->Release(); pPropStg = NULL;return l;}int SetFileComments(wchar_t *filename, wchar_t *buf){ IPropertySetStorage *pPropSetStg = NULL; IPropertyStorage *pPropStg = NULL; PROPSPEC propspec; PROPVARIANT propWrite; PROPVARIANT propRead; HRESULT hr = S_OK; // Open a file and a property set within it. hr = StgOpenStorageEx(filename, STGM_SHARE_EXCLUSIVE | STGM_READWRITE | STGM_DIRECT, STGFMT_ANY, 0, NULL, NULL, IID_IPropertySetStorage, reinterpret_cast<void**>(&pPropSetStg) ); if( FAILED(hr) ) return 0; hr = pPropSetStg->Create( FMTID_SummaryInformation, NULL, PROPSETFLAG_DEFAULT,STGM_READWRITE | STGM_SHARE_EXCLUSIVE,&pPropStg );if( FAILED(hr) && STG_E_FILEALREADYEXISTS == hr){hr = pPropSetStg->Open( FMTID_SummaryInformation, STGM_READWRITE | STGM_SHARE_EXCLUSIVE,&pPropStg );if(FAILED(hr))return 0;} propspec.ulKind = PRSPEC_PROPID; propspec.propid = PIDSI_COMMENTS; //specify the value of property propWrite.vt = VT_LPWSTR; propWrite.pwszVal = buf; hr = pPropStg->WriteMultiple( 1, &propspec, &propWrite,PID_FIRST_USABLE); if( FAILED(hr) ) {pPropSetStg->Release();pPropSetStg = NULL; return 0;}pPropSetStg->Release();pPropSetStg = NULL; pPropStg->Release(); pPropStg = NULL;return 1;}
- 如何修改windows文件的摘要信息
- 如何获取文件的摘要信息!!!!
- C# 如何编辑文件的摘要信息
- DSOfile,一个修改windows系统文件摘要的好东东。
- DSOfile,一个修改windows系统文件摘要的好东东。
- .NET : 如何获取磁盘文件的摘要信息
- MD5信息摘要-文件的独一无二的“数字指纹”
- 用PHP读写NTFS文件系统下的文件摘要信息
- 用IShellDispatch 接口 获得文件的摘要信息
- 如何检查windows的dll文件是否被修改过?
- 如何修改WINDOWS 7文件的内容解决办法
- 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
- Windows下计算文件摘要信息MD5、SHA-1、SHA-256
- Oracle如何修改字符集及如何查看dmp文件的字符集信息
- 如何修改Windows 7 Hosts文件
- 如何修改Windows 7 Hosts文件
- 如何修改Windows 7 Hosts文件
- 《信息分析的核心》摘要
- 在Activity中为什么要用managedQuery()
- 采用MonkeyRunner自动化测试(二)
- 裁剪 rootfs_qtopia_qt4.img
- 通过CCS烧写FLASH的方法
- NND,真悲剧
- 如何修改windows文件的摘要信息
- Intrusion detection's FUTURE
- 数据库重启,应用服务器需要重启的解决方法
- expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token gcc编译错误
- 可空类型的判断 System.Nullable
- 嵌入式工具Qt的安装与使用
- webservice 入门讲解
- python 中open()文件操作的方式
- Excel表格高级筛选教程