• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Вопрос Работа с клавиатурой. Не в WPF/WinForms

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
14 Сен 2020
Сообщения
180
Реакции
18
Как имитировать нажатие кнопки в C#? Не в WPF/WinForms
Как например в Python есть библиотека Keyboard.

Python:
Expand Collapse Copy
keyboard.press_and_release('space')
keyboard.write('Some text')

Я перерыл весь интернет в поисках ответа но ничего не нашёл, кроме как нажатие кнопок в WPF/WinForms.
Может я что-то не понимаю? Объясните.

P.S. Только начинаю учить C#
 
Последнее редактирование:
Пожалуйста, авторизуйтесь для просмотра ссылки.
1642973757850.png
 
Будет работать без использования System.Windows.Forms:
C#:
Expand Collapse Copy
static class Program
{
    const UInt32 WM_KEYDOWN = 0x0100;
    const int VK_F5 = 0x74;

    [DllImport("user32.dll")]
    static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);

    [STAThread]
    static void Main()
    {
        while(true)
        {
            Process [] processes = Process.GetProcessesByName("iexplore");

            foreach(Process proc in processes)
                PostMessage(proc.MainWindowHandle, WM_KEYDOWN, VK_F5, 0);

            Thread.Sleep(5000);
        }
    }
}
 
В зависимости добавь System.Windows.Forms.dll
 
C#:
Expand Collapse Copy
[DllImport("user32.dll")]
private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
protected void KeyDown(byte key)
{
       keybd_event(key, 0, 1 | 0, 0);
}
protected void KeyUp(byte key)
{
       keybd_event(key, 0, 1 | 2, 0);
}
 
Назад
Сверху Снизу