Bonjour
Voilà! j'essaye d'extraire les propriétés d'un raccourci internet
mais je n'arrive pas à récupérer l'URL associée.
La fonction ne me renvoie pas d'erreur mais une chaine vide
Voici le code:
"
#include <shellapi.h>
//(...)
bool GetShortCutUrl(LPCSTR ShortcutFile, char* buf,
int nSize)
{
HRESULT result;
wchar_t wsz[MAX_PATH];
LPWSTR lpTemp = NULL;
IPersistFile* ppf;
IUniformResourceLocatorW* urlLink = NULL; //nsnull;
result = CoCreateInstance(CLSID_InternetShortcut, NULL, CLSCTX_INPROC_SERVER,
IID_IUniformResourceLocatorW, (void**)&urlLink);
if (SUCCEEDED(result) && urlLink)
{
ppf = NULL; //nsnull;
result = urlLink->QueryInterface(IID_IPersistFile, (void**)&ppf);
if (SUCCEEDED(result)) // && urlFile)
{
MultiByteToWideChar(CP_ACP, 0,
ShortcutFile, -1, wsz, MAX_PATH);
result = ppf->Load(wsz, STGM_READ);
if (SUCCEEDED(result) )
{
LPWSTR lpTemp ;
result = urlLink->GetURL(&lpTemp );
sprintf(buf, "%*s", nSize, lpTemp);
}
ppf->Release();
}
urlLink->Release();
}
}
"
Merci de votre aide
Cordialement