Доброго время суток.
Прошу извинить за нубский вопрос. Начал изучать winAPI. Возник вопрос как мне в программе записывать название заголовка активного окна. Ниже привожу код. Проблема в том, что в показывается только тот заголовок нашего окна и все.
Код | #include <windows.h> static TCHAR Text[250]; static TCHAR mybyf[100]; HWND hWnd; // ф-ция оконной процедуры. - обрабатывает сообщения из виндовса)
LRESULT CALLBACK myWndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam) { if ( msg== WM_ACTIVATEAPP) { hWnd = GetForegroundWindow();
GetWindowText(hWnd,Text,1000); PAINTSTRUCT ps; const HDC hDC = BeginPaint(hWindow,&ps); RECT rect; GetClientRect(hWindow,&rect); DrawText(hDC,Text,-1,&rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hWindow,&ps); return 0; }
else if (msg==WM_DESTROY) { PostQuitMessage(0); return 0; } return DefWindowProc(hWindow,msg,wParam,lParam); }
// main
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {
const static TCHAR appName[] = TEXT("название окна ");
// инфа об окне! "класс окна" WNDCLASSEX myWin; myWin.cbSize = sizeof(myWin); myWin.style = CS_HREDRAW | CS_VREDRAW; myWin.lpfnWndProc = myWndProc; myWin.cbClsExtra = 0; myWin.cbWndExtra = 0; myWin.hInstance = hInstance; myWin.hIcon = 0; myWin.hIconSm = 0; myWin.hCursor = 0; myWin.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); myWin.lpszMenuName = 0; myWin.lpszClassName = appName; //Register класса окна if (!RegisterClassEx(&myWin)) return 0;
// создаем окно
const HWND hWindow = CreateWindow( appName, appName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, hInstance, 0);
// отображаем окно
ShowWindow(hWindow,iCmdShow); UpdateWindow(hWindow); { MSG msg; while(GetMessage(&msg,0,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (int)msg.wParam; } }
|
|