AcTools.Windows.Input.KeyboardListener.SubscribeInner C# (CSharp) Метод

SubscribeInner() приватный статический Метод

private static SubscribeInner ( KeyboardListener instance ) : void
instance KeyboardListener
Результат void
        private static void SubscribeInner(KeyboardListener instance) {
            if (Subscribed.Contains(instance)) return;

            Subscribed.Add(instance);
            if (_hookHandle == 0) {
                // ReSharper disable once RedundantDelegateCreation
                _hookProc = new User32.HookProc(KeyboardHookProc);

                // var id = Kernel32.LoadLibrary("User32");
                var id = Kernel32.GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName);
                var result = User32.SetWindowsHookEx(User32.WH_KEYBOARD_LL, _hookProc, id, 0);
                _hookHandle = result;

                AcToolsLogging.Write("Subscribed: " + result);
                if (result == 0) throw new Win32Exception(Marshal.GetLastWin32Error());
            }
        }