Enumerating Window Properties
9/9/2008
Para enumerar todas as propriedades para uma janela, chamar o EnumPropsEx função. EnumPropsEx Passa as entradas propriedade para um função callback Application-defined que você especificar in a lpEnumFunc parâmetro quando você chamar EnumPropsEx. Para obter informações sobre o função callback e uma definição de protótipo de função callback, consulte PropEnumProcEx. PropEnumProcEx é um espaço reservado para o nome função Application-defined.
O seguinte exemplo de código mostra como usar o EnumPropsEx função para lista os identificadores seqüência de caracteres das propriedades janela para a janela identificados pela Application-defined hwndSubclass variável. Essa função depende o aplicativo-definidas WinPropProc função callback para exibir as seqüências de caracteres a área cliente da janela.
EnumPropsEx(hwndSubclass, WinPropProc, NULL);
// WinPropProc is an application-defined callback function
// that lists a window property.
BOOL CALLBACK WinPropProc(
HWND hwndSubclass, // Handle to window with a property
LPCSTR lpszString, // Property string or atom
HANDLE hData, // Data handle
ULONG_PTR dwData) // Application-defined data, set to NULL in this
// example
{
static int nProp = 1; // Property counter
TCHAR tchBuffer[BUFFER]; // Expanded-string buffer
int nSize; // Size of string in buffer
HDC hdc; // Device-context handle
HRESULT hr;
hdc = GetDC(hwndSubclass);
// Display window property string in client area.
hr = StringCchPrintf(tchBuffer, BUFFER, TEXT("WinProp %d: %s"),
nProp++, lpszString);
ExtTextOut(hdc, 10, nProp * 20, 0, NULL, tchBuffer, nSize, NULL);
ReleaseDC(hwndSubclass, hdc);
return TRUE;
}