<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>SyMenu - General discussion &amp; questions - notes: 'virtual folders' and CSLIDs - Messages</title>
<link>https://www.ugmfree.it/forum/messages.aspx?TopicID=830</link>
<description>SyMenu - General discussion &amp; questions - notes: 'virtual folders' and CSLIDs - Messages</description>
<language>en-us</language>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<pubDate>Sat, 04 Dec 2021 17:40:41 GMT</pubDate>
<lastBuildDate>Sat, 04 Dec 2021 17:40:41 GMT</lastBuildDate>
<item>
<link>https://www.ugmfree.it/forum/messages.aspx?TopicID=830</link>
<title>Message from msillano</title>
<description><![CDATA[A <b>CLSID</b>  is a universal unique identifier (<a href="https://enwikipedia.org/wiki/Universally_unique_identifier" target="_blank" rel="nofollow">UUID</a>)  used by Microsoft to identify a COM class object, and the CLSID known by Windows are stored  in <i>registry</i> at <span style="color:333333">[HKEY_CLASSES_ROOT\CLSID]</span>. The 128 bit (16 byte) UUID implementation by Microsoft is called also <b>GUID</b>, and the GUID standard form is  {4-2-2-2-6} byte HEX.<br/><br/>Using the CLSID you can access special virtual folders or virtual applets. In some cases, CLSID provides access to physical folders on the hard drive or even special operating system features such as "<i>Minimize All Windows</i>" or the <i>Alt + Tab switcher</i>. The CLSIDs give you the control over many Windows operations in  fast mode, i.e. creating desktop shortcuts or new items in SyMenu and so bypassing the slow "Control Panel" or all the steps required by 'how-to' instructions.<br/><br/>The SyMenu user has so the power to destructure the native Windows logical organization, and to rebuild new control structures in SyMenu, more functional to their needs and preferences.<br/><br/><span style="color:#3333cc"><b>howto: test CLSIDs</b></span><br/><br/><b>1)</b> Quick and dirty way to test a CLSID is using the <i>Windows 'Run' dialog</i>: Press <i>Win+R</i> keys on your keyboard, then copy  and paste the command, using the CLSID under test:<br/>        <span style="color:333333"><code>        shell:::{CLSID}</code>                                 </span><br/>        <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig001.png" border="0"><br/><br/>Notes:<br/>  <ul><li>Using the shell, we can also use a 'shell command' as parameter: i.e. a mnemonic replacement (friendly name) defined for some CLSID:<br/>	     <span style="color:333333"><code>        shell:Fonts    </code>                                      </span> <br/>  </li><li> In some cases <span style="color:333333">shell:command</span>  works and <span style="color:333333">shell:::{CLSID}</span>  not, or viceversa. Better to try both if possible.  </li></ul><br/><br/><b>2)</b> At the  <i>command prompt</i> (in <b>cmd</b>) it is necessary to  add  <span style="color:333333"> 'explorer' or 'explorer.exe' or '%SystemRoot%\explorer.exe', </span> using this:<br/>	   <span style="color:333333"><code>        explorer shell:::{CLSID}</code>                                   </span> or this:<br/>           <span style="color:333333"><code>        explorer /e, ::{CLSID} </code>                                      </span> 		<br/>      <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig008.png" border="0"><br/><br/>Notes:<br/>   <ul><li> Sometimes the CLSID will only work using one and not the other command above. </li></ul>	<br/><br/><b>3)</b> Windows <b>PowerShell</b> consists of command line shell and scripting language. Also using <i>PowerShell</i> you can use shell commands or CLSIDs. Examples:<br/><br/><i>Open printers folder:</i><br/>       <span style="color:333333"><code>     Start-Process shell:PrintersFolder</code>                                      </span> or:<br/>       <span style="color:333333"><code>     &amp;{explorer.exe 'shell:::{21ec2020-3aea-1069-a2dd-08002b30309d}\::{2227a280-3aea-1069-a2de-08002b30309d}'}</code>                                      </span> 	<br/><br/><i>Open Devices and printers:</i><br/>       <span style="color:333333"><code>     &amp;{explorer.exe 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}'}</code>                                      </span> or even so:<br/>       <span style="color:333333"><code>     cmd.exe --% /c Explorer shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A} </code>                                      </span> 	<br/><br/>More PowerShell examples:<br/><ul><li><i>This list all Special Folders names:</i><br/>      <span style="color:333333"><code>     [Environment+SpecialFolder]::GetNames([Environment+SpecialFolder]) </code>                                      </span> 	<br/>      <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig003.png" border="0">	<br/> <br/><br/></li><li><i> This last example returns the real path of Desktop:</i><br/>      <span style="color:333333"><code>     [Environment]::GetFolderPath([Environment+SpecialFolder]:<img src="images/smilies/biggrin.gif" border="0" alt="Big Grin" />esktop)</code>                                      </span> </li></ul>	<br/>	  <br/><span style="color:#3333cc"><b>howto: use CLSIDs in shortcuts</b></span> <br/><br/>Making a shortcut to a special folder allows us to have a quick link from the desktop or from anywhere, to the required <br/>feature of Windows.<br/><br/><b>4)</b> Create a <i>new shortcut</i> (on your desktop or wherever you like) in the usual way, but use for "<i>Type the position of the Item</i>":<br/>        <span style="color:333333"><code>        explorer.exe shell:::{CLSID} </code>                                      </span> 	<br/>Add a meaningful name and create it. Re-edit the shortcut properties to change the icon however you like.<br/><br/><br/><b>5)</b> A different way to get same result: goto where you wont to create a shorcut, but <i>create instead a directory,</i>  and  give it  the a name with the CLSID of the target as extension:<br/>	<span style="color:333333"><code>        yourFolderDisplayName.{CLSID}  </code>                                      </span> 	  <br/>Note: <br/><ul><li>with <i>god mode </i>(all Tasks) the displayName becomes empty. <a href="https://answers.microsoft.com/en-us/windows/forum/all/godmode-problem-the-folder-is-set-up-correctly-but/e51a93aa-5431-41da-9218-e1d2c6d3ab87" target="_blank" rel="nofollow">Known issue</a>.<br/></li></ul><br/>      <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig002.png" border="0"><br/><br/><br/><b>6)</b> You can also use a<i> file BAT </i>as shortcut, the content can be:<br/>                       <span style="color:333333"><code>         :: Sample Batch Script to open the Action Center via CLSID shell<br/>         @echo off<br/>         %SystemRoot%\explorer shell:::{BB64F8A7-BEE7-4E1A-AB8D-7D8273F7FDB6}<br/>         exit   </code>                                      </span> <br/>Of course, you can use CLSIDs in any BAT file, to implement automation tasks involving Windows.<br/><br/>Note:<br/><ul><li>Also in BAT you have 3 alternatives, try them all: <br/>	               <span style="color:333333"><code>            explorer shell:command<br/>            explorer shell:::{CLSID}<br/>            explorer /e, ::{CLSID}   </code>           </span> </li></ul><br/><b>7)</b> If you are really lazy, you can use a nice, well documented program: <a href="https://winaero.com/winaero-apps/" target="_blank" rel="nofollow">Winaero Tweaker</a> to <i>build your own shortcuts</i>. It allows you to test CLSID commands and to create Shortcut with just 2 clicks.<br/>  <br/>     <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig004.png" border="0"><br/><br/><br/><br/><span style="color:#3333cc"><b>howto: use CLSIDs with SyMenu</b></span><br/><br/><b>8)</b> If the <i>CLSID points to a Directory</i>, we can use <i>'Add link to folder' in configuration,</i>  and:<ul><br/>       <li> show the directory content as cascading submenus <br/>       </li><li> swow it in a new file explorer window (option 'Show as Link' = yes).</li></ul><br/><br/>Note:<ul><br/> <li>You can use here all the <i>'virtual folder' parametric path</i> from the program '<i>Special FolderView</i>' (in <i>NirSoft</i> suite).   Example:<br/>  <br/>    <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig009.png" border="0"><br/><br/></li><li>This example is extracted from <span style="color:333333">SyMenuItem.xml</span> to avoid typos. The '<span style="color:333333">&lt;guid&gt;</span>' you see is used as a unique record key in the sqlite DB, used internally by <i>SyMenu</i>, nothing to do with <i>Microsoft GUIDs</i>.</li></ul><br/>  <br/><b>9)</b> Using <i>'Add Program' in configuration</i> you get a new window. The Path is always the same:  <br/><span style="color:333333"><code>            %SystemRoot%\explorer.exe  </code>                                  </span>     <br/>         As parameter you can use: <ul><br/>           <li>   directly a directory (parametric, real or virtual)<br/>           </li><li>   or  one of the usual alternatives, one that works:<br/><span style="color:333333"><code>                 shell:command<br/>                 shell:::{CLSID}<br/>                 /e, ::{CLSID} </code>                    </span> </li></ul>  <br/>Examples:<br/>					 <br/>    <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig005.png" border="0"><br/><br/><br/><br/><span style="color:#3333cc"><b>howto: a more complex example </b></span>					 <br/> <br/>    <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig006.png" border="0"><br/>  <br/> The standard option 'My Computer' in SyMenu presents me some problems:<ol><br/>     . <li> <i>'Host programs'</i>, in WIN11, don't found  <i>the Microsoft 'apps' (Photos, Calculator etc.)</i><br/>       </li><li> <i>'Host programs'</i> submenu is too long.<br/>       </li><li> <i>'Contol panel'</i> can be replaced by<i> 'God mode'</i><br/>       </li><li> The menu shows some removables  drives (<i>H:, K:</i>) even if the drives are not in place.<br/>       </li><li> The full HD navigation via submenu to found executables is time consuming and too big on desktop.<br/>       </li><li> The <i>SyMenu Link</i> implementation finds only some fixed file type, miss empty dirs, and always forces you to traverse all the paths until a final file. It cannot be stopped at an intermediate dir (eg. Clicking on a dir in a submenu, to open an instance of file explorer on that dir). <br/></li></ol><br/>	   <br/>I don't care: what I like about SyMenu is the flexibility! With CLSIDs I can create <b>my own implementation</b> of <i>"This PC"</i> to suit my needs and replace the standard "My Computer".	   <br/><br/>    <img src="https://raw.githubusercontent.com/msillano/ms_symtools/main/img/fig007.png" border="0"><br/><br/><ol><li> <i>Explore recents </i>link opens the dir <span style="color:333333">%APPDATA%\Microsoft\Windows\Recent. </span> Any kind of files, so Link=true.<br/>    </li><li> <i>Programs</i> uses the CLSID <span style="color:333333">{4234d49b-0245-4df3-b780-3893943456e1}</span> (Applications). <br/>          This is the unique way I found in WIN11 to access installed applications (Start menu) AND Microsoft apps (like StickyNotes, Calculator, etc.).<br/>    </li><li> <i>God mode</i> uses the CLSID <span style="color:333333">{ED7BA470-8E54-465E-825C-99712043E01C}</span> (all tasks)<br/>    </li><li><i> C: D: Z:</i> they are links (links = true) that do not point to the root of the disks, but directly to the folders of interest.<br/>    </li><li> <i>PROJECTS</i> presents some useful items for quick access.<br/>    </li><li> Since I am now installing my new PC, the<i> last 4 items</i> are related to program management. <i>WinUnistall</i> uses the CLSID <span style="color:333333">{7b81be6a-ce2b-4676-a29e-eb907a5126c5}</span></li> </ol><br/><br/><br/><span style="color:#3333cc"><b>References</b></span><ul><br/>  <li> For a general start point I found interesting this <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier" target="_blank" rel="nofollow">article</a><br/>  </li><li> For more information about the CLSID key and the function of it's subkeys in the <i>registry</i>, see Microsoft <a href="https://docs.microsoft.com/en-us/windows/win32/com/clsid-key-hklm" target="_blank" rel="nofollow">'CLSID Key (COM)'</a><br/>  </li><li> For <b>Windows 11</b> CLSIDs and 'shell commands' <a href="https://winaero.com/windows-11-shell-commands-the-complete-list" target="_blank" rel="nofollow">click here</a><br/>  </li><li> For <b>Windows 10</b> CLSIDs and 'shell commands' <a href="https://docs.rainmeter.net/tips/launching-windows-special-folders" target="_blank" rel="nofollow">click here</a><br/>  </li><li> All <b>CLSIDs</b> on <i>your computer </i>can be fund using <b>ShellExView</b> program (NirSoft suite)<br/>  </li><li> All <b>special folders</b>  on <i>your computer</i> can be fund using <b>SpecialFolderView</b> program (NirSoft suite)<br/>  </li><li> For your convenience a list of CLSIDs (WIN10) is added as atthach.  Format as OpenOffice spreadsheet, so you can edit it. </li></ul><br/><br/><i>edited by msillano on 04/12/2021</i><br/><br/><i>edited by msillano on 04/12/2021</i><br/><br/><i>edited by msillano on 05/12/2021</i>]]></description>
<pubDate>Sat, 04 Dec 2021 17:40:41 GMT</pubDate>
</item>
</channel>
</rss>
