Текущий архив: 2003.01.20;
Скачать: CL | DM;
Вниз
ExtractAssociatedIcon под XP Найти похожие ветки
← →
_Ed_ (2002-12-04 06:44) [0]Уважаемые Мастера!
Кто нибудь может подсказать, почему API-фукция
ExtractAssociatedIcon прекрасно работает под Win98,
но под XP выдаёт нулевой хендл?
______________________________________________________
Доп. сведения: икону запускающего exe-шника извлекает,
всё остальное - нет... :((
Заранее благодарен, Сердюк Э.С.
← →
Song (2002-12-04 08:28) [1]Ошибка в 17-ой строке.
← →
_Ed_ (2002-12-04 12:58) [2]извиняюсь за назойливость, но 17-я строка чего, ShellAPI.pas?
В ней объявление начала интерфейса:
interface
или дело в shell32.dll, где эта функция зашита?
Пожалуйста, можно подробнее
(что бы можно было исправить глюк)...
← →
_Ed_ (2002-12-04 14:22) [3]Song <song@kmtn.ru>:
> когда говорят "Ошибка в 17-ой строке", имеют ввиду "покажи
> код. Без кода
> невозможно тебе помочь". Эта идиома ещё из фидо
прости ламера :)
привожу код (по памяти, т.к. пишу с работы)
... SomeBtn.OnClick(Sender : TObject)
var icon : TIcon;
i : integer;
begin
icon := TIcon.Create;
i := 0; // пробовал и 1 - d 98 c i:=0 работает
// файл anyfile существует и в 98 из него икона тянется!
icon.Handle := ExtractAssociatedIcon(
HInstance,
PChar("c:\AnyPath\anyfile.anyextention"), i );
// не помню точно порядок следования параметров в
// DrawIcon, но кажется так:
DrawIcon (MainForm.Canvas.Handle, 10, 10, icon.Handle);
icon.Free;
end;
так вот, под XP это всё работает, только если в качестве файла передать PChar(Application.Name);
е ещё: я протрахался пол ночи, пробовал разные варианты. Понимая что filename - это указатель и строка может измениться после вызова ExtractAssociatedIcon, я резервировал буфер и передавал указатель на него, но всё это фигня, т.к. этот код работает под 98...
Может у меня с тачкой или с делфями глюк? просто это очень странно. Буду очень благодарен за посильную помощь!
С уважением, Сердюк Э.С.
← →
Song (2002-12-04 14:26) [4]Тебе было в падлу моё мыло из ответа вытащить?!!
← →
Song (2002-12-04 14:28) [5]i должно быть не меньше единицы
Страницы: 1 вся ветка
Текущий архив: 2003.01.20;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.012 c