c# winforms - возможно ли использовать глобальную горячую клавишу в нескольких приложениях - PullRequest
0 голосов
/ 18 января 2020

В программе чтения PDF мы переключаемся на следующую страницу с помощью кнопки со стрелкой вправо. В моем собственном приложении winforms я назначил клавишу со стрелкой вправо глобальной горячей клавише, и когда я нажимаю клавишу со стрелкой вправо, она говорит «привет мир» для ознакомительных целей.

В этом случае, когда я открываю программу чтения PDF и нажмите стрелку вправо, он говорит «Привет мир», но он не переключается на следующие страницы. Я хочу, чтобы, когда я нажимал кнопку со стрелкой вправо на устройстве чтения PDF, оба переключались на следующие страницы и говорили «привет мир» из-за глобального назначения горячих клавиш в моем собственном приложении winform.

Когда я искал в Google Я не смог найти статью о такой ситуации. Как мне этого добиться?

1 Ответ

2 голосов
/ 19 января 2020

На примере Джими:

public YourClass()
{
    InitializeComponent();
    //const int id = 0; // The id of the hotkey.
    // For eaxple hot key F5
    RegisterHotKey(Handle, 0, (int)KeyModifier.None, Keys.F5.GetHashCode());
}
protected override void WndProc(ref Message message)
{
    base.WndProc(ref message);
    if (message.Msg == 0x0312)
    {
        var id = message.WParam.ToInt32();
        if (id == 0)
        {
            /*
             * Write a method hee what you want to do.
            */
            // Let the command press the right arraybotton instead.
            SendKeys.SendWait("{RIGHT}");
        }
    }
}
...