So I split my window from the main tab group via IPropertyStore
via SHGetPropertyStoreForWindow
like so:
IPropertyStore_SetValue(pps, PKEY_AppUserModel_ID.address(), 'Contoso.Scratch');
pps->Commit();
Then the user later decides he wants to rename it so with my feature he does:
IPropertyStore_SetValue(pps, PKEY_AppUserModel_RelaunchCommand, customLaunchPath);
IPropertyStore_SetValue(pps, PKEY_AppUserModel_RelaunchDisplayNameResource, 'my first name');
pps->Commit();
This works successfully for the first time. But if he wants to change just the RelaunchCommand
and RelaunchDisplayNameResource
again it won't work unless I change the ID
as well.
I gave RelaunchCommand
and RelaunchDisplayNameResource
as exmple here, in my real case scenario the user ALSO wants to change the icon but the same issue, it works a first time per ID
. Anyway to run multiple times without having to change ID
every time?
Thanks
PS:
The other big reason for this solution, is that one of my windows already has a System.AppUserModel.ID
and is already pinned. I want to just change the icon/relaunchCommand/etc, if i change the System.AppUserModel.ID
then it will effectively unpin it. :(