比如我想知道这个快捷方式是指向哪个文件的?

解决方案 »

  1.   

    //下面是我的代码
    //strfilename是快捷方式文件名称,譬如是"C:\Documents 
    //                        and Settings\All Users\qlauch.lnk" 
    //最后szIconFilePath就是指向的文件名称,譬如是"d:\program files\qlaucn.exe"
    IShellLink* pIShellLink=NULL; IPersistFile* pIPersistFile=NULL;
    HRESULT hr=S_FALSE;
    CoInitialize(NULL);
    hr=CoCreateInstance(CLSID_ShellLink,
               NULL,
             CLSCTX_INPROC,
    IID_IShellLink,
    (void**)&pIShellLink); hr=pIShellLink->QueryInterface(IID_IPersistFile,
    (void **)&pIPersistFile);
    USES_CONVERSION; hr=pIPersistFile->Load(T2OLE(strfilename),
    STGM_READ); char szIconFilePath[255];
    memset(szIconFilePath,0,255);

    WIN32_FIND_DATA fd;
    hr=pIShellLink->GetPath(szIconFilePath,254,&fd,SLGP_UNCPRIORITY );
    pIShellLink->Release();
    CoUninitialize();