Red de conocimiento informático - Problemas con los teléfonos móviles - [VC]Cómo obtener el identificador de la ventana del escritorio (icono del escritorio)

[VC]Cómo obtener el identificador de la ventana del escritorio (icono del escritorio)

La ventana que contiene el icono es en realidad una ventana de palabras de DesktopWindow. Para ser precisos, la ventana del escritorio contiene una subventana sin título llamada "SHELLDLL_DefView", que contiene una subventana sin título llamada "SysListView32"; esta es la ventana que realmente contiene los iconos del escritorio.

// HWND_DESKTOP es el identificador de la ventana del escritorio.

Para manipular los iconos del escritorio, es necesario utilizar las siguientes funciones.

HWND GetDesktopListViewHandle(void){ HWND hResult

hResult=:FindWindow("ProgMan ", NULL);

hResult=:GetWindow(hResult, GW); _ CHILD);

hResult=:: GetWindow(hResult, GW _ CHILD);

Return hResult}

icono de alineación nula (int n ancho recto) //n ancho recto es el tamaño del área ocupada por cada icono. El sistema es 75 { HWND hDesktop

int h, I, j, nDesktopWidth, nDesktopHeightRECT RC; hDesktop = GetDesktopListViewHandle()

* información de parámetros del sistema (SPI_getwork area, 0 amp; rc, 0);

nDesktopWidth = RC . derecha-RC izquierda;

nDesktopHeight = RC inferior-arriba; -justify for(h = 0; hndesktop height){ I = 0; j;}SendMessage(hDesktop,

LVM_set posición del proyecto, h,

MAKELPARAM(nDesktopWidth-( j 1 )* ancho nrect 21, I * ancho nrect 2)); // 21 y 2 se modifican según la posición del sistema.

i;}

Si quieres saber más, ve a MSDN LVM_SETTEXTCOLOR y echa un vistazo. Hay muchas cosas buenas.