hwnd 0.0.0-2024-01-05

Well documented, safe-leaning, sound, low-level API bindings to `HWND`-adjacent APIs
Documentation
Documentation of window creation/destruction and it's details.

# Raw Notes


Each WM_* event bellow corresponds to:
1.  Calling and then returning from `WH_CALLWNDPROC`
2.  Calling and then returning from the `WNDPROC`.  Child nodes indicate what the wndproc called before returning.
3.  Calling and then returning from `WH_CALLWNDPROCRET`
*   See SetWindowsHookExW for WH_\*
*   Windows 10.0.19043.1526

### Typical call/event tree of calling create_window_ex_w


```text
create_window_ex_w
    WH_CBT: HCBT_CREATEWND
    WM_GETMINMAXINFO
    WM_NCCREATE
    WM_NCCALCSIZE
    WM_CREATE
```

### Typical call/event tree of clicking `X`


```text
WM_NCLBUTTONDOWN
    WM_CAPTURECHANGED
    WM_SYSCOMMAND
        WM_CLOSE
            WH_CBT: HCBT_DESTROYWND
            WM_UAHDESTROYWINDOW
            WM_WINDOWPOSCHANGING
            WM_WINDOWPOSCHANGED
            WM_NCACTIVATE
            WM_ACTIVATE
            WM_ACTIVATEAPP
            WM_KILLFOCUS
            WM_IME_SETCONTEXT
                WM_IME_NOTIFY
            WM_DESTROY
            WM_NCDESTROY
            IsWindow finally starts to return FALSE
```

### `Alt`+`F4` instead of clicking, with a single recursive destroy inside WM_DESTROY


```diff
-WM_NCLBUTTONDOWN
-   WM_CAPTURECHANGED
    WM_SYSCOMMAND
        WM_CLOSE
            WH_CBT: HCBT_DESTROYWND
            WM_UAHDESTROYWINDOW
            WM_WINDOWPOSCHANGING
            WM_WINDOWPOSCHANGED
            WM_NCACTIVATE
            WM_ACTIVATE
            WM_ACTIVATEAPP
            WM_KILLFOCUS
            WM_IME_SETCONTEXT
                WM_IME_NOTIFY
            WM_DESTROY
+               WH_CBT: HCBT_DESTROYWND
+               WM_UAHDESTROYWINDOW
+               WM_DESTROY
+               WM_NCDESTROY
+               IsWindow finally starts to return FALSE
            WM_NCDESTROY
-           IsWindow finally starts to return FALSE
```