На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Extracting Icons from Executable Files



An application can use the ExtractIcon function to retrieve the handle of an icon from a specified executable file, dynamic-link library, or icon file. The following example uses the DragQueryPoint function to retrieve the coordinates of the point where a file was dropped, the DragQueryFile function to retrieve the filename of a dropped file, and the ExtractIcon function to retrieve the handle of the first icon in the file, if any.

POINT pt;
WORD cFiles;
HDC hdc;
char lpszFile[80];
HANDLE hCurrentInst, hicon;

DragQueryPoint((HANDLE) wParam, &pt);

cFiles = DragQueryFile((HANDLE) wParam, 0xFFFF, NULL, NULL);

if(cFiles > 1) {
TextOut(hdc, pt.x, pt.y,
"Please drop only one icon file.", 31);
return FALSE;
}
else {
DragQueryFile((HANDLE) wParam, 0, lpszFile, sizeof(lpszFile));
hCurrentInst = (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE);
hicon = ExtractIcon(hCurrentInst, lpszFile, 0);

if (hicon == NULL)
TextOut(hdc, pt.x, pt.y, "No icons found.", 15);
else if (hicon == (HICON) 1)
TextOut(hdc, pt.x, pt.y,
"File must be .EXE, .ICO, or .DLL.", 33);
else
DrawIcon(hdc, pt.x, pt.y, hicon);
}

DragFinish((HANDLE) wParam);



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Извлечение Икон из Выполняемых Файлов



Приложение может использовать функцию ExtractIcon, чтобы извлекать ручке иконы с определенной выполняемой файловой, динамической связи библиотеки, или иконного файла. Следующий пример использует функцию DragQueryPoint, чтобы извлекать координаты точки где файл был упаден, функция DragQueryFile, чтобы извлекать filename потерянного файла, и функцию ExtractIcon, чтобы извлекать ручку первой иконы в файл, если имеется.

ТОЧКА пт;
СЛОВО cFiles;
hdc HDC;
символ lpszFile[80];
ПРООПЕРИРУЙТЕ hCurrentInst, hicon;

DragQueryPoint((РУЧКА) wParam, &пт);

cFiles = DragQueryFile((РУЧКА) wParam, 0xFFFF, НЕДЕЙСТВИТЕЛЬНАЯ, НЕДЕЙСТВИТЕЛЬНАЯ);

если(cFiles > 1) { TextOut(hdc, pt.x, pt.y, "Пожалуйста бросать только один иконный файл.", 31);
обратная ЛОЖЬ;
}
еще {
DragQueryFile((РУЧКА) wParam, 0, lpszFile, sizeof(lpszFile));
hCurrentInst = (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE);
hicon = ExtractIcon(hCurrentInst, lpszFile, 0);

если (hicon == НЕДЕЙСТВИТЕЛЬНЫЙ)
TextOut(hdc, pt.x, pt.y, "No иконы обнаруживались.", 15);
еще если (hicon == (HICON) 1) TextOut(hdc, pt.x, pt.y, "Файл должен быть .EXE, .ICO, или .DLL.", 33);
еще
DrawIcon(hdc, pt.x, pt.y, hicon);
}

DragFinish((РУЧКА) wParam);



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz