Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to enumerate all setting in windows control panel
    primarykey
    data
    text
    <p>I find when I type text in "Search Control Panel" , it can find out some control penal setting. <img src="https://i.stack.imgur.com/BWMuW.png" alt="enter image description here"> </p> <p>so I want to enumerate all the setting by windows shell or other way</p> <pre><code>var psfDeskTop: IShellFolder; psfControl: IShellFolder; pidControl: PITEMIDLIST; pidChild: PITEMIDLIST; pidAbsolute: PItemIdList; pEnumList: IEnumIDList; celtFetched: ULONG; FileInfo: SHFILEINFOW; begin OleCheck(SHGetDesktopFolder(psfDeskTop)); OleCheck(SHGetSpecialFolderLocation(0, CSIDL_CONTROLS, pidControl)); OleCheck(psfDeskTop.BindToObject(pidControl, nil, IID_IShellFolder, psfControl)); OleCheck(psfControl.EnumObjects(0, SHCONTF_NONFOLDERS or SHCONTF_INCLUDEHIDDEN or SHCONTF_FOLDERS, pEnumList)); while pEnumList.Next(1, pidChild, celtFetched) = 0 do begin pidAbsolute := ConcatPIDLs(pidControl, pidChild); SHGetFileInfo(LPCTSTR(pidAbsolute), 0, FileInfo, SizeOf(FileInfo), SHGFI_PIDL or SHGFI_DISPLAYNAME); // SHGetFileInfo can get name and icon //Do something to save item name and icon end; end; </code></pre> <p>this code can't get specific setting , just get all control panel items. so I find something call <a href="http://en.wikipedia.org/wiki/Windows_Master_Control_Panel_shortcut" rel="nofollow noreferrer">GodMode</a> it can display all settings in control panel </p> <p>Code :</p> <pre><code>var psfDeskTop : ISHellFolder; psfGodeMode : ISHellFolder; pidGodMode : PITEMIDLIST; pidAbsolute : PITEMIDLIST; pidChild : PITEMIDLIST; pEnumList : IEnumIDList; cbEaten : ULONG; dwAttribute : ULONG; celtFetched: ULONG; begin SHGetDesktopFolder(psfDeskTop); psfDeskTop.ParseDisplayName(0, nil, '::{ED7BA470-8E54-465E-825C-99712043E01C}', cbEaten, pidGodMode, dwAttribute); psfDeskTop.BindToObject(pidGodMode, nil, IID_IShellFolder, psfGodeMode); //Get error in this line psfGodeMode.EnumObjects(0, SHCONTF_NONFOLDERS or SHCONTF_FOLDERS, pEnumList); while pEnumList.Next(0, pidChild, celtFetched) = 0 do begin //.... end; end; </code></pre> <p>but it doesn't work , so my question is : is there is a way to enumerate all setting in windows control panel?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload