在win8前建立開始菜单都非常easy,但到win8就有点不一样了。它的開始菜单是metro风格的。以下我们来看下详细的实现代码。有兴趣的朋友能够自己測试下,它的作用是设置shortcut到metro start menu.  假设是要阻止到start menu的话,把APPUSERMODEL_STARTPINOPTION_NOPINONINSTALL改为PKEY_AppUserModel_PreventPinning。

void SetShortcutStartPinOption()

{

wchar_t szPath[MAX_PATH];

SHGetSpecialFolderPath(nullptr, szPath, CSIDL_PROGRAMS, FALSE);

PathAppend(szPath, L"testapp.lnk");

int nRet = 1;

// initialize the COM library

CoInitialize(NULL);





IPropertyStore *pps;

if (SUCCEEDED(SHGetPropertyStoreFromParsingName(szPath, NULL, GPS_READWRITE, __uuidof(IPropertyStore), (void**)&pps)))

{

PROPVARIANT pv;



// --- Set StartPinOption.

if (SUCCEEDED(pps->GetValue(PKEY_AppUserModel_StartPinOption, &pv)))

{



if (SUCCEEDED(InitPropVariantFromUInt32(APPUSERMODEL_STARTPINOPTION_NOPINONINSTALL, &pv)))

{



if (SUCCEEDED(pps->SetValue(PKEY_AppUserModel_StartPinOption, pv)))

{



if (SUCCEEDED(pps->Commit()))

{

nRet = 0;

}

}

}

}

}



if (pps != NULL)

pps->Release();

CoUninitialize();

return nRet;

}

最新文章

  1. Python_Day5_迭代器、装饰器、软件开发规范
  2. Kafka及 .NET Core 客户端
  3. os模块
  4. maven(一)初步搭建,项目结构
  5. URAL-1991 The battle near the swamp 水题
  6. Android强制设置横屏或竖屏
  7. 【转】CPU调度
  8. Linux编程环境介绍(2) -- shell(Bash) 介绍
  9. js中去除换行(\r\n)
  10. IOS的UITextField,UIButton,UIWebView它描述的一些属性和IOS提示图像资源
  11. LeetCode OJ 105. Construct Binary Tree from Preorder and Inorder Traversal
  12. 简易控制中心,angular的简单使用
  13. SQL SERVER大话存储结构(6)_数据库数据文件
  14. Unity 游戏框架搭建 (六) 关于框架的一些好文和一些思考
  15. JAVA中的设计模式三(策略模式)
  16. Android,View转换bitmap,bitmap转换drawable
  17. vue 学习链接地址
  18. MMU内存管理单元
  19. DNS及DNS有什么作用
  20. 遇到的问题&思考

热门文章

  1. go的基础数据类型
  2. 【DP、线段树优化】琪露诺
  3. BZOJ 1877 拆点费用流
  4. angular2之组件通讯
  5. IIS7部署网站的一些细节问题。
  6. CNN结构:SPP-Net为CNNs添加空间尺度卷积-神经元层
  7. 【sqli-labs】 less26a GET- Blind based -All you SPACES and COMMENTS belong to us -String-single quotes-Parenthesis(GET型基于盲注的去除了空格和注释的单引号括号注入)
  8. Spring 团队开源 nohttp,尽可能不用 HTTP
  9. ivew使用星星评分
  10. html第八节课