Я взял на себя смелость исправить ссылку (и создал и добавил свежую ссылку на archive.org на будущее).

трял.

Прямо сейчас я использую следующий код для прослушивания горячих клавиш:

    [DllImport("user32.dll")]
    public static extern bool RegisterHotKey(IntPtr hWnd,
      int id, int fsModifiers, int vlc);
    [DllImport("user32.dll")]
    public static extern bool UnregisterHotKey(IntPtr hWnd, int id);


    protected override void WndProc(ref Message m)
    {
        if (m.Msg == 0x0312)
        {
            // whatever i need
        }
        base.WndProc(ref m);
    }

и эта функция для регистрации горячей клавиши:

Form1.RegisterHotKey(this.Handle, this.GetType().GetHashCode(), 0, (int)chr);

это работает отлично. у меня вопрос, как мне зарегистрировать несколько горячих клавиш как одну комбинацию, например:

А + В + С + D,ALT + SHIFT + BCTRL + ALT + SHIFT + X

редактировать: я узнал (как сказал Zooba), как «расшифровать», какая горячая клавиша была отправлена, и вот решение:

    protected override void WndProc(ref Message m)
    {
        if (m.Msg == 0x0312)
        {
            Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF);
            ModifierKeys modifier = (ModifierKeys)((int)m.LParam & 0xFFFF);
            if ((modifier + "+" + key == "Alt+S"))
            {
                //do what ever I need.
            }
        }
        base.WndProc(ref m);
    }

Ответы на вопрос(2)

Ваш ответ на вопрос