title: Edit Windows 10 start menu programmatically
body: <p>To begin with, I understand that Microsoft offers no way to programatically alter the (modern) start menu - <a href="https://blogs.msdn.microsoft.com/oldnewthing/20141029-00/?p=43743" rel="noreferrer">on purpose</a>.</p>
  
  <p>Nevertheless, I'm looking for a way to <em>still</em> do it. I might use it to make a tool to sync the start menu between devices - or to automatically place often used items into thematically sorted groups (office, games, tools). The reason is that I have multiple devices, and really suck at manually managing the start menu - so I just use search or the alphabetic list most of the time.</p>
  
  <p>So, does anybody know how to programatically add, remove, edit tiles? I could imagine solutions including:</p>
  
  <ul>
  <li>Using undocumented APIs (can you still call it an API if it is not documented?)</li>
  <li>Directly editing the tile database (e.g. TileDataLayer) - downside is that it seems to be a binary format, which is not known, and you'd have to restart the shell for changes to take effect.</li>
  <li>Hooking DLLs or poking around in memory - yikes - but not worse than what other "desktop modding" tools like WindowBlinds would do</li>
  <li>Using accessibility APIs, or faking mouse/keyboard input - this would most probably work, but it would be a bit spooky seeing the cursor move around, and it seems even more frail than the others.</li>
  </ul>
  
  <p>I searched a bit, and think there is probably no solution available right now, but you can see this as a challenge to come up with a solution :-)</p>