Page 1 of 1

[WinAPI] GetClassName vs. RealGetWindowClass

Posted: 06 Sep 2009, 10:14
by Ovidiu Cucu
Intrebare: In Windows API exista doua functii GetClassName si RealGetWindowClass care aparent fac acelasi lucru: intorc numele clasei freastra. Exista vreo deosebire intre ele?

Raspuns: Da. GetClassName intoarce numele clasei de care apartine fereastra pe cand RealGetWindowClass intoarce efectiv tipul ferestrei (dialog, listbox etc).
Un exemplu poate explica mai bine.

Code: Select all

   TCHAR pszClassName[nMaxCount];
   ::GetClassName(hWnd, pszClassName, nMaxCount);
   ::MessageBox(NULL, pszClassName, _T("Window Class"), MB_OK);

   ::RealGetWindowClass(hWnd, pszClassName, nMaxCount);
   ::MessageBox(NULL, pszClassName, _T("Window Type"), MB_OK);
Pentru dialogului din acest FAQ caruia i s-a schimbat numele clasei, codul de mai sus va afisa "Mama Leone" dupa apelul lui GetClassName si "#32770" (Dialog) dupa apelul lui RealGetWindowClass.
Pentru aplicatia calc.exe (distribuita cu sistemul Windows) se va afisa "SciCalc", respectiv "#32770".


<< Back to Windows API Index