Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #31417 > unrolled thread
| Started by | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| First post | 2018-01-23 13:14 +0100 |
| Last post | 2018-01-23 19:34 +0100 |
| Articles | 4 — 1 participant |
Back to article view | Back to pl.comp.programming
[Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze? Borneq <borneq@antyspam.hidden.pl> - 2018-01-23 13:14 +0100
Re: [Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze? Borneq <borneq@antyspam.hidden.pl> - 2018-01-23 13:40 +0100
Re: [Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze? Borneq <borneq@antyspam.hidden.pl> - 2018-01-23 18:00 +0100
Re: [Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze? Borneq <borneq@antyspam.hidden.pl> - 2018-01-23 19:34 +0100
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2018-01-23 13:14 +0100 |
| Subject | [Windows][Registry][Qt] Jak pobrać ikonkę o ujemnym numerze? |
| Message-ID | <p478ui$m4i$1@node2.news.atman.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?
[toc] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2018-01-23 13:40 +0100 |
| Message-ID | <p47agk$nhn$1@node2.news.atman.pl> |
| In reply to | #31417 |
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.
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2018-01-23 18:00 +0100 |
| Message-ID | <p47po3$61n$1@node2.news.atman.pl> |
| In reply to | #31418 |
W dniu 23.01.2018 o 13:40, Borneq pisze: > i ikonki mogą być ujemne. to znaczy, indeksy ikonek mogą być ujemne
[toc] | [prev] | [next] | [standalone]
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Date | 2018-01-23 19:34 +0100 |
| Message-ID | <p47v7l$bhm$1@node2.news.atman.pl> |
| In reply to | #31418 |
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.
[toc] | [prev] | [standalone]
Back to top | Article view | pl.comp.programming
csiph-web