作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我通过 IPropertyStore
从主选项卡组中拆分我的窗口通过 SHGetPropertyStoreForWindow
像这样:
IPropertyStore_SetValue(pps, PKEY_AppUserModel_ID.address(), 'Contoso.Scratch');
pps->Commit();
IPropertyStore_SetValue(pps, PKEY_AppUserModel_RelaunchCommand, customLaunchPath);
IPropertyStore_SetValue(pps, PKEY_AppUserModel_RelaunchDisplayNameResource, 'my first name');
pps->Commit();
RelaunchCommand
和
RelaunchDisplayNameResource
除非我更改
ID
,否则它不会工作以及。
RelaunchCommand
和
RelaunchDisplayNameResource
作为这里的例子,在我的真实案例中,用户也想更改图标,但同样的问题,它第一次运行
ID
.无论如何运行多次而无需更改
ID
每次?
System.AppUserModel.ID
并且已经固定。如果我更改
System.AppUserModel.ID
,我只想更改图标/relaunchCommand/等。然后它会有效地解开它。 :(
最佳答案
该主题的解决方案是我正在使用的解决方法:
Detecting Application Pin State
在设置属性之前,我通过查看以下文件夹来测试它是否已固定:
%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\ImplicitAppShortcuts
%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
IPropertyStore::getValue
在所有快捷方式上,如果它与我的 AppUserModelID 匹配,那么我会更改其上的图标、标签等,这会立即在任务栏中更新它。
IPropertyStore::setValue
在我的应用程序的窗口上(我必须在每个窗口上执行,我找不到在整个应用程序中执行此操作的方法)
关于winapi - SHGetPropertyStoreForWindow - 如何在现有 System.AppUserModel.ID 上设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28228042/
所以我通过 IPropertyStore 从主选项卡组中拆分我的窗口通过 SHGetPropertyStoreForWindow像这样: IPropertyStore_SetValue(pps, PK
我是一名优秀的程序员,十分优秀!