Aflare program asociat cu o extensie

Intrebari legate de programarea cu biblioteci precum MFC, ATL, WTL si GDI+.
Post Reply
modoran
Junior
Junior
Posts: 2
Joined: 03 Aug 2010, 20:09
Judet: Buzău

Aflare program asociat cu o extensie

Post by modoran » 03 Aug 2010, 21:17

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 ?



User avatar
MrSmersh
Microsoft MVP
Microsoft MVP
Posts: 289
Joined: 20 Jul 2007, 10:18
Location: Timisoara
Contact:

Re: Aflare program asociat cu o extensie

Post by MrSmersh » 04 Aug 2010, 13:47

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...

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Aflare program asociat cu o extensie

Post by Ovidiu Cucu » 04 Aug 2010, 14:24

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);
    //...

modoran
Junior
Junior
Posts: 2
Joined: 03 Aug 2010, 20:09
Judet: Buzău

Re: Aflare program asociat cu o extensie

Post by modoran » 04 Aug 2010, 18:08

Multumesc, am rezolvat.

Post Reply