Subject: Re: bug#1849: Windows 7 Taskbar Support

From: Juanma Barranquero <[email-masked]>
Date: Mon, 9 Jan 2012 18:40:26 +0100

On Sat, Jan 7, 2012 at 05:26, Jason Rumney <[email-masked]> wrote:

> 2. Set the AppUserModel RelaunchCommand property of Emacs windows to
> "runemacs.exe" so that pinning an running Emacs instance works as expected
> (launch via runemacs.exe so the command window does not show).
>
> Unfortunately both of these require directly using the IPropertyStore
> interface,

If I'm reading the docs right, this also means that, instead of
SetCurrentProcessExplicitUserModelID, we'll have to use the
IPropertyStore to set the AppUserModelID at the window level:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx

"When an application sets an explicit AppUserModelID at the window
level, the application can provide the specifics of its relaunch
command for its taskbar button."

Doc for SHGetPropertyStoreForWindow says: "A window's properties must
be removed before the window is closed. If this is not done, the
resources used by those properties are not returned to the system. A
property is removed by setting it to the PROPVARIANT type VT_EMPTY."

So it seems like there will be initialization and cleanup for every
frame creation/destruction.

    Juanma