Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
3-62443
Максим
2002-12-19 11:24
2003.01.20
SUM в TQuery - точность суммирования


3-62415
johny
2002-12-25 12:11
2003.01.20
Сортировка в DBGRID


3-62410
viper
2002-12-26 12:32
2003.01.20
Выбор за период


4-62930
nickolayLI
2002-12-04 14:49
2003.01.20
Мышка и Форма


7-62870
cecist
2002-11-05 16:52
2003.01.20
Logon в Windows2000





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский