GetWindow


GetWindow.cpp
#include <windows.h>
#include <stdio.h>
#include <iostream>
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "gdi32.lib")
#define ID_TIMER    1
#define ID_EDIT     41
using namespace std;
  
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HDC         hdc ;
    PAINTSTRUCT ps ;
    RECT        rect ;
    static HWND hwndEdit ;
    HWND hwndOwner;
    TCHAR       szText[400] ;
  
    switch (message)
    {
    case WM_CREATE:
        hwndEdit = CreateWindow (TEXT ("edit"), NULL,
                                 WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL |
                                 WS_BORDER | ES_LEFT | ES_MULTILINE |
                                 ES_AUTOHSCROLL | ES_AUTOVSCROLL,
                                 10, 10, 100, 100, hwnd, (HMENU) ID_EDIT,
                                 ((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
        return 0 ;
  
    case WM_SIZE : 
        MoveWindow (hwndEdit, 0, 0, LOWORD (lParam), HIWORD (lParam), TRUE) ;
        hwndOwner = GetWindow(hwndEdit, GW_OWNER);
        wsprintf(szText, TEXT("Owner window of hwndEdit : %d"), hwnd);
        SetWindowText(hwndEdit, szText);
        
        return 0 ;
          
    case WM_DESTROY:
        PostQuitMessage (0) ;
        return 0 ;
    }
    return DefWindowProc (hwnd, message, wParam, lParam) ;
}
  
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
    static TCHAR szAppName[] = TEXT ("HowSoftWorks") ;
    HWND         hwnd ;
    MSG          msg ;
    WNDCLASS     wndclass ;
  
    wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
    wndclass.lpfnWndProc   = WndProc ;
    wndclass.cbClsExtra    = 0 ;
    wndclass.cbWndExtra    = 0 ;
    wndclass.hInstance     = hInstance ;
    wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION ) ;
    wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
    wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
    wndclass.lpszMenuName  = NULL ;
    wndclass.lpszClassName = szAppName ;
  
    RegisterClass (&wndclass);
    hwnd = CreateWindow (szAppName,                  
                         TEXT ("GetWindow -- www.HowSoftWorks.net"), 
                         WS_OVERLAPPEDWINDOW,        
                         CW_USEDEFAULT,              
                         CW_USEDEFAULT,              
                         600,              
                         400,              
                         NULL,                       
                         NULL,                       
                         hInstance,                  
                         NULL) ;                     
     
    ShowWindow (hwnd, iCmdShow) ;
    UpdateWindow (hwnd) ;
  
    while (GetMessage (&msg, NULL, 0, 0))
    {
        TranslateMessage (&msg) ;
        DispatchMessage (&msg) ;
    }
   
    return msg.wParam ;
}
  
  

  getwindow