我想用 Shell 编程枚举网上邻居:把 CSIDL_NETWORK 传入 SHGetSpecialFolderLocation 函数得到第一级的ItemIDList,然后通过 IShellFolder.EnumObjects 函数一级一级往下进行,但我只想进行到计算机名称那一级(即不取出计算机底下的共享目录和打印机),有什么方法可以知道我用 EnumObjects 取出的对象是计算机名称呢?

解决方案 »

  1.   

    大家用过 SHBrowseForFolder 这个函数吧,将这个函数的参数
    BROWSEINFO 中的 pidlRoot 设定为 CSIDL_NETWORK 的 ItemIDList,再将BROWSEINFO 的 ulFlags 设定为 BIF_BROWSEFORCOMPUTER,运行后就只能返回计算机名称。
    我上面的意思就是得到这样的效果。
      

  2.   

    GetAttributesOf 的参数 rgfInOut 该如何组合呢?