Как имитировать нажатия аппаратной клавиатурыC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как имитировать нажатия аппаратной клавиатуры

Сообщение Anonymous »

Я пытаюсь отправить клавишу со стрелкой вниз в диспетчере задач, но она не работает. Кстати, я пишу на C#. Есть ли способ сделать это на моем языке? Я пробовал много разных методов моделирования клавиатуры, например keybd_event.
Стрелка вниз работает так же, как когда я нажимаю ее на клавиатуре.
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;

class Program
{
// Importing keybd_event from user32.dll
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);

[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr SetForegroundWindow(IntPtr hWnd);

// Virtual key codes
const byte VK_CONTROL = 0x11;
const byte VK_SHIFT = 0x10;
const byte VK_ESCAPE = 0x1B;

// Key event flags
const uint KEYEVENTF_KEYDOWN = 0x0000;
const uint KEYEVENTF_KEYUP = 0x0002;

static void Main()
{
// Open Task Manager
OpenTaskManager();
}

static void OpenTaskManager()
{

keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYDOWN, 0); // push
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYDOWN, 0);
keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYDOWN, 0);

keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0); // release
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... rd-presses
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»