Red de conocimiento informático - Material del sitio web - ¿Cómo obtener los íconos de otros programas en el programa VC?

¿Cómo obtener los íconos de otros programas en el programa VC?

¿Cómo obtener íconos de otros programas en el programa VC? Hay dos métodos:

(1) función SDK SHGetFileInfo o use ExtractIcon para obtener el identificador del recurso de icono,

(2) función SDK SHGetFileInfo para obtener una gran cantidad de información sobre el archivo, como el tamaño del icono, atributos, tipos, etc.

Ejemplo (1): Muestra el icono del Bloc de notas en la esquina superior izquierda de la ventana del programa.

Void CSampleView:OnDraw(CDC * pDC)

{

if(::SHGetFileInfo(_T("c:\pwin95\\notepad.exe" ), 0,

stFileInfo, sizeof( stFileInfo), SHGFI_ICON))

{

pDC -DrawIcon(10, 10, stFileInfo.hIcon);

}

}

Ejemplo(2): Misma función, use la función ExtractIcon

void CSampleView::OnDraw(CDC *pDC)

{

HICON hIcon=::ExtractIcon(AfxGetInstanceHandle(), _T

("NotePad. exe"), 0);

if (hIcon hIcon!=(HICON)-1)

pDC-DrawIcon(10, 10, hIcon);

}

Descripción: Obtener La ruta de Notepad.exe generalmente se obtiene usando la función GetWindowsDirectory. Si llama al pincel en win95, debe usar el método de acceso al registro para obtener su ruta. Si desea crear un programa más complejo, debe considerarlo. siendo más integral.