Recent versions of Chrome have a handy "profiles" feature. While creting a new profile, it's possible to set "create desktop shortcut" and a desktop shortcut will be created. Clicking on such shortcut will open a new Chrome window with the specified profile.
Using any shortcut to run Chrome will launch a new window. Even if you have no profiles, running Chrome from a shortcut will launch a new instance with a new window.
Such "open new or focus existing" behavior is very common among desktop rograms, but i can't find how to do this trick with Chrome desktop shortcuts. :(
The only way that Chrome will open a tab in an existing window is if you open a bookmark or
.html file, but there is no practical way to control which profile those can be opened with because the handler is in Windows which only allows for a single handler. (I’ve come up with a system to support this, but it’s beyond the scope of this question.)
For some work patterns I need to switch between many profiles. The problem is that even when a profile is already in use, a new window appears when I click the shortcut.
If the profile is already open, then why are you clicking the shortcut to open Chrome with the profile? If you want a new tab in that profile, then you can just press Ctrl+T in the appropriate window.
If your goal is simply to switch to the appropriate window (assuming you have so many different Chrome profiles that switching to the right one is difficult, even if you assign them different icons), then there’s no simple way to do that. Could try posting a feature-request to support it.
Is it possible to somehow modify the shortcut so it won't open a new profile window, but focus the existing window instead if it's already opened?
The closest you can currently get is to append
about:blank to the end of the shortcut. It will switch to the specified profile and create a blank page, but you can easily close that.