pub fn new(
        hwnd: HWND,
        activation_handler: impl 'static + ActivationHandler,
        action_handler: impl 'static + ActionHandler + Send,
    ) -> Self {
        if unsafe { IsWindowVisible(hwnd) }.into() {
            panic!("The AccessKit Windows subclassing adapter must be created before the window is shown (made visible) for the first time.");
        }

        let mut r#impl = SubclassImpl::new(hwnd, activation_handler, action_handler);
        r#impl.install();
        Self(r#impl)
    }
Creates a new Windows platform adapter using window subclassing.
This must be done before the window is shown or focused
for the first time.

This must be called on the thread that owns the window. The activation
handler will always be called on that thread. The action handler
may or may not be called on that thread.

# Panics

Panics if the window is already visible.
platforms/windows/src/subclass.rs