VC创建快捷方式

CreateShortCut(LPCSTR lpszPathLink, LPCSTR lpszPathObj, LPCSTR lpszDesc)
{
    HRESULT hres;
    IShellLink* psl;
 
    // Get a pointer to the IShellLink interface.
    hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
  IID_IShellLink, (LPVOID*)&psl);
    if (SUCCEEDED(hres))
    {
        IPersistFile* ppf;
  
        // Set the path to the shortcut target and add the description.
        psl->SetPath(lpszPathObj);
        psl->SetDescription(lpszDesc);
  
        // Query IShellLink for the IPersistFile interface for saving the
        // shortcut in persistent storage.
        hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);
  
        if (SUCCEEDED(hres))
        {
            WCHAR wsz[MAX_PATH];
   
            // Ensure that the string is Unicode.
            MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1, wsz, MAX_PATH);
   
            // TODO: Check return value from MultiByteWideChar to ensure
   
   // Save the link by calling IPersistFile::Save.
   hres = ppf->Save(wsz, TRUE);
            ppf->Release();
        }
        psl->Release();
    }
    return hres;
}

别忘了先调用CoInitialize(NULL)哦

你可能感兴趣的:(VC创建快捷方式)