AdvancedLauncher.Tools.Win32.ComCtl32.WindowSubclass.WndProc C# (CSharp) Method

WndProc() private method

private WndProc ( HWND hwnd, WM msg, IntPtr wParam, IntPtr lParam, IntPtr id, IntPtr data ) : IntPtr
hwnd AdvancedLauncher.Tools.Win32.User32.HWND
msg WM
wParam System.IntPtr
lParam System.IntPtr
id System.IntPtr
data System.IntPtr
return System.IntPtr
        private IntPtr WndProc(HWND hwnd, WM msg, IntPtr wParam, IntPtr lParam, IntPtr id, IntPtr data)
        {
            IntPtr retval = IntPtr.Zero;

            try {
                retval = WndProcOverride(hwnd, msg, wParam, lParam, id, data);
            } finally {
                if (_hwnd != HWND.NULL) {
                    Debug.Assert(_hwnd == hwnd);

                    if (msg == WM.NCDESTROY) {
                        Dispose();
                    } else if (msg == _disposeMessage && wParam == _wndprocPtr) {
                        DisposeHelper(lParam == IntPtr.Zero ? false : true);
                    }
                }
            }

            return retval;
        }