def update_colinfo(not_used, dir_name, fnames):
for fname in fnames:
full_fname=os.path.join(dir_name,fname)
if os.path.isdir(full_fname):
print full_fname
pidl=shell.SHILCreateFromPath(full_fname,0)[0]
pb=shell.SHGetViewStatePropertyBag(pidl, "Shell", shellcon.SHGVSPB_FOLDERNODEFAULTS, pythoncom.IID_IPropertyBag)
## not all folders already have column info, and we're replacing it anyway
pb.Write('ColInfo', template_stream)
iunk=pb.Read('ColInfo',pythoncom.VT_UNKNOWN)
s=iunk.QueryInterface(pythoncom.IID_IStream)
s.Write(template_colinfo)
s=None
## attribute names read from registry, can't find any way to enumerate IPropertyBag
for attr in ('Address','Buttons','Col','Vid','WFlags','FFlags','Sort','SortDir','ShowCmd','FolderType','Mode','Rev'):
pb.Write(attr, template_pb.Read(attr))
pb=None
python类IID_IPropertyBag()的实例源码
def update_colinfo(not_used, dir_name, fnames):
for fname in fnames:
full_fname=os.path.join(dir_name,fname)
if os.path.isdir(full_fname):
print full_fname
pidl=shell.SHILCreateFromPath(full_fname,0)[0]
pb=shell.SHGetViewStatePropertyBag(pidl, "Shell", shellcon.SHGVSPB_FOLDERNODEFAULTS, pythoncom.IID_IPropertyBag)
## not all folders already have column info, and we're replacing it anyway
pb.Write('ColInfo', template_stream)
iunk=pb.Read('ColInfo',pythoncom.VT_UNKNOWN)
s=iunk.QueryInterface(pythoncom.IID_IStream)
s.Write(template_colinfo)
s=None
## attribute names read from registry, can't find any way to enumerate IPropertyBag
for attr in ('Address','Buttons','Col','Vid','WFlags','FFlags','Sort','SortDir','ShowCmd','FolderType','Mode','Rev'):
pb.Write(attr, template_pb.Read(attr))
pb=None
def update_colinfo(not_used, dir_name, fnames):
for fname in fnames:
full_fname=os.path.join(dir_name,fname)
if os.path.isdir(full_fname):
print(full_fname)
pidl=shell.SHILCreateFromPath(full_fname,0)[0]
pb=shell.SHGetViewStatePropertyBag(pidl, "Shell", shellcon.SHGVSPB_FOLDERNODEFAULTS, pythoncom.IID_IPropertyBag)
## not all folders already have column info, and we're replacing it anyway
pb.Write('ColInfo', template_stream)
iunk=pb.Read('ColInfo',pythoncom.VT_UNKNOWN)
s=iunk.QueryInterface(pythoncom.IID_IStream)
s.Write(template_colinfo)
s=None
## attribute names read from registry, can't find any way to enumerate IPropertyBag
for attr in ('Address','Buttons','Col','Vid','WFlags','FFlags','Sort','SortDir','ShowCmd','FolderType','Mode','Rev'):
pb.Write(attr, template_pb.Read(attr))
pb=None
def test():
bag = Bag()
target = Target()
log = Log()
target.Save(bag, 1, 1)
target.Load(bag, log)
comBag = util.wrap(bag, pythoncom.IID_IPropertyBag)
comTarget = util.wrap(target, pythoncom.IID_IPersistPropertyBag)
comLog = util.wrap(log, pythoncom.IID_IErrorLog)
comTarget.Save(comBag, 1, 1)
comTarget.Load(comBag, comLog)
def test():
bag = Bag()
target = Target()
log = Log()
target.Save(bag, 1, 1)
target.Load(bag, log)
comBag = util.wrap(bag, pythoncom.IID_IPropertyBag)
comTarget = util.wrap(target, pythoncom.IID_IPersistPropertyBag)
comLog = util.wrap(log, pythoncom.IID_IErrorLog)
comTarget.Save(comBag, 1, 1)
comTarget.Load(comBag, comLog)
def test():
bag = Bag()
target = Target()
log = Log()
target.Save(bag, 1, 1)
target.Load(bag, log)
comBag = util.wrap(bag, pythoncom.IID_IPropertyBag)
comTarget = util.wrap(target, pythoncom.IID_IPersistPropertyBag)
comLog = util.wrap(log, pythoncom.IID_IErrorLog)
comTarget.Save(comBag, 1, 1)
comTarget.Load(comBag, comLog)
def test():
bag = Bag()
target = Target()
log = Log()
target.Save(bag, 1, 1)
target.Load(bag, log)
comBag = util.wrap(bag, pythoncom.IID_IPropertyBag)
comTarget = util.wrap(target, pythoncom.IID_IPersistPropertyBag)
comLog = util.wrap(log, pythoncom.IID_IErrorLog)
comTarget.Save(comBag, 1, 1)
comTarget.Load(comBag, comLog)