-
1. Data: 2018-01-23 13:14:12
Temat: [Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze?
Od: Borneq <b...@a...hidden.pl>
Chcę pobrać ikonkę skojarzoną z rozszerzeniem pliku. Dla .dot się udaje:
w rejestrach HKEY_CLASSES_ROOT\.dot\OpenWithProgIDs jest LibreOffice.Dot
z kolei HKEY_CLASSES_ROOT\LibreOffice.Dot\DefaultIcon jest
C:\Program Files (x86)\LibreOffice 5\program\soffice.bin,2
pobieram ikonkę 2 z soffice.bin numer 2 i ok.
Teraz chcę pobrać .mp3:
HKEY_CLASSES_ROOT\.mp3\OpenWithProgids ma WMP11.AssocFile.MP3
HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\DefaultIcon ma
%SystemRoot%\system32\wmploc.dll,-732
zamieniam na
C:\Windows\system32\wmploc.dll,-732
napisaną swoją klasą (czy Qt dostarcza do tej zamiany procedur?)
i teraz jest błąd zarówno dla -732 jak i dla 732
A dla 0 też jest źle, bo po kilkunastu razach buntuje się i nie chce
pobrać ikonki:
Failed to extract icons from %SystemRoot%\system32\wmploc.dll
(Użytkownik zatrzymał wyliczanie zasobów.)
"%SystemRoot%\\system32\\wmploc.dll,-732"
Więc, czy po
UINT extractedIconCount =
ExtractIconEx(sourceFileC, index, 0, icons.data(), iconCount);
return QtWin::fromHICON(icons[0]);
należy jakoś zwalniać zasoby?
-
2. Data: 2018-01-23 13:40:54
Temat: Re: [Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze?
Od: Borneq <b...@a...hidden.pl>
W dniu 23.01.2018 o 13:14, Borneq pisze:
> Failed to extract icons from %SystemRoot%\system32\wmploc.dll
> (Użytkownik zatrzymał wyliczanie zasobów.)
> "%SystemRoot%\\system32\\wmploc.dll,-732"
Rozwiązanie:
QPixmap result = QtWin::fromHICON(icons[0]);
for (UINT i = 0; i < extractedIconCount; ++i)
DestroyIcon(icons[i]);
return result;
i ikonki mogą być ujemne.
Jedyny problem: że pobieranie wmploc.dll trwa znacznie dłużej niż z
niesystemowych plików.
-
3. Data: 2018-01-23 18:00:51
Temat: Re: [Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze?
Od: Borneq <b...@a...hidden.pl>
W dniu 23.01.2018 o 13:40, Borneq pisze:
> i ikonki mogą być ujemne.
to znaczy, indeksy ikonek mogą być ujemne
-
4. Data: 2018-01-23 19:34:28
Temat: Re: [Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze?
Od: Borneq <b...@a...hidden.pl>
W dniu 23.01.2018 o 13:40, Borneq pisze:
> i ikonki mogą być ujemne.
> Jedyny problem: że pobieranie wmploc.dll trwa znacznie dłużej niż z
> niesystemowych plików.
Dłużej, bo pobierałem wszystkie zamiast jednej, teraz działa ok.