PDA

Показать полную графическую версию : [решено] Не работает ExtractAssociatedIcon


ganselo
07-07-2009, 20:27
Здравствуйте!
Пишу (в Builder'e) следующий код:

char buffer[MAX_PATH + 1024] = "C:\\windows\\regedit.exe";
HICON hIcon = ExtractAssociatedIcon(Application->Handle, buffer, 0);

И у меня вылетает исключение:
Access violation at address 7CA6FD22 in module "Shell32.dll". Read of address 00000000.

В инете пишут, что нужно делать buffer размерности >= MAX_PATH, т.к функция записывает в него результат.
Сделал размерность больше MAX_PATH, но проблема не решилась.

В чем может быть проблема?

pva
08-07-2009, 07:24
Вот так работает:

unsigned short dwcount = 1;
HICON icon1 = ExtractAssociatedIcon(GetModuleHandle(0), "c:\\windows\\regedit.exe", &dwcount);
DrawIconEx(Canvas->Handle, 10, 10, icon1, 60, 60, 0, GetStockObject(WHITE_BRUSH), DI_NORMAL);

он просто пытается писать что-то в параметр dwcount, а когда там 0 - слетает.

ganselo
08-07-2009, 13:15
Спасибо большое!




© OSzone.net 2001-2012