🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #309139

WinApi i pobieranie ikonek odpowiadających rodzajom plików

#309139
From: szykcech
Date: Sun, 12 Feb 2017 18:01
16 lines
2165 bytes
Witam

Chcę napisać własny menadżer plików i już napotkałem problem z WinApi - nie wiem jak wyciągnąć ikonkę związaną z zasobem HICON. Na razie kod mam taki:

wchar_t* lFile = new wchar_t[lItem->fileName().size() + 1];
lItem->fileName().toWCharArray(lFile);
lFile[lItem->fileName().size()] = 0;
SHFILEINFOW lFileInfo;
HICON lIcon = SHGetFileInfo(lFile, FILE_ATTRIBUTE_NORMAL, &lFileInfo, sizeof(SHFILEINFO), SHGFI_USEFILEATTRIBUTES | SHGFI_ICON | SHGFI_SMALLICON);
delete [] lFile;
lFile = 0;

Ale nie znalazłem żadnej standardowej funkcji WinApi która mogłaby wyciągnąć ikonę do jakiegoś bufora tak bym mógł ją dalej używać po stronie aplikacji Qt (bo to moja główna biblioteka). Nie chcę używać QFileIconProvider bo jak patrzę na te dziesiątki obiektów to jasne jest, że działać to będzie dziesiątki razy wolniej niż czyste WinApi...

proszę o pomoc, z góry dzięki i pozdrawiam
Szyk Cech
Technical Details
Message-ID: <a1976242-f82e-4f75-a79a-125a01ca17f4@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!newspeer1.nac.net!border2.nntp.dca1.giganews.com!nntp.giganews.com!i7no1024249qta.1!news-out.google.com!78ni1742itm.0!nntp.google.com!e137no604051itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 10.129.74.11 with SMTP id x11mr6590506ywa.83.1486922517198;        Sun, 12 Feb 2017 10:01:57 -0800 (PST)
X-Received: by 10.157.44.136 with SMTP id p8mr1326034otb.20.1486922517127; Sun, 12 Feb 2017 10:01:57 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!newspeer1.nac.net!border2.nntp.dca1.giganews.com!nntp.giganews.com!i7no1024249qta.1!news-out.google.com!78ni1742itm.0!nntp.google.com!e137no604051itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Sun, 12 Feb 2017 10:01:56 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.39.162; posting-account=pyti1AoAAAAf66c003TUy10QAAnMWaKw
NNTP-Posting-Host: 77.254.39.162
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a1976242-f82e-4f75-a79a-125a01ca17f4@googlegroups.com>
Subject: WinApi i pobieranie ikonek odpowiadających rodzajom
 plików
From: szykcech@gmail.com
Injection-Date: Sun, 12 Feb 2017 18:01:57 +0000
Lines: 24
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit