分享

c++ 创建桌面快捷方式

 我就是个蒟蒻 2020-08-11
  1. C++实现在桌面创建程序的快捷方式
  2. #include "atlconv.h"
  3. bool CreatLinkToStartMenu(char * pszPeFileName)
  4. {
  5. HRESULT hr = CoInitialize(NULL);
  6. if (SUCCEEDED(hr))
  7. {
  8. IShellLink *pisl;
  9. hr = CoCreateInstance(CLSID_ShellLink, NULL,
  10. CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pisl);
  11. if (SUCCEEDED(hr))
  12. {
  13. IPersistFile* pIPF;
  14. /////////////////////////////////////////////////////////////////////////////////////////////////////////////
  15. //这里是我们要创建快捷方式的原始文件地址
  16. pisl->SetPath(pszPeFileName);
  17. hr = pisl->QueryInterface(IID_IPersistFile, (void**)&pIPF);
  18. if (SUCCEEDED(hr))
  19. {
  20. /////////////////////////////////////////////////////////////////////////////////////////////////////////////
  21. //这里是我们要创建快捷方式的目标地址
  22. char szStartPath[MAX_PATH] = {0};
  23. SHGetSpecialFolderPath(NULL,szStartPath, CSIDL_STARTUP, 0);
  24. strcat(szStartPath,"\\Windows Message.lnk");
  25. USES_CONVERSION;
  26. LPCOLESTR lpOleStr = A2COLE(szStartPath);
  27. pIPF->Save(lpOleStr, FALSE);
  28. pIPF->Release();
  29. }
  30. pisl->Release();
  31. }
  32. CoUninitialize();
  33. }
  34. return true;
  35. }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多