[WinAPI] GetClassName vs. RealGetWindowClass

Folosire Windows API in programe C/C++ (forum moderat)
Post Reply
User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

[WinAPI] GetClassName vs. RealGetWindowClass

Post by Ovidiu Cucu » 06 Sep 2009, 10:14

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



Post Reply