Page 1 of 1

Aflare program asociat cu o extensie

Posted: 03 Aug 2010, 21:17
by modoran
Incerc sa inregistrez o extensie pentru windows explorer (IQueryInfo si IPersistFile) pentru anumite extensii si intampin probleme la inregistrarea pe sistemele x64.

Folosesc asa ceva acum (pe x86 merge):
- citesc HKCR\extensie si aflu valoarea default
- deschid si creez la nevoie HCKR\valoare\ShellEx\{00021500-0000-0000-C000-000000000046} unde imi inregistrez CLSID-ul

Problema este ca se pare ca logica asta este gresita, cel putin pentru x64 . Cum fac sa aflu in mod corect programul asociat cu o anumita extensie ?

Re: Aflare program asociat cu o extensie

Posted: 04 Aug 2010, 13:47
by MrSmersh
Eu mergeam pe calea asta http://msdn.microsoft.com/en-us/library ... S.85).aspx FindExceutable mi se pare mai koser decit sa sap in registry...

Re: Aflare program asociat cu o extensie

Posted: 04 Aug 2010, 14:24
by Ovidiu Cucu
Poti arunca un ochi la interfata IQueryAssociations sau, un pic mai simplu, la AssocQueryString si la celelalte functii din seria Assoc...
Exemplu:

Code: Select all

    DWORD dwSize = _MAX_PATH + 1;
    TCHAR pszExePath[_MAX_PATH + 1];
    HRESULT hr = ::AssocQueryString(0, ASSOCSTR_EXECUTABLE, 
       _T(".txt"), _T("open"), pszExePath, &dwSize);
    //...

Re: Aflare program asociat cu o extensie

Posted: 04 Aug 2010, 18:08
by modoran
Multumesc, am rezolvat.