Как перехватить нажатие клавиши, чтобы перейти от "C" к "Ctrl + C" в .NET? - PullRequest
8 голосов
/ 16 марта 2010

В определенный период времени, когда пользователь нажимает «C», я хочу, чтобы это происходило, когда пользователь нажимает «Ctrl + C». Фактически, при нажатии любой клавиши программа должна добавить Ctrl.

Знаете ли вы, как это сделать .NET?

Я искал для изменения KeyEventArgs.KeyData, но это не может быть установлено.

Ответы [ 2 ]

4 голосов
/ 16 марта 2010

KeyEventArgs.KeyData представляет то, что пользователь фактически нажал.

Вы можете создать новый KeyEventArgs с KeyData, который хотите, и передать его.

0 голосов
/ 16 марта 2010

Используется, если вы хотите отправить ключи:

using System;

namespace System.Windows.Forms
{
    // Summary:
    //     Provides methods for sending keystrokes to an application.
    public class SendKeys
    {
        // Summary:
        //     Processes all the Windows messages currently in the message queue.
        public static void Flush();
        //
        // Summary:
        //     Sends keystrokes to the active application.
        //
        // Parameters:
        //   keys:
        //     The string of keystrokes to send.
        //
        // Exceptions:
        //   System.InvalidOperationException:
        //     There is not an active application to send keystrokes to.
        //
        //   System.ArgumentException:
        //     keys does not represent valid keystrokes
        public static void Send(string keys);
        //
        // Summary:
        //     Sends the given keys to the active application, and then waits for the messages
        //     to be processed.
        //
        // Parameters:
        //   keys:
        //     The string of keystrokes to send.
        public static void SendWait(string keys);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...