Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何创建属性存储二进制文件_C++_Winapi_Binary_Windows Shell_Propertyhandler - Fatal编程技术网

C++ 如何创建属性存储二进制文件

C++ 如何创建属性存储二进制文件,c++,winapi,binary,windows-shell,propertyhandler,C++,Winapi,Binary,Windows Shell,Propertyhandler,我试图在Windows文件资源管理器中实现一个基于图标的属性,我从post中了解到,它需要从属性处理程序返回一个属性存储二进制文件。有人知道如何创建属性存储二进制文件吗?在搜索之后,我遇到了一些关于规范的问题,但是我没有看到任何关于如何创建规范的示例。非常感谢。您不需要任何二进制文件,只需要实现。您可以使用该方法创建一个 在SHGetPropertyStoreFromIDList上设置一个断点,看看它能做什么。谢谢。你能详细说明一下我是如何将此与关于属性图标的链接帖子结合使用的吗?再次感谢。@a

我试图在Windows文件资源管理器中实现一个基于图标的属性,我从post中了解到,它需要从属性处理程序返回一个属性存储二进制文件。有人知道如何创建属性存储二进制文件吗?在搜索之后,我遇到了一些关于规范的问题,但是我没有看到任何关于如何创建规范的示例。非常感谢。

您不需要任何二进制文件,只需要实现。您可以使用该方法创建一个


在SHGetPropertyStoreFromIDList上设置一个断点,看看它能做什么。谢谢。你能详细说明一下我是如何将此与关于属性图标的链接帖子结合使用的吗?再次感谢。@amt528-这是一个不同的问题。无论如何,丹尼斯的回答或多或少地解释了一切。本页还从高级C#视图对其进行了解释,但它应该可以帮助您连接点:(在“项目图标属性”一章中)。免责声明:这是我公司销售的商业产品,我不确定我是否理解。我正在属性处理程序中实现
IPropertyStore
,包括
GetValue()
方法。按照我的理解,当shell请求获取与图标相关的属性键的值时,
GetValue()
方法应该返回一个属性存储二进制文件。但我不明白怎么做。任何帮助都将不胜感激!1) 在安装时使用.propdesc和适当的权限注册两个自定义属性(1 blob+1 enum),2)IPropertyStore必须为blob属性(“我的文档链接中的IconUIProperty”)提供一个值,该属性本身就是IPropertyStore实现(我的文档链接中的MemoryPropertyStore,可以使用PSCreateMoryPropertyStore)它有三个属性。(“我的文档链接中的StatusIcons”、“StatusIconsDisplayFlag”和“IconProperty”)。仔细阅读我们提供的链接,所有内容都在那里(我相信只有在那里……因为这没有正式文档)@amt528-自Windows Vista以来,属性存储可用,但我不知道blog+enum属性。Windows7也添加了很多东西。试试看。
IPropertyStore *ps;
if (SUCCEEDED(PSCreateMemoryPropertyStore(IID_PPV_ARGS(&ps))))
{
    // do your work
    ps->Release();
}