您的位置:首页 > 其它

创建快捷方式

2013-10-25 11:55 363 查看
#include "atlconv.h"

bool CreatLinkToStartMenu(char * pszPeFileName)

{

 HRESULT hr = CoInitialize(NULL);

 if (SUCCEEDED(hr))

 {

  IShellLink *pisl;

  hr = CoCreateInstance(CLSID_ShellLink, NULL,

   CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pisl);

  if (SUCCEEDED(hr))

  {

   IPersistFile* pIPF;

   /////////////////////////////////////////////////////////////////////////////////////////////////////////////

   //这里是我们要创建快捷方式的原始文件地址

   pisl->SetPath(pszPeFileName);

   hr = pisl->QueryInterface(IID_IPersistFile, (void**)&pIPF);

   if (SUCCEEDED(hr))

   {

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////

    //这里是我们要创建快捷方式的目标地址

    char szStartPath[MAX_PATH] = {0};

    SHGetSpecialFolderPath(NULL,szStartPath, CSIDL_STARTUP, 0);

    strcat(szStartPath,"\\Windows Message.lnk");

    

    USES_CONVERSION;

    LPCOLESTR lpOleStr = A2COLE(szStartPath);

    

    pIPF->Save(lpOleStr, FALSE);

    

    pIPF->Release();

   }

   pisl->Release();

  }

  CoUninitialize();

 }

 return true;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: